五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

深究Containerd源碼-6-RuntimeV2Task Create流程分析

2022-12-02 17:50 作者:黑暗光影DIY  | 我要投稿

代碼基于v1.7.0-beta.0-89-g344da9edb?

繼續(xù)接上一章深究Containerd源碼-5-TaskService Create流程分析分析,分析RuntimeV2Task?Create流程

首先看RuntimeV2 Task Plugin類圖,TaskManager是其主對(duì)象,實(shí)現(xiàn)了PlatformRuntime接口,主要關(guān)聯(lián)為ShimManager對(duì)象,ShimManager管理containerd所有創(chuàng)建的shim進(jìn)程,通過shims NSMap[T]對(duì)象記錄,binary通過Cmd創(chuàng)建shim進(jìn)程,shim對(duì)應(yīng)次進(jìn)程的管理數(shù)據(jù),最終封裝成shimTask返回給containerd.Client調(diào)用,shimTask實(shí)現(xiàn)TaskService RPC Client方法,可與shim進(jìn)程進(jìn)程交互。containerStore sandboxStore和Exchange是Metadata和Event Plugin的南向調(diào)用接口。

Plugin依賴關(guān)系如下示意

再看TaskManager .Create主流程,首先調(diào)用ShimManager.Start啟動(dòng)shim進(jìn)程,然后通過shimTask.Create RPC調(diào)用shim進(jìn)程進(jìn)程Create,完成容器的創(chuàng)建。

ShimManager.Start中NewBundle函數(shù)會(huì)在主機(jī)上創(chuàng)建$state/$ns/$id,kubelet CRI調(diào)用時(shí)目錄為/var/run/containerd/io.containerd.runtime.v2.task/k8s.io/,ns 默認(rèn)是k8s.io,并非Linux的namespace,id為容器ID,例如

構(gòu)建work目標(biāo)指向 $root/$ns/$id,跟進(jìn)容器的spec生成config.json,完成NewBundle調(diào)用。

接著ShimManager根據(jù)是否Sandbox分成兩個(gè)邏輯,先看Sandbox情況,關(guān)鍵調(diào)用ShimManager.startShim生成shim進(jìn)程。

首先調(diào)用resovleRuntimePath根據(jù)runtime名稱,找到shim的binary

例如runc的shim為containerd-shim-runc-v2。后續(xù)containerd-shim-runc-v2下章繼續(xù)分析。


開源的東西,不需要說明出處,就說你自己寫的

深究Containerd源碼-6-RuntimeV2Task Create流程分析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
边坝县| 北海市| 监利县| 淄博市| 瓦房店市| 金川县| 锦州市| 博白县| 阿图什市| 资中县| 崇明县| 灵山县| 康定县| 桃园市| 蓝田县| 仪陇县| 杭锦后旗| 南阳市| 乐清市| 双城市| 临漳县| 德兴市| 顺义区| 通州区| 保定市| 会同县| 江华| 神农架林区| 宿州市| 海城市| 体育| 开鲁县| 永济市| 剑川县| 凌云县| 四川省| 松滋市| 张北县| 阿荣旗| 扶余县| 东平县|