简介
使用公网 CLB 型 Service 时,默认是在当前集群所在 VPC 内的随机可用区生成 CLB,目前 TKE 的公网 CLB Service 已支持指定可用区,包括其他地域的可用区。本文将为您介绍如何通过控制台和 YAML 两种方式为 CLB Service 跨 VPC 绑定和指定可用区。
应用场景
需要支持 CLB 的跨地域接入或跨 VPC 接入,即 CLB 所在的 VPC 和当前集群所在的 VPC 不在同一 VPC 内。
需要指定 CLB 的可用区以实现资源的统一管理。
说明:
1. 跨 VPC 绑定仅支持“带宽上移账户”。若您无法确定账户类型,请参见 判断账户类型。
2. 如需使用非本集群所在 VPC 的 CLB,需先通过 云联网 打通当前集群 VPC 和 CLB 所在的 VPC。
2.1 云联网需要提前规划各个地域 VPC 的网段,不能出现冲突。否则冲突的路由规则将不会生效,导致数据面无法转发。
2.2 集群所在 VPC 不能同时加入多个云联网中,否则会出现路由不唯一的情况,导致数据面无法转发。
3. 在确保 VPC 已经打通之后,请 在线咨询 申请使用该功能。
4. 以下 YAML 中,需要您输入地域 ID,您可以通过 地域和可用区 查看地域 ID。
操作步骤
公网 CLB Service 跨 VPC 绑定和指定可用区支持通过控制台和 YAML 两种方式进行操作,操作步骤如下:
1. 登录 容器服务控制台,选择左侧导航栏中的集群。
2. 在集群管理页面单击需要创建 Service 的集群 ID,进入集群管理页面。
3. 选择服务与路由 > Service,进入 Service 页面,并单击新建。
4. 在新建 Service 页面中配置相关可用区规则。配置规则说明如下:
服务访问方式:选择“公网 LB 访问”。


可用区:选择“其他 VPC”。
注意:
5. 其他参数按照 Service 创建时的配置即可。
示例1
如果仅需指定本集群所在 VPC 的可用区,例如集群的 VPC 在广州地域,CLB Service 需要指定广州一区的 CLB,可以在 Service 的 YAML 中添加如下 annotation:
service.kubernetes.io/service.extensiveParameters: '{"ZoneId":"ap-guangzhou-1"}'
示例2
如需使用非本集群所在 VPC 内的 CLB,可以在 Service 的 YAML 中添加如下 annotation:
service.cloud.tencent.com/cross-region-id: "ap-guangzhou"service.cloud.tencent.com/cross-vpc-id: "vpc-646vhcjj"
注意:
如果您还需要指定可用区,需要再添加示例1中的 annotation。
示例3
选择已有负载均衡进行异地接入,示例如下:
service.cloud.tencent.com/cross-region-id: "ap-guangzhou"service.kubernetes.io/tke-existed-lbid: "lb-342wppll"
示例4
annotation 在 Service YAML 中的写法如下所示:
# 创建异地接入的负载均衡apiVersion: v1kind: Servicemetadata:annotations:service.cloud.tencent.com/cross-region-id: "ap-chongqing"service.cloud.tencent.com/cross-vpc-id: "vpc-mjekzyps"name: echo-server-servicenamespace: defaultspec:......---# 用户复用其他地域负载均衡的场景apiVersion: v1kind: Servicemetadata:annotations:service.cloud.tencent.com/cross-region-id: "ap-chongqing"service.kubernetes.io/tke-existed-lbid: "lb-o8ugf2wb"name: echo-server-servicenamespace: defaultspec:......