一、应用场景
·需要支持 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 两种方式进行操作,操作步骤如下:
控制台方式YAML 方式
三、创建 Service
1. 登录 容器服务控制台,选择左侧导航栏中的集群。
2. 在集群管理页面单击目标集群 ID,进入集群基本信息页面。
3. 选择左侧导航中的服务与路由,在 Service 页面单击新建。
4. 在新建服务与路由页面中,找到访问设置(Service),配置相关可用区规则。配置规则说明如下:
·服务访问方式:选择“公网 LB 访问”。
·VPC:选择“其他 VPC”。
注意:仅支持通过 云联网 将当前集群的 VPC 打通的其它 VPC。
5. 其他参数按照 Service 创建时的配置即可。
四、更新 Service
你可以通过 容器服务控制台 > 集群 ID > 服务与路由,在 Service 页面,点击目标 Service 右侧的编辑 Annotation,为 Service 添加相关注解,以实现跨 VPC 绑定。
完整 Service Annotation 说明请参见 Service Annotation 说明 文档。
注意:说明:
注意:1. 如需使用非本集群所在 VPC 的 CLB,需先通过 云联网 打通当前集群 VPC 和 CLB 所在的 VPC。
注意:2. 在确保 VPC 已经打通之后,请 在线咨询 申请使用该功能。
你可以通过编辑 YAML 文件的方式,为 Service 添加相关注解,以实现跨 VPC 绑定。
五、示例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-service namespace: 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-service namespace: defaultspec: ……
完整 Service Annotation 说明请参见 Service Annotation 说明 文档。