容器

用于打包应用程序及其运行时依赖项的技术。

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

容器一词是一个被过度使用的术语。每当你使用这个词时,请检查你的受众是否使用相同的定义。

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

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

Kubernetes 集群中的每个节点都运行分配给该节点的构成Pod 的容器。Pod 中的容器共同位于同一节点上并被调度到同一节点上运行。

容器镜像

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

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

容器运行时

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

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

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

你也可以使用 RuntimeClass 让不同的 Pod 使用相同的容器运行时但采用不同的设置来运行。

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