Kubernetes 1.29: PodReadyToStartContainers 状态进入 Beta 阶段
随着最近发布的 Kubernetes 1.29,PodReadyToStartContainers
条件 默认可用。kubelet 在 Pod 的整个生命周期中,在 Pod 的 status 字段中管理该条件的值。kubelet 将使用 PodReadyToStartContainers
条件来准确地呈现 Pod 的初始化状态,从容器运行时创建 Pod 沙箱和网络配置的角度来看。
此功能的目标是什么?
集群管理员没有清晰且易于访问的方式来查看 Pod 沙箱创建和初始化的完成情况。 从 1.28 版本开始,Pod 中的 Initialized
条件跟踪初始化容器的执行情况。 然而,它在准确反映沙箱创建的完成情况以及集群中所有 Pod 启动容器的就绪状态方面存在局限性。 这种区分在多租户集群中尤为重要,在多租户集群中,租户拥有 Pod 规范(包括初始化容器集),而集群管理员管理存储插件、网络插件和容器运行时处理程序。 因此,需要一种改进的机制,为集群管理员提供 Pod 沙箱创建完成和容器就绪的清晰而全面的视图。
有什么好处?
- 改进的可见性:集群管理员可以更清晰、更全面地了解 Pod 沙箱创建的完成情况和容器的就绪状态。 这种增强的可见性使他们能够做出更明智的决策并更有效地排除故障。
- 指标收集和监控:监控服务可以利用与
PodReadyToStartContainers
条件相关的字段来报告沙箱创建状态和延迟。 可以收集每个 Pod 基数的指标,或根据 Pod 的各种属性进行聚合,例如volumes
、runtimeClassName
、CNI 和 IPAM 插件的自定义注解或任意标签和注解以及 PersistentVolumeClaims 的storageClassName
。 这使得能够对整个集群的 Pod 就绪状态进行全面监控和分析。 - 增强的故障排除能力:通过更准确地表示 Pod 沙箱创建和容器就绪状态,集群管理员可以快速识别和解决初始化过程中可能出现的任何问题。 这提高了故障排除能力并减少了停机时间。
接下来是什么?
由于反馈和采用,Kubernetes 团队在 1.29 版本中将 PodReadyToStartContainersCondition
提升为 Beta 版。 您的评论将有助于确定此条件是否继续向前发展并最终推广到 GA 版,因此请提交有关此功能的其他反馈!
如何了解更多信息?
请查看 文档,了解有关 PodReadyToStartContainersCondition
的更多信息以及它与其他 Pod 条件的关系。
如何参与?
此功能由 SIG Node 社区推动。 请加入我们,与社区联系并分享您关于上述功能及其他方面的想法和反馈。 我们期待您的来信!