我知道Kubernetes在内部使用containerd,containerd是Docker的一部分。这是否意味着Kubernetes只使用码头的某些部分来提供集装箱的编排?此外,runc是如何融入这个生态系统的,我知道Kubernetes是如何使用它的,因为影响runc的CVEs会影响Kubernetes。
我还没有发现Kubernetes的技术组件是什么;有大量的图表显示逻辑元素(即主程序、节点、kubelets、部署、服务、吊舱等等)。然而,我正试图更深入地了解细节,并了解构成库伯内特斯的部分。
是否可以描述库伯奈特是如何由其组件(如runc、containerd和Docker )构造的?
发布于 2019-11-13 16:01:06
装罐%d是一个用于运行容器的守护进程。码头客博客有一篇很好的文章,解释了这如何适合码头。容器在Docker中使用,但它也可以用作其他容器解决方案的守护进程。Containerd需要runc才能正常工作。
项目定义的龙克是“根据OCI规范生成和运行容器的CLI工具”。
这些工具的设计遵循了开放式集装箱倡议 (OCI)规范。这已经成为一个标准,并定义了Docker和其他工具如何与容器和runc交互。
当您查看大多数Kubernetes图时,它们将不会显示containerd或runc,因为它们被抽象到您使用的容器引擎中(例如,Docker,rkt)。因为Kubernetes使用containerd,所以它也将使用runc。这就是允许遵循OCI规范的多个容器解决方案与Kubernetes集成的原因。
因此,您可以通过查看runc、containerd和容器引擎来分析Kubernetes部分是如何构建的。
https://devops.stackexchange.com/questions/9790
复制相似问题