Kubernetes主要由以下幾個核心組件組成:
1. etcd:提供數(shù)據(jù)庫服務保存了整個集群的狀態(tài)
2. kube-apiserver:提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API注冊和發(fā)現(xiàn)等機制
3. kube-controller-manager:負責維護集群的狀態(tài),比如故障檢測、自動擴展、滾動更新等
4. cloud-controller-manager:是與底層云計算服務商交互的控制器
5. kub-scheduler:負責資源的調(diào)度,按照預定的調(diào)度策略將Pod調(diào)度到相應的機器上
6. kubelet:負責維護容器的生命周期,同時也負責Volume(CVI)和網(wǎng)絡(CNI)的管理;
7. kube-proxy:負責為Service提供內(nèi)部的服務發(fā)現(xiàn)和負載均衡,并維護網(wǎng)絡規(guī)則
8. container-runtime:是負責管理運行容器的軟件,比如docker
除了核心組件,還有一些推薦的Add-ons:
1. kube-dns負責為整個集群提供DNS服務
2. Ingress Controller為服務提供外網(wǎng)入口
3. Heapster提供資源監(jiān)控
4. Dashboard提供GUI
5. Federation提供跨可用區(qū)的集群
6. Fluentd-elasticsearch提供集群日志采集、存儲與查詢