Kubernetes系統架構及組件功能 筆記

Kubernetes系統架構及組件功能

Kubernetes集羣包含有節點代理kubelet和Master組件(APIs, scheduler, etc),一切都基於分佈式的存儲系統。

Kubernetes節點有運行應用容器必備的服務,而這些都是受Master的控制。

每次個節點上當然都要運行Docker。Docker來負責所有具體的映像下載和容器運行

Kubernetes主要由以下幾個核心組件組成:

  • etcd保存了整個集羣的狀態;
  • Kube-apiserver:Kubernetes API,集羣的統一入口,以HTTP API提供接口服務,所有對象資源的增刪改查和監控操作都交給APIServer處理後再提交給Etcd存儲。官網介紹apiserver提供了資源操作的唯一入口,並提供認證、授權、訪問控制、API註冊和發現等機制;
  • Kube-controller manager處理集羣中常規後臺任務,一個資源對應一個控制器,而Controller manager就是負責管理這些控制器的。官網介紹controller manager負責維護集羣的狀態,比如故障檢測、自動擴展、滾動更新等;
  • Kube-scheduler:根據調度算法爲新創建的Pod選擇一個Node節點。官網介紹是負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上;
  • kubelet:是Master在Node節點上的Agent,管理本機運行容器的生命週期,比如創建容器、Pod掛載數據卷、下載secret,獲取容器和節點狀態等工作。kubelet將每個pod轉換成一組容器。官網介紹:負責維護容器的生命週期,同時也負責Volume(CVI)和網絡(CNI)的管理;
  • Container runtime負責鏡像管理以及Pod和容器的真正運行(CRI);
  • kube-proxy:在Node節點上實現Pod網絡代理,維護網絡規則和四層負載均衡工做。官網介紹:負責爲Service提供cluster內部的服務發現和負載均衡,維護網絡規則;
  • docker或rocket/rkt:運行容器。

第三方服務

  • etcd:分佈式鍵值存儲系統,用於保持集羣狀態,比如Pod、Service等對象信息。

除了核心組件,還有一些Add-ons:

  • kube-dns負責爲整個集羣提供DNS服務
  • Ingress Controller爲服務提供外網入口
  • Heapster提供資源監控
  • Dashboard提供GUI
  • Federation提供跨可用區的集羣
  • Fluentd-elasticsearch提供集羣日誌採集、存儲與查詢

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章