跳到主內容

k8s核心組件

image-1737708797625.png

 


3. k8s 集群架構組件

  • Master(主控節點)和 Node(工作節點)

(1) Master 組件

  • apiserver
    集群統一入口,以 RESTful 方式,交給 etcd 存儲
scheduler
節點調度,選擇 Node 節點應用部署 controller-manager
處理集群中常規的後台任務,一個資源對應一個控制器 etcd
存儲系統,用於保存集群相關的數據

(2) Node 組件

  • kubelet

    • Master 排到 Node 節點代表,管理本機容器。

kube-proxy

  • 提供網絡代理,負載均衡等操作。

 


K8S 核心概念

  1. Pod

    • 最小部署單元
  2. 一組容器的集合
共享網絡 生命週期是短暫的

Controller

  • 確保預期的 Pod 副本數量
無狀態應用部署 有狀態應用部署 確保所有的 Node 運行同一個 Pod 一次性任務和定時任務

Service

  • 定義一組 Pod 的訪問規則

如有其他需求,請隨時告訴我!

image-1737708872912.png

kubectl run podtest --image=nginx


1. kubectl向apiserver發送一個創建pod的請求,apiserver會將數據放到etcd存儲。

2. Scheduler通過list-watch的方式,收到未綁定pod資源,通過自身調度算法選擇一個合適的node進行綁定,然後響應給apiserver,把信息更新到etcd中。

3. Kubelet同樣通過list-watch的方式,收到分配到自己節點上pod,調用docker api創建容器,然後將容器狀態響應給apiserver,同時,把容器的信息、事件及狀態也通過apiserver寫入到etcd中。