容器

一种将应用程序及其运行时依赖项打包在一起的技术。

本页将讨论容器和容器镜像,以及它们在运维和解决方案开发中的应用。

容器”一词是一个多义词。 每当您使用这个词时,请检查您的受众是否使用了相同的定义。

您运行的每个容器都是可重复的;包含依赖项的标准化意味着无论您在哪里运行它,您都会得到相同的行为。

容器将应用程序与底层主机基础设施解耦。这使得在不同的云或操作系统环境中部署更加容易。

Kubernetes 集群中的每个 节点 都会运行构成分配给该节点的 Pod 的容器。Pod 中的容器被共置和共调度以在同一节点上运行。

容器镜像

容器镜像是一个随时可运行的软件包,其中包含运行应用程序所需的一切:代码和它所需的任何运行时、应用程序和系统库以及任何基本设置的默认值。

容器旨在是无状态和不可变的:您不应更改正在运行的容器的代码。 如果您有一个容器化的应用程序并且想要进行更改,正确的流程是构建一个包含更改的新镜像,然后重新创建容器以从更新的镜像启动。

容器运行时

一个基本的组件,使 Kubernetes 能够有效地运行容器。它负责管理 Kubernetes 环境中容器的执行和生命周期。

Kubernetes 支持容器运行时,例如 containerdCRI-O 和任何其他 Kubernetes CRI(容器运行时接口)的实现。

通常,您可以允许您的集群为 Pod 选择默认的容器运行时。 如果您需要在集群中使用多个容器运行时,您可以为 Pod 指定 RuntimeClass,以确保 Kubernetes 使用特定的容器运行时运行这些容器。

您还可以使用 RuntimeClass 来运行具有相同容器运行时但具有不同设置的不同 Pod。

上次修改时间:2024 年 10 月 12 日下午 8:17 PST: 更新 _index.md (91ad67cbfa)