1. Master Node
Kubernetes 運作的指揮中心,簡單來說就是負責管理其他Node的Node。一個 Master Node(簡稱 Master)中包含了下面這些:
kube-apiserver:管理整個Kubernetes所需API的接口(Endpoint),Kubernetes其他組件可以通過它管理Cluster的各種資源。
etcd:負責保存Kubernetes Cluster的配置信息和各種資源的狀態信息
kube-scheduler: Kubernetes的Pods調度員,會根據每個Node上面資源規定、硬體限制等條件去協調出一個最適合放置的Node讓該Pod執行
kube-controller-manager:負責管理Cluster各種資源,保證資源處於預期的狀態。 Controller Manager由多種controller組成,包括replication controller、endpoints controller、namespace controller、serviceaccounts controller等
2. Worker Node
Kubernetes 運作的最小硬體單位,一個 Worker Node(簡稱 Node)對應到一台機器,可以是你的筆電、主機或是虛擬機。Node上運行的Kubernetes組件有kubelet、kube-proxy和Pod網路。
kubelet:當Scheduler確定在某個Node上運行Pod後,會將Pod的具體配置信息(image、volume等)發送給該Node的kubelet,而kubelet根據這些信息建立和執行容器,並向Master報告狀態。
kube-proxy:負責Kubernetes Service的通信與負載平衡的重要組件
3. Pod
Kubernetes 運作的最小單位,一個 Pod 對應到一個應用服務(Application)。