Kubernetes v1.35:云控制器管理器中的基于监视的路由协调
在 Kubernetes v1.34 及更早版本中,使用 k8s.io/cloud-provider 库构建的云控制器管理器(CCM)实现中的路由控制器会以固定的时间间隔进行路由协调。 这会导致在路由没有变化的情况下,向云提供商发出不必要的 API 请求。 其他使用同一库实现的控制器已经使用基于监听的机制, 利用 informer 来避免不必要的 API 调用。 v1.35 版本引入了一个新的特性门控,允许更改路由控制器的行为, 使其使用基于监听的 informer。
新特性
SIG Cloud Provider
已在 k8s.io/cloud-provider
引入了 Alpha 阶段的 CloudControllerManagerWatchBasedRoutesReconciliation
特性门控。要启用此特性,你可以在使用的 CCM 实现中使用
--feature-gate=CloudControllerManagerWatchBasedRoutesReconciliation=true
参数。
关于此特性门控
此特性门控会在节点添加、删除 .spec.podCIDRs 或
.status.addresses 字段更新时触发路由协调循环。
此外,还会以 12 小时到 24 小时之间的随机间隔执行一次额外的协调, 该间隔在控制器启动时确定。
此特性门控不会修改协调循环内的逻辑。 因此,CCM 实现的用户不应遇到现有路由配置的重大变化。
如何了解更多?
更多详情请参阅 KEP-5237。