- 文档首页
容器服务
容器服务 VKE
用户指南
网络
服务(Service)
负载均衡(LoadBalancer)
负载均衡服务使用注意事项
负载均衡(LoadBalancer)
负载均衡服务使用注意事项
负载均衡服务使用注意事项
当 Service 的类型为负载均衡(LoadBalancer),即type: LoadBalancer时,容器服务 CCM(Cloud Controller Manager)组件会为该 Service 创建或复用一个负载均衡实例。本文介绍配置负载均衡类型 Service 时的主要注意事项。
新建/复用负载均衡实例
当您在容器服务集群中通过控制台或 YAML 配置负载均衡类型的 Service 时,允许新建或复用负载均衡实例。新建和复用负载均衡实例的主要区别,如下表所示。
CCM 调谐机制
当 Service 的类型为负载均衡(LoadBalancer),即type: LoadBalancer时,容器服务 CCM(Cloud Controller Manager)组件会为该 Service 创建或复用一个 CLB/NLB 资源,包括实例、监听器、后端服务器组等资源。
同时,CCM 组件会在以下场景触发调谐:
- 创建/删除/修改 Service 时,后端的变化(例如:Pod IP 改变,新增/下线 Pod)。
- Service 配置中有字段发生变化时,包括 Annotation、spec 和 status。
配置注意事项
- 建议统一在 VKE 控制台上或通过 YAML 配置 CLB/NLB 实例的参数。若在负载均衡控制台上修改 Serivce 指定或维护的资源和配置(例如:转发规则),可能存在配置被覆盖的风险。
- 在负载均衡控制台手动修改 CLB/NLB 实例配置时,控制器无法感知。因此,控制器无法将负载均衡控制台中的修改写入 Service 的 Annotation 中。当 Service 触发调谐时,在负载均衡控制台上修改的配置可能会被控制器根据 Annotation 中的配置刷新。
- 由于 CLB/NLB 的部分配置,既可以通过 Service 的 Annotation 配置,也可以通过 CLB/NLB 控制台配置,为避免两侧的配置相互覆盖,导致业务故障。容器服务中 CLB/NLB 配置项的处理逻辑如下:
- 首次配置时,如果在 Service 的 Annotation 中存在相关配置(例如:监听器的访问控制),则 CLB/NLB 的配置和 Annotation 保持一致。
- 当您在负载均衡控制台手动修改 CLB/NLB 的配置后,直到 Service 下次调谐前,CLB/NLB 的配置都与负载均衡控制台所做的修改保持一致。当 Service 再次调谐时,系统会根据 Service 中 spec 和 Annotation 字段的修改情况进行配置刷新:
- 下次调谐时,如果 Service 中 spec 和 Annotation 字段均未发生变化,则不会刷新 CLB/NLB 配置。此时,CLB/NLB 实际配置依然与负载均衡控制台所做的修改保持一致。
- 下次调谐时,如果 Service 中 spec 或 Annotation 字段发生了变化,则会根据 Annotation 刷新 CLB/NLB 配置。此时,在负载均衡控制台上修改的配置会被覆盖。
注意
当您在 Service 中修改了 spec 或 Annotation 字段后,Service 调谐时,可能导致在负载均衡控制台手动修改的 CLB/NLB 配置被覆盖。为避免上述问题,在通过 Service 的 Annotation 字段修改 CLB/NLB 配置时,请保证所有配置均与负载均衡控制台上的一致。
其他注意事项
- 请勿擅自在负载均衡控制台上更改 Service 创建或维护的 CLB/NLB 实例、监听器、后端服务器组和转发规则,否则将造成集群中的负载均衡服务异常。
- 请勿修改监听器和后端服务器组的名称中带有k8s_前缀的内容。
最近更新时间:2026.04.07 11:59:37