最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
诏安县| 台东市| 文成县| 淳安县| 石景山区| 荣昌县| 石楼县| 山阳县| 门头沟区| 封丘县| 华蓥市| 霍州市| 十堰市| 泸州市| 克东县| 马龙县| 红河县| 鹤山市| 安龙县| 堆龙德庆县| 若羌县| 凤凰县| 荆州市| 富裕县| 黄浦区| 南部县| 上犹县| 安新县| 铁岭市| 高邮市| 塔河县| 蒙城县| 科尔| 黑龙江省| 光山县| 黄山市| 水富县| 泽州县| 徐州市| 怀远县| 无锡市|