1. 程式人生 > >k8s進階學習3:創建pod流程圖示

k8s進階學習3:創建pod流程圖示

node 自己 進階學習 replica etc 自己的 dep color 過濾

技術分享圖片

1.kubectl提交創建pod命令,api響應命令,通過一系列認證授權,把pod數據存儲到etcd,創建deployment資源並初始化. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

2.controller通過list-watch機制,監測發現新的deployment,將該資源加入到內部工作隊列,發現該資源沒有關聯的pod和replicaset,啟用deployment controller創建replicaset資源,再啟用replicaset controller創建pod.

3.所有controller正常後.將deployment,replicaset,pod資源更新存儲到etcd. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

4.scheduler通過list-watch機制,監測發現新的pod,經過主機過濾主機打分規則,將pod綁定(binding)到合適的主機.

5.將綁定結果存儲到etcd. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
6.kubelet每隔 20s(可以自定義)向kube-apiserver通過NodeName 獲取自身Node上所要運行的pod清單.通過與自己的內部緩存進行比較,新增加pod.

7.啟動pod啟動容器.

8.把本節點的容器信息pod信息同步到etcd.

k8s進階學習3:創建pod流程圖示