k8s創(chuàng)建啟動(dòng)、刪除pod的實(shí)現(xiàn)過程
Pod 是 Kubernetes 集群中能夠被創(chuàng)建和管理的最小部署單元,pod中可能部署一個(gè)或者多個(gè)容器,這些容器能夠共享網(wǎng)絡(luò)、存儲(chǔ)以及 CPU、內(nèi)存等資源
1.k8s創(chuàng)建pod的過程

1).kubectl將創(chuàng)建pod的yml文件提交到master節(jié)點(diǎn)中的api server后,api server將yml數(shù)據(jù)存入etcd(類似數(shù)據(jù)庫)
2).master節(jié)點(diǎn)中的schedule通過list watch監(jiān)聽到etcd中有創(chuàng)建pod的請(qǐng)求后,查看到請(qǐng)求創(chuàng)建的pod,schedule尋找空閑的node,并且將pod綁定導(dǎo)此node中,然后apiserver會(huì)將此結(jié)果寫入etcd
3).當(dāng)此node中的kubelet監(jiān)聽到有pod綁定過來,然后kubelet就開始通過docker創(chuàng)建啟動(dòng)容器,docker把創(chuàng)建的結(jié)果反饋給kubelet,最后api server將創(chuàng)建結(jié)果寫入etcd
4).通過kubectl get pod,獲取pod,注意:pod一旦綁定到一個(gè)節(jié)點(diǎn),pod將永遠(yuǎn)不會(huì)重新綁定到另一個(gè)節(jié)點(diǎn)
2.k8s刪除pod的過程
1).用戶發(fā)出刪除pod命令,此時(shí)pod被視為死亡狀態(tài),將pod標(biāo)記為“Terminating”狀態(tài)(這時(shí)候pod會(huì)有一個(gè)寬限時(shí)間30秒)
2).kubelet監(jiān)控到pod對(duì)象為“Terminating”狀態(tài)的同時(shí)啟動(dòng)pod關(guān)閉過程
3).endpoints控制器監(jiān)控到pod對(duì)象關(guān)閉,將pod與service匹配的endpoints列表中刪除,pod內(nèi)對(duì)象的容器收到TERM信號(hào)
4).當(dāng)一切準(zhǔn)備完畢后,kubelet請(qǐng)求api server 將此pod資源寬限期設(shè)置為0從而完成刪除操作
3.pod的狀態(tài)status
1)Pending掛起:pod沒有調(diào)度到節(jié)點(diǎn)上,可能還在下載鏡像,容器還未啟動(dòng)
2).Running運(yùn)行中:pod已經(jīng)綁定到一個(gè)node上,pod中的容器已經(jīng)創(chuàng)建,有一個(gè)或者個(gè)容器已經(jīng)運(yùn)行
3).Succeeded成功:Pod中所有的容器都被成功終止,并且不會(huì)被重啟。
4).Failed失敗:Pod中的所有容器都已經(jīng)終止了,并且至少有一個(gè)容器是因?yàn)槭〗K止。也就是說,容器以非0狀態(tài)退出或者被系統(tǒng)終止
5).Unknown未知:因?yàn)槟承┰驘o法取得Pod狀態(tài),通常是因?yàn)榕cPod所在node失去通信造成失聯(lián)。
4.總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Kubernetes 中容器跨主機(jī)網(wǎng)絡(luò)
這篇文章主要為大家介紹了Kubernetes中容器跨主機(jī)網(wǎng)絡(luò)是怎么樣的,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu)
這篇文章主要為大家介紹了詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
帶你學(xué)會(huì)k8s?更高級(jí)的對(duì)象Deployment
這篇文章主要為大家介紹了k8s還有更高級(jí)的"對(duì)象"Deployment使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解
這篇文章主要為大家介紹了Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

