工作负载管理

Kubernetes 提供了多个内置 API,用于声明式管理您的 工作负载 以及这些工作负载的组件。

最终,您的应用程序将作为容器在 Pod 中运行;但是,管理单个 Pod 需要付出很多努力。例如,如果一个 Pod 失败,您可能希望运行一个新的 Pod 来替换它。Kubernetes 可以为您做到这一点。

您可以使用 Kubernetes API 创建一个代表比 Pod 更高级抽象级别的工作负载 对象,然后 Kubernetes 控制平面 将根据您定义的工作负载对象规范,自动代表您管理 Pod 对象。

管理工作负载的内置 API 是

部署(以及间接的 副本集)是在集群上运行应用程序的最常见方式。部署非常适合在集群上管理无状态应用程序工作负载,其中部署中的任何 Pod 都是可互换的,并且可以在需要时进行替换。(部署是传统 副本控制器 API 的替代品)。

有状态集 允许您管理一个或多个 Pod(所有运行相同的应用程序代码)——其中 Pod 依赖于具有不同的身份。这与部署不同,部署中的 Pod 预计是可互换的。有状态集最常见的用途是能够在它的 Pod 和它们的持久存储之间建立链接。例如,您可以运行一个有状态集,将每个 Pod 与一个 持久卷 关联。如果 有状态集中的某个 Pod 失败,Kubernetes 将创建一个连接到相同持久卷的替换 Pod。

守护程序集 定义了提供特定 节点 的本地设施的 Pod;例如,允许该节点上的容器访问存储系统的驱动程序。当驱动程序或其他节点级服务必须在有用的节点上运行时,您将使用守护程序集。守护程序集中的每个 Pod 都执行类似于传统 Unix/POSIX 服务器上的系统守护程序的角色。守护程序集对于集群的运行至关重要,例如允许该节点访问 集群网络 的插件,它可以帮助您管理节点,或者它可以提供增强您正在运行的容器平台的不太重要的设施。您可以在集群中的所有节点上运行守护程序集(及其 Pod),也可以只在子集中运行(例如,仅在安装了 GPU 的节点上安装 GPU 加速器驱动程序)。

您可以使用 作业 和/或 定时作业 来定义运行到完成然后停止的任务。作业代表一次性任务,而每个定时作业都按照时间表重复执行。

本节中的其他主题

上次修改时间:2024 年 1 月 14 日下午 2:20 PST:重命名概念部分 (6160a5e137)