|
| 1 | +--- |
| 2 | +layout: blog |
| 3 | +title: "Kubernetes 1.29:PodReadyToStartContainers 状况进阶至 Beta" |
| 4 | +date: 2023-12-19 |
| 5 | +slug: pod-ready-to-start-containers-condition-now-in-beta |
| 6 | +--- |
| 7 | +<!-- |
| 8 | +layout: blog |
| 9 | +title: "Kubernetes 1.29: PodReadyToStartContainers Condition Moves to Beta" |
| 10 | +date: 2023-12-19 |
| 11 | +slug: pod-ready-to-start-containers-condition-now-in-beta |
| 12 | +--> |
| 13 | + |
| 14 | +<!-- |
| 15 | +**Authors**: Zefeng Chen (independent), Kevin Hannon (Red Hat) |
| 16 | +--> |
| 17 | +**作者**:Zefeng Chen (independent), Kevin Hannon (Red Hat) |
| 18 | + |
| 19 | +**译者**:[Michael Yao](https://github.com/windsonsea) |
| 20 | + |
| 21 | +<!-- |
| 22 | +With the recent release of Kubernetes 1.29, the `PodReadyToStartContainers` |
| 23 | +[condition](/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions) is |
| 24 | +available by default. |
| 25 | +The kubelet manages the value for that condition throughout a Pod's lifecycle, |
| 26 | +in the status field of a Pod. The kubelet will use the `PodReadyToStartContainers` |
| 27 | +condition to accurately surface the initialization state of a Pod, |
| 28 | +from the perspective of Pod sandbox creation and network configuration by a container runtime. |
| 29 | +--> |
| 30 | +随着最近发布的 Kubernetes 1.29,`PodReadyToStartContainers` |
| 31 | +[状况](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions)默认可用。 |
| 32 | +kubelet 在 Pod 的整个生命周期中管理该状况的值,将其存储在 Pod 的状态字段中。 |
| 33 | +kubelet 将通过容器运行时从 Pod 沙箱创建和网络配置的角度使用 `PodReadyToStartContainers` |
| 34 | +状况准确地展示 Pod 的初始化状态, |
| 35 | + |
| 36 | +<!-- |
| 37 | +## What's the motivation for this feature? |
| 38 | +--> |
| 39 | +## 这个特性的动机是什么? |
| 40 | + |
| 41 | +<!-- |
| 42 | +Cluster administrators did not have a clear and easily accessible way to view the completion of Pod's sandbox creation |
| 43 | +and initialization. As of 1.28, the `Initialized` condition in Pods tracks the execution of init containers. |
| 44 | +However, it has limitations in accurately reflecting the completion of sandbox creation and readiness to start containers for all Pods in a cluster. |
| 45 | +This distinction is particularly important in multi-tenant clusters where tenants own the Pod specifications, including the set of init containers, |
| 46 | +while cluster administrators manage storage plugins, networking plugins, and container runtime handlers. |
| 47 | +Therefore, there is a need for an improved mechanism to provide cluster administrators with a clear and |
| 48 | +comprehensive view of Pod sandbox creation completion and container readiness. |
| 49 | +--> |
| 50 | +集群管理员以前没有明确且轻松访问的方式来查看 Pod 沙箱创建和初始化的完成情况。 |
| 51 | +从 1.28 版本开始,Pod 中的 `Initialized` 状况跟踪 Init 容器的执行情况。 |
| 52 | +然而,它在准确反映沙箱创建完成和容器准备启动的方面存在一些限制,无法适用于集群中的所有 Pod。 |
| 53 | +在多租户集群中,这种区别尤为重要,租户拥有包括 Init 容器集合在内的 Pod 规约, |
| 54 | +而集群管理员管理存储插件、网络插件和容器运行时处理程序。 |
| 55 | +因此,需要改进这个机制,以便为集群管理员提供清晰和全面的 Pod 沙箱创建完成和容器就绪状态的视图。 |
| 56 | + |
| 57 | +<!-- |
| 58 | +## What's the benefit? |
| 59 | +
|
| 60 | +1. Improved Visibility: Cluster administrators gain a clearer and more comprehensive view of Pod sandbox |
| 61 | + creation completion and container readiness. |
| 62 | + This enhanced visibility allows them to make better-informed decisions and troubleshoot issues more effectively. |
| 63 | +--> |
| 64 | +## 这个特性有什么好处? |
| 65 | + |
| 66 | +1. 改进可见性:集群管理员可以更清晰和全面地查看 Pod 沙箱的创建完成和容器的就绪状态。 |
| 67 | + 这种增强的可见性使他们能够做出更明智的决策,并更有效地解决问题。 |
| 68 | + |
| 69 | +<!-- |
| 70 | +2. Metric Collection and Monitoring: Monitoring services can leverage the fields associated with |
| 71 | + the `PodReadyToStartContainers` condition to report sandbox creation state and latency. |
| 72 | + Metrics can be collected at per-Pod cardinality or aggregated based on various |
| 73 | + properties of the Pod, such as `volumes`, `runtimeClassName`, custom annotations for CNI |
| 74 | + and IPAM plugins or arbitrary labels and annotations, and `storageClassName` of |
| 75 | + PersistentVolumeClaims. |
| 76 | + This enables comprehensive monitoring and analysis of Pod readiness across the cluster. |
| 77 | +--> |
| 78 | +2. 指标收集和监控:监控服务可以利用与 `PodReadyToStartContainers` 状况相关的字段来报告沙箱创建状态和延迟。 |
| 79 | + 可以按照每个 Pod 的基数进行指标收集,或者根据 Pod 的各种属性进行聚合,例如 |
| 80 | + `volumes`、`runtimeClassName`、CNI 和 IPAM 插件的自定义注解, |
| 81 | + 以及任意标签和注解,以及 PersistentVolumeClaims 的 `storageClassName`。 |
| 82 | + 这样可以全面监控和分析集群中 Pod 的就绪状态。 |
| 83 | + |
| 84 | +<!-- |
| 85 | +3. Enhanced Troubleshooting: With a more accurate representation of Pod sandbox creation and container readiness, |
| 86 | + cluster administrators can quickly identify and address any issues that may arise during the initialization process. |
| 87 | + This leads to improved troubleshooting capabilities and reduced downtime. |
| 88 | +--> |
| 89 | +3. 增强故障排查能力:通过更准确地表示 Pod 沙箱的创建和容器的就绪状态, |
| 90 | + 集群管理员可以快速识别和解决初始化过程中可能出现的任何问题。 |
| 91 | + 这将提高故障排查能力,并减少停机时间。 |
| 92 | + |
| 93 | +<!-- |
| 94 | +### What’s next? |
| 95 | +
|
| 96 | +Due to feedback and adoption, the Kubernetes team promoted `PodReadyToStartContainersCondition` to Beta in 1.29. |
| 97 | +Your comments will help determine if this condition continues forward to get promoted to GA, |
| 98 | +so please submit additional feedback on this feature! |
| 99 | +--> |
| 100 | +### 后续事项 |
| 101 | + |
| 102 | +鉴于反馈和采用情况,Kubernetes 团队在 1.29 版本中将 `PodReadyToStartContainersCondition` |
| 103 | +进阶至 Beta版。你的评论将有助于确定该状况是否继续并晋升至 GA,请针对此特性提交更多反馈! |
| 104 | + |
| 105 | +<!-- |
| 106 | +### How can I learn more? |
| 107 | +
|
| 108 | +Please check out the |
| 109 | +[documentation](/docs/concepts/workloads/pods/pod-lifecycle/) for the |
| 110 | +`PodReadyToStartContainersCondition` to learn more about it and how it fits in relation to |
| 111 | +other Pod conditions. |
| 112 | +--> |
| 113 | +### 如何了解更多? |
| 114 | + |
| 115 | +请查看关于 `PodReadyToStartContainersCondition` |
| 116 | +的[文档](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/), |
| 117 | +以了解其更多信息及其与其他 Pod 状况的关系。 |
| 118 | + |
| 119 | +<!-- |
| 120 | +### How to get involved? |
| 121 | +
|
| 122 | +This feature is driven by the SIG Node community. Please join us to connect with |
| 123 | +the community and share your ideas and feedback around the above feature and |
| 124 | +beyond. We look forward to hearing from you! |
| 125 | +--> |
| 126 | +### 如何参与? |
| 127 | + |
| 128 | +该特性由 SIG Node 社区推动。请加入我们,与社区建立联系,分享你对这一特性及更多内容的想法和反馈。 |
| 129 | +我们期待倾听你的建议! |
0 commit comments