- 文档首页
容器服务
容器服务 VKE
用户指南
网络
服务(Service)
负载均衡(LoadBalancer)
复用已有负载均衡实例实现跨集群业务部署
负载均衡(LoadBalancer)
复用已有负载均衡实例实现跨集群业务部署
复用已有负载均衡实例实现跨集群业务部署
跨集群部署服务能够提升业务的容灾与可靠性,实现高级别安全隔离。但如果每个集群中的 Service 都选择 LoadBalancer 类型,会因为创建多个负载均衡器实例导致资源浪费。您可以在已有负载均衡实例上同时挂载多个集群的内部端点,使用单一负载均衡实例达成跨集群部署服务的目的。
背景信息
场景一:将流量转发至集群和外部端点
您可以在 CLB/NLB 实例上同时挂载集群内的 Service 和集群外的端点(例如 ECS),为部署在容器集群和 ECS 实例上的业务,提供统一的入口。
场景二:将流量转发至多个集群内的 Service
您可以在已有的 CLB/NLB 实例上同时挂载多个不同集群内的 Service,为它们提供统一的入口。当多个 Service 复用同一个 CLB/NLB 实例时,需要共用相同的监听以及后端服务器组。因此,您需要手动为 CLB/NLB 实例配置监听器和后端服务器组,然后在所有 Service 中复用此后端服务器组。同时,监听使用的端口需要与 Service 相同。
使用限制
- 仅支持复用用户手工创建的 CLB/NLB 实例,不支持复用通过容器服务 LoadBalancer 类型的 Service 自动创建的 CLB/NLB。
- 不支持在已有 Service 中,添加、删除或修改service.beta.kubernetes.io/volcengine-loadbalancer-id字段。
- 不支持在已有 Service 中,添加、删除或修改service.beta.kubernetes.io/volcengine-loadbalancer-server-group-id字段。
前提条件
- 已创建 CLB/NLB 实例、监听器和后端服务器组。
- 如需对接 NLB 实例,请升级 cloud-controller-manager 组件至 v1.45.1 及以上版本。详情请参见 升级组件。
操作步骤
在容器服务集群中,使用如下 YAML 配置,创建服务并复用已手动创建的 CLB 实例。
在容器服务集群中,使用如下 YAML 配置,创建服务并复用已手动创建的 NLB 实例。
Annotation 说明如下表所示。
说明
在使用不同网络模型时,CLB/NLB 实例后端服务器组中挂载的对象不同:
- 对接 NLB 实例时,默认开启 Pod 直通模式,即集群会将 Service 后端 Pod 直接挂载在 NLB 后端服务器组中。
- 对接 CLB/NLB 实例时,若关联云服务器实例(ECS)方式部署的工作负载,集群会将 Service 后端 Pod 所在节点作为后端服务器挂载在 CLB/NLB 后端服务器组中。
- 对接 CLB/NLB 实例时,若关联弹性容器实例(VCI)方式部署的工作负载,集群会将 Pod 直接挂载在 CLB/NLB 后端服务器组中。
结果验证
- 预期结果如下。其中,EXTERNAL-IP是与该服务对接的 CLB/NLB 公网 IP 地址。
- 预期结果如下。其中,Annotation 中展示了 CLB/NLB 的相关信息,包括:CLB/NLB 实例 ID、后端服务器组 ID 等,与您手工创建 CLB/NLB 实例相同。
- 登录 负载均衡控制台,查看对应的 CLB/NLB 实例和后端服务器组列表,可以查看后端服务器组中新增的后端服务器和权重。
-
相关文档
最近更新时间:2026.07.08 19:46:22