文章预览
作者:Kensei Nakada (Tetrate) Kubernetes 1.29 在 podAffinity 和 podAntiAffinity 中引入了新的字段 matchLabelKeys 和 mismatchLabelKeys 。 在 Kubernetes 1.31 中,此特性进阶至 Beta,并且相应的特性门控( MatchLabelKeysInPodAffinity )默认启用。 matchLabelKeys - 为多样化滚动更新增强了调度 在工作负载(例如 Deployment)的滚动更新期间,集群中可能同时存在多个版本的 Pod。 然而,调度器无法基于 podAffinity 或 podAntiAffinity 中指定的 labelSelector 区分新旧版本。结果,调度器将并置或分散调度 Pod,不会考虑这些 Pod 的版本。 这可能导致次优的调度结果,例如: 新版本的 Pod 与旧版本的 Pod(podAffinity)并置在一起,这些旧版本的 Pod 最终将在滚动更新后被移除。 旧版本的 Pod 被分布在所有可用的拓扑中,导致新版本的 Pod 由于 podAntiAffinity 无法找到节点。 matchLabelKeys 是一组 Pod 标签键
………………………………