前面講完了 Docker 之後,有沒有發現我們都是在本機上面跑的,接著就要來跑在不同的機器上啦,因此這篇開始就要來介紹更加強大的 Kubernetes 啦。
不知道各位有沒有疑惑,為什麼前面都是 Docker(公司) 開發的 Docker(軟體) 相關的東西,這篇開始突然變成 Google 開發的 Kubernetes 了呢?是 Docker(公司) 沒有推出類似的東西嗎?
不是的, Docker(公司) 有推出可以在不同機器上管理並運行的軟體,叫做 Docker-Swarm ,優點也不少,例如可以與 Docker 的其他產品無縫配合,也相對來說較簡單輕巧等等。但是, Kubernetes 相對來說較流行,且更加強大,更重要的是社群較豐富且活躍,因此就不介紹 Docker-Swarm ,改為介紹 Kubernetes 啦。
前面講到我們是要在多個節點(機器)上面跑的,因此最基本的服務要能夠部署在各個節點上吧,再來就是要能夠將流量導到我們的服務上,以及我們的服務要儲存及設定等等的需求, Kubernetes 都能夠幫我們處裡,介紹到這邊不知道各位有沒有概念了呢?
用一句話介紹的話就是 Kubernetes 是一種可用來自動化部屬、擴展及管理多個容器(Container)以及管理資源或權限分配的狀況的系統。
而 Kubernetes 有一個重要的概念是有 Control Plane 跟 Worker Node 的差別, Control Plane 就是我們會對它下指令的地方,而主管(Control Plane)會自動調度底下的工人(Worker)去做事情,而工人(Worker)需要先從主管(Control Plane)那邊拿到 Offer (註冊) 才可以被主管分配任務。
那麼就先到這邊,明天會開始正式介紹 Kubernetes 如何使用。
大家掰~掰~