工作负载
理解 Pods,Kubernetes 中可部署的最小计算对象,以及辅助它运行它们的高层抽象对象。
工作负载是在 Kubernetes 上运行的应用程序。
无论你的负载是单一组件还是由多个一同工作的组件构成,在 Kubernetes 中你 可以在一组 Pods 中运行它。 在 Kubernetes 中,Pod 代表的是集群上处于运行状态的一组 容器。
Pod 有确定的生命周期。例如,一旦某 Pod 在你的集群中运行,Pod 运行所在的 节点 出现致命错误时, 所有该节点上的 Pods 都会失败。Kubernetes 将这类失败视为最终状态: 即使节点后来恢复正常运行,你也需要创建新的 Pod。
不过,为了让用户的日子略微好过一些,你并不需要直接管理每个 Pod。 相反,你可以使用 负载资源 来替你管理一组 Pods。 这些资源配置 控制器 来确保合适类型的、处于运行状态的 Pod 个数是正确的,与你所指定的状态相一致。
这些工作负载资源包括:
- Deployment 和 ReplicaSet (替换原来的资源 ReplicationController);
- StatefulSet;
- 用来运行提供节点本地支撑设施(如存储驱动或网络插件)的 Pods 的 DaemonSet;
- 用来执行运行到结束为止的 Job 和 CronJob。
你可能发现还有两种支撑概念很有用:
- 垃圾收集机制负责在 对象的 属主资源 被删除时在集群中清理这些对象。
- 结束后存在时间 控制器 会在 Job 结束之后的指定时间间隔之后删除它们。
接下来
除了阅读了解每类资源外,你还可以了解与这些资源相关的任务:
- 使用 Deployment 运行一个无状态的应用
- 以单实例 或者多副本集合 的形式运行有状态的应用;
- 使用 CronJob 运行自动化的任务
一旦你的应用处于运行状态,你就可能想要 以服务 使之在互联网上可访问;或者对于 Web 应用而言,使用 Ingress 资源将其暴露到互联网上。
当前内容版权归 Kubernetes官网 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Kubernetes官网 .