日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kubelet创建容器的步骤

發布時間:2025/3/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kubelet创建容器的步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、Kubelet 通過 CRI 接口(gRPC)調用 dockershim,請求創建一個容器。CRI 即容器運行時接口,目前 dockershim 的代碼其實是內嵌在 Kubelet 中的,所以接收調用的也是 Kubelet 進程;

2、dockershim收到請求后,轉化成 Docker Daemon 能聽懂的請求,并發送給?Docker Daemon 請求創建一個容器;

3、Docker Daemon 早在 1.12 版本中就已經將針對容器的操作移到另一個守護進程containerd 中了,因此 Docker Daemon 仍然不能幫我們創建容器,而是去請求 containerd 創建一個容器;

4、containerd 收到請求后,并不會自己去操作容器,而是創建containerd-shim進程,讓containerd-shim去操作容器。這是因為容器進程需要一個父進程來做諸如收集狀態,維持stdin等fd打開等工作。而這個父進程一般就是 containerd,那每次containerd掛掉或升級,整個宿主機上所有的容器都得退出了,因此引入了containerd-shim就規避了這個問題;

5、我們知道創建容器需要進行設置 namespaces 和 cgroups,掛載 root filesystem等操作,而這些事該怎么做已經有了公開的規范了,那就是開放容器標準OCI,OCI的一個參考實現就是?runC。于是containerd-shim 需要調用 runC 這個命令行工具,來進行設置 namespaces 和 cgroups,掛載 root filesystem等操作進而啟動容器;

6、runC 啟動完容器后本身會直接退出,containerd-shim 則會成為容器進程的父進程,負責收集容器進程的狀態,上報給containerd,并在容器中pid為1的進程退出后對容器中的子進程進行清理,確保不會出現僵尸進程。

備注:shim墊片其實就是適配器Adapter,用于將各種容器運行時本身的接口適配到 Kubernetes 的 CRI 接口上。

?

總結

以上是生活随笔為你收集整理的kubelet创建容器的步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。