Kubernetes v1.35:云控制器管理器中的基于 Watch 的路由协调
截至 Kubernetes v1.34,使用 k8s.io/cloud-provider 库构建的云控制器管理器(CCM)实现中的路由控制器以固定间隔协调路由。 这在路由没有变化时导致了不必要的 API 请求。 通过相同库实现的其他控制器已经使用基于 Watch 的机制,利用 Informer 来避免不必要的 API 调用。 在 v1.35 中,引入了一个新的特性门控,允许更改路由控制器的行为以使用基于 Watch 的 Informer。
新的变化
CloudControllerManagerWatchBasedRoutesReconciliation 特性门控已由
SIG Cloud Provider
在 k8s.io/cloud-provider
中作为 Alpha 级别特性引入。
要启用此特性,你可以在使用的 CCM 实现中使用
--feature-gate=CloudControllerManagerWatchBasedRoutesReconciliation=true
标志。
关于特性门控
此特性门控将在节点被添加、删除或字段 .spec.podCIDRs 或 .status.addresses
被更新时,触发路由协调循环。
另外,在控制器启动时会随机选择一个 12 到 24 小时之间的间隔进行额外的协调。
此特性门控不会修改协调循环内的逻辑。 因此,CCM 实现的用户不应体验到对其现有路由配置的重大变更。
了解更多
欲获取更多详情,请参阅 KEP-5237。