您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P如何用K8S源碼分析Pod內(nèi)部構造,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Pod是K8S調(diào)度的基本單位,一個Pod中包含了一個Pause容器(根容器)和多個用戶容器。Pause容器的狀態(tài)代表了Pod的狀態(tài),同一個Pod中的容器共享相同的ip和數(shù)據(jù)卷。
因此,Pod的創(chuàng)建首先要構建一個Sandbox,包含pause容器并初始化網(wǎng)絡/數(shù)據(jù)卷等一系列資源。
創(chuàng)建一個Pod首先必須要構建一個Sandbox,創(chuàng)建流程如下:
createPodSandbox是創(chuàng)建的入口方法,包含兩個步驟:
generatePodSandboxConfig - 構造sandbox的config,當中涉及到通過Kubelet生成sandbox的cgroupParent
RunPodSandBox - 通過Docker Service(dockershim)來創(chuàng)建sandbox的container并啟動。包含四個主要步驟:1. pull image; 2. create container; 3. start container; 4. init network
經(jīng)過以上兩個步驟,pod所需的sandbox就運行起來了,同時初始化好了網(wǎng)絡/數(shù)據(jù)卷等資源。
建立了運行的SandBox之后,就可以創(chuàng)建用戶Container,并加入到Pod中。主要流程如下:
主要包含三個步驟:
EnsureImageExists - 拉取鏡像
CreateContainer - 通過CRI & dockershim創(chuàng)建容器實例
StartContainer - 運行實例
上述就是小編為大家分享的如何用K8S源碼分析Pod內(nèi)部構造了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。