Kubernetes是Google的開源項目中容器叢集架構管理系統,也可以簡稱為k8s(字不用打多,找資料好找)。Kubernetes提供了應用部署、輕量級、維護、擴展機制等功能,這些功能在之後會在說明如何使用。之所以Kubernetes是因為它就是為了Docker所出來的,它主要是在管理Docker的存在。
Kubernetes的優點:
Kubernetes的架構
圖片擷取自
etcd:用來存放所有Cluster的當前設定和運行狀態。當Master故障時,會通過這些資料去還原。
kube-apiserver:提供了资源操作的部分,也是唯一的入口,我們使用的指令部分便是從這個元件開始溝通其他元件(kubectl就是從這裡開始)。
kube-controller-manager:負責維護Cluster的狀態。
kube-scheduler:負責資源的分配、調度,將Pod分配到目前的機器上。
cloud controller manager:負責將Cluster與Cloud的API連結部分,並將與該Cloud溝通的部分與僅與Cluster溝通的部分分開。
kubelet:負責管理容器、Volumes和CNI等等容器相關的作業,其操作方式是由master命令操作。
kube-proxy:每一個node中運行的網路代理,實現Service的部分,也就是負責服務探索和負載平衡的工作。
關於Pod和Service的部分我們將會之後再做介紹和範例。