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