Pod详解-生命周期-创建和终止
pod的創(chuàng)建過(guò)程
?
用戶通過(guò)kubectl或其他api客戶端提交需要?jiǎng)?chuàng)建的pod信息給apiServer
apiServer開(kāi)始生成pod對(duì)象的信息,并將信息存入etcd,然后返回確認(rèn)信息至客戶端
apiServer開(kāi)始反映etcd中的pod對(duì)象的變化,其它組件使用watch機(jī)制來(lái)跟蹤檢查apiServer上的變動(dòng)
scheduler發(fā)現(xiàn)有新的pod對(duì)象要?jiǎng)?chuàng)建,開(kāi)始為Pod分配主機(jī)并將結(jié)果信息更新至apiServer
node節(jié)點(diǎn)上的kubelet發(fā)現(xiàn)有pod調(diào)度過(guò)來(lái),嘗試調(diào)用docker啟動(dòng)容器,并將結(jié)果回送至apiServer
apiServer將接收到的pod狀態(tài)信息存入etcd中
pod的終止過(guò)程
用戶向apiServer發(fā)送刪除pod對(duì)象的命令
apiServcer中的pod對(duì)象信息會(huì)隨著時(shí)間的推移而更新,在寬限期內(nèi)(默認(rèn)30s),pod被視為dead
將pod標(biāo)記為terminating狀態(tài)
kubelet在監(jiān)控到pod對(duì)象轉(zhuǎn)為terminating狀態(tài)的同時(shí)啟動(dòng)pod關(guān)閉過(guò)程
端點(diǎn)控制器監(jiān)控到pod對(duì)象的關(guān)閉行為時(shí)將其從所有匹配到此端點(diǎn)的service資源的端點(diǎn)列表中移除
如果當(dāng)前pod對(duì)象定義了preStop鉤子處理器,則在其標(biāo)記為terminating后即會(huì)以同步的方式啟動(dòng)執(zhí)行
pod對(duì)象中的容器進(jìn)程收到停止信號(hào)
寬限期結(jié)束后,若pod中還存在仍在運(yùn)行的進(jìn)程,那么pod對(duì)象會(huì)收到立即終止的信號(hào)
kubelet請(qǐng)求apiServer將此pod資源的寬限期設(shè)置為0從而完成刪除操作,此時(shí)pod對(duì)于用戶已不可見(jiàn)
總結(jié)
以上是生活随笔為你收集整理的Pod详解-生命周期-创建和终止的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Pod详解-生命周期-概述
- 下一篇: Pod详解-生命周期-钩子函数