五月天青色头像情侣网名,国产亚洲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)遵守國家法律
双鸭山市| 平泉县| 平安县| 富川| 洛阳市| 屏东市| 永泰县| 博客| 喀喇沁旗| 博爱县| 常德市| 宜良县| 墨竹工卡县| 定兴县| 绍兴县| 芦溪县| 海阳市| 陆河县| 绥宁县| 清镇市| 甘谷县| 青铜峡市| 邵阳市| 惠东县| 施甸县| 美姑县| 芦山县| 广南县| 清镇市| 黄平县| 万源市| 岳阳县| 宜州市| 凤阳县| 山西省| 松桃| 靖江市| 读书| 岚皋县| 重庆市| 旌德县|