摘要:器運行時是執行容器并在節點上管理容器鏡像的軟件,目前,最廣為人知的容器運行時是,但在生態系統中還有其他容器運行時軟件,比如和。從理論上說,可以使用任何實現的容器運行時管理容器和容器鏡像。積極解決用戶報告的任何測試失敗和其他問題。
器運行時是執行容器并在節點上管理容器鏡像的軟件,目前,最廣為人知的容器運行時是Docker,但在生態系統中還有其他容器運行時軟件,比如Rkt、Containerd和Lxd。Docker是現在于Kubernetes環境中使用的最常見的容器運行時,今天數人云給大家推薦一個Docker的組件——Containerd,它可能是更好的選擇。
本文是由谷歌的軟件工程師Lantao Liu和IBM的開源開發者Mike Brown基于自身相關實踐,共同編寫。
Kubernetes 1.5引入了一個名為容器運行時接口(CRI)的內部插件API,以方便地訪問不同的容器運行時,CRI允許Kubernetes使用各種容器運行時,而不需要重新編譯。從理論上說,Kubernetes可以使用任何實現CRI的容器運行時管理容器和容器鏡像。
在過去的6個月中,來自Google、Docker、IBM、中興和ZJU的工程師們一直在努力為CRI For Containerd,這個項目被稱為cri-containerd,用戶可以使用容器作為底層運行時運行Kubernetes集群,并且無需安裝Docker。
ContainerdContainerd是一個兼容OCI的核心容器運行時,它被設計為嵌入到更大的系統當中,提供了在一個節點上執行容器和管理鏡像的最小功能集,它是由Docker公司發起,并于2017年3月加入了CNCF,Docker引擎本身是建立在早期版本的容器之上,并且很快將更新到最新版本。
與Docker相比,Containerd的規模要小得多,提供了Golang客戶端API,而且更專注于可嵌入,較小范圍會導致一個更小的代碼庫,隨著時間的推移,其更容器維護以及匹配Kubernetes的需求,如下圖所示:
綜上所述,從技術的角度來看,Containerd是Kubernetes的容器進行時比較好的選擇。
Cri-ContainerdCri-Containerd是對于容器的一個實現,它在與Kubelet和 Containerd相同的節點上運行,在Kuberntes和Containerd之間的分層中,Cri-Containerd處理來自Kubelet的所有國際服務請求,并使用Containerd管理容器和容器鏡像,Cri-Containerd管理這些服務請求,在一定程度上是通過形成Containerd服務請求,同時添加足夠的附加功能來去支持CRI需求。
與當前的Docker CRI實現(Dockershim)相比,Cri-Containerd消除了棧中的額外跳轉,使堆棧更加穩定和高效。
體系結構可以通過下面這個例子來演示當Kubele創建一個單一容器的時候,如何使用Cri-Containerd。
Kubelet通過國際運行時服務API調用了Cri-Containerd,用以創建一個Pod;
Cri-Containerd使用Containerd創建和啟動一個特殊的暫停容器(沙箱容器),并將該容器放在Pod的Cgroups和名稱空間中;
Containerd使用CNI配置了Pod的網絡名稱空間;
Kubelet隨后通過國際服務API調用了“容器”,以拉出應用程序的容器的鏡像;
如果鏡像不存在于節點,則Cri-Containerd將進一步使用Containerd來拉出鏡像;
然后,Kubelet通過“CRI”服務API調了“Cri-Containerd”通過拉取容器的鏡像來創建和啟動應用程序容器;
Cri-Containerd最終調用Containerd來創建應用程序容器,將其放入Pod的Cgroups和命名空間中,然后啟動該容器的新應用程序容器。
在這些步驟之后,將創建并運行一個Pod及其相應的應用程序容器。
現階段狀態Cri-Containerd V1.0.0-alpha.0是在2017年9月25日發布的。
其功能完備,所有的Kubernetes的特性都得到了支持。
所有的CRI validation test(CRI validation test是一種測試框架,用于驗證是否符合Kubernetes的所有要求。地址:https://github.com/kubernetes...)
所有的 Node e2e Test都已通過(用于測試Kubernetes節點級功能的測試框架如Managing Pods、Mounting Volumes等,地址:https://github.com/kubernetes...)。
若想了解更多關于V1.0-Alpha的相關內容,請前往:https://github.com/kubernetes...
延伸閱讀對于一個多節點集群安裝程序,并使用能應用和Kubeadm啟動步驟請參見:https://github.com/kubernetes...
若想在Google云端從頭創建一個集群,請參見:https://github.com/kelseyhigh...
對于一個自發布Tarball的自定義安裝,請參見:https://github.com/kubernetes...
對于在本地VM上安裝LinuxKit,請參見:https://github.com/linuxkit/l...
下一階段Containerd承諾,在下一階段將主要改進穩定性和可用性方面的問題:
穩定性:
在Kubernetes的測試基礎設施上建立一套完整的Kubernetes集成測試,包括Ubuntu、COS(容器化的OS 地址:https://cloud.google.com/cont...)等等。
積極解決用戶報告的任何測試失敗和其他問題。
可用性:
提高Crictl(https://github.com/kubernetes...)的用戶體驗,Crictl是所有的CRI容器運行時的可移植命令行工具,這里的目標是使其易于用于調試和開發場景。
集成Kube-up.sh(https://kubernetes.io/docs/ge...)幫助用戶使用Cri-Containerd來提高Kubernetes集群的生產質量。
改進文檔。
預計在2017年底發布V1.0-Beta。
提供建議Cri-Containerd是一個Kubernetes的孵化器項目,地址:ttps://github.com/kubernetes-incubator/cri-containerd。歡迎提供任何具有建設性的意見和建議,具體的使用入門指南請參見:https://github.com/kubernetes...
社區Cri-Containerd是由Kubernetes Signode社區開發和維護的,如有相關的建議,可以加入社區:
Sig-Node社區網站:https://github.com/kubernetes...
Slack:Kubernetes(kubernet.slack.com)的sig-節點通道:https://kubernetes.slack.com/
原文作者:Kubernetes
原文鏈接:http://blog.kubernetes.io/201...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27098.html
摘要:正在走遠,新年之初,小數精選過去一年閱讀量居高的技術干貨,從容器到微服務云原生,匯集成篇精華集錦,充分反映了這一年的技術熱點走向。此文值得收藏,方便隨時搜索和查看。,小數將繼續陪伴大家,為朋友們奉獻更有逼格的技術內容。 2017正在走遠,新年之初,小數精選過去一年閱讀量居高的技術干貨,從容器、K8S 到微服務、云原生、Service Mesh,匯集成52篇精華集錦,充分反映了這一年的技...
摘要:在這一假設之下,是一個新奇的觀點編排才是容器生態的中心,而引擎就我們所知,只是一個開發工具。是特有的概念,但容器生態系統必須采用這個概念。 showImg(https://segmentfault.com/img/remote/1460000007157260?w=640&h=480); 開源項目 CRI-O ,其前身為 OCID ,官方簡介是 OCI-based implementa...
摘要:在被納入后,與之爭日趨白熱化。一如微軟曾經試圖通過在中安裝來排擠,現在正在嘗試將融入到,以此來打擊,,和。如同微軟確確實實提升了的性能。瀏覽器突出了微軟的優勢,所以他們在年內都沒有繼續開發了。 在 Swarm 被納入 Docker 1.12后,Swarm 與 K8S 之爭日趨白熱化。本文作者 Adriaan de Jonge 身為 Xebia CTO ,專精 DevOps 及持續交付,...
摘要:為什么在節點直接起容器網絡不通為什么在節點直接起容器網絡不通為什么在節點直接起容器網絡不通使用自己的插件,而直接用起的容器并不能使用該插件,因此網絡不通。 UK8S 集群常見問題本篇目錄1. UK8S 完全兼容原生 Kubernetes API嗎?2. UK8S 人工支持3. UK8S對Node上發布的容器有限制嗎?如何修改?4. 為什么我的容器一起來就退出了?5. Docker 如何調整日...
閱讀 1122·2021-11-16 11:42
閱讀 2903·2021-10-12 10:18
閱讀 2859·2021-09-24 09:48
閱讀 3464·2019-08-30 15:56
閱讀 1525·2019-08-30 14:17
閱讀 3046·2019-08-29 12:14
閱讀 909·2019-08-27 10:51
閱讀 2027·2019-08-26 13:28