這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何實(shí)現(xiàn)Pod的創(chuàng)建和管理,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站是一家專(zhuān)注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),貢井網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:貢井等地區(qū)。貢井做網(wǎng)站價(jià)格咨詢(xún):18980820575
Pod同步流程是kubelet進(jìn)程的核心主流程,下面將分析該主流程中最關(guān)鍵的部分--Pod的創(chuàng)建和管理。這部分邏輯封裝在kubeGenericRuntimeManager.SyncPod(kuberuntime_manager.go)方法中,主要執(zhí)行以下步驟:
根據(jù)從API Server獲得的Pod Spec以及當(dāng)前Pod的Status計(jì)算所需要執(zhí)行的Actions
在需要情況下Kill掉當(dāng)前Pod
根據(jù)需要(如重啟)kill掉pod內(nèi)的containers
根據(jù)需要?jiǎng)?chuàng)建Pod的sandbox container
啟動(dòng)下一個(gè)init container
啟動(dòng)Pod內(nèi)的containers
其中比較復(fù)雜的步驟解釋如下:
對(duì)比spec和status,計(jì)算出要達(dá)到預(yù)期狀態(tài)所需的actions:
|
該方法是pod管理的關(guān)鍵,實(shí)現(xiàn)了本文開(kāi)頭講的六個(gè)步驟:
|
SyncPod中需要特別注意的是:在init containers啟動(dòng)過(guò)程中,SyncPod每次只會(huì)運(yùn)行一個(gè)init container(next),之后就返回了。
上述就是小編為大家分享的如何實(shí)現(xiàn)Pod的創(chuàng)建和管理了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。