Service 跨域绑定

最近更新时间:2023-09-08 19:13:03

我的收藏

简介

使用公网 CLB 型 Service 时,默认是在当前集群所在 VPC 内的随机可用区生成 CLB,现目前 TKE 的公网 CLB Service 已支持指定可用区、包括其他地域的可用区。本文将为您介绍如何通过控制台和 YAML 两种方式为 CLB Service 跨域绑定和指定可用区。

应用场景

需要支持 CLB 的跨地域接入或跨 VPC 接入,即 CLB 所在的 VPC 和当前集群所在的 VPC 不在同一 VPC 内。
需要指定 CLB 的可用区以实现资源的统一管理。
说明
1. 跨域绑定仅支持“带宽上移账户”。若您无法确定账户类型,请参见 判断账户类型
2. 如需使用非本集群所在 VPC 的 CLB,需先通过 云联网 打通当前集群 VPC 和 CLB 所在的 VPC。
2.1 云联网需要提前规划各个地域 VPC 的网段,不能出现冲突。否则冲突的路由规则将不会生效,导致数据面无法转发。
2.2 集群所在 VPC 不能同时加入多个云联网中,否则会出现路由不唯一的情况,导致数据面无法转发。
3. 在确保 VPC 已经打通之后,请 在线咨询 申请使用该功能。
4. 以下 YAML 中,需要您输入地域 ID ,您可以通过 地域和可用区 查看地域 ID。

操作步骤

公网 CLB Service 跨域绑定和指定可用区支持通过控制台和 YAML 两种方式进行操作,操作步骤如下:
控制台方式
YAML 方式
1. 登录 容器服务控制台,选择左侧导航栏中的集群
2. 集群管理页面单击需要创建 Service 的集群 ID,进入集群管理页面。
3. 选择服务与路由 > Service,进入 Service 页面,并单击新建
4. 新建 Service 页面中配置相关可用区规则。配置规则说明如下:
服务访问方式:选择“公网LB访问”。


可用区:选择“其他VPC”。
注意:
仅支持通过 云联网 将当前集群的 VPC 打通的其它 VPC。
5. 其他参数按照 Service 创建时的配置即可。
说明
1. 如需使用非本集群所在 VPC 的 CLB,需先通过 云联网 打通当前集群 VPC 和 CLB 所在的 VPC。
2. 在确保 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: v1
kind: Service
metadata:
annotations:
service.cloud.tencent.com/cross-region-id: "ap-chongqing"
service.cloud.tencent.com/cross-vpc-id: "vpc-mjekzyps"
name: echo-server-service
namespace: default
spec:
......
---
# 用户复用其他地域负载均衡的场景
apiVersion: v1
kind: Service
metadata:
annotations:
service.cloud.tencent.com/cross-region-id: "ap-chongqing"
service.kubernetes.io/tke-existed-lbid: "lb-o8ugf2wb"
name: echo-server-service
namespace: default
spec:
......

完整 Service Annotation 说明请参见 Service Annotation 说明 文档。