容器服务 自定义负载均衡器

默认安装会自动创建出一个公网 CLB 来接入流量,但你也可以利用 TKE 的 Service 注解对 Nginx Ingress Controller 的 CLB 进行自定义,这里说明自定义的方法。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

注意:ingress-nginx 是一个由社区维护的开源项目。这篇内容仅供参考,不提供支持。如在使用过程中遇到问题,建议查阅 ingress-nginx 社区 的最新产品文档以获取帮助。

一、使用内网 CLB

例如改成内网 CLB,在 values.yaml 中的示例代码如下:

controller: service: annotations: service.kubernetes.io/qcloud-loadbalancer-type:"internal" # 指定 CLB 内网类型 service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: 'subnet-xxxxxx' # 内网 CLB 需指定 CLB 实例所在的子网 ID

二、使用已有 CLB

你也可以直接在 CLB 控制台 根据自身需求创建一个 CLB(例如自定义实例规格、运营商类型、计费模式、带宽上限等),然后在 values.yaml 中用注解复用这个 CLB,详情请参见 Service 使用已有 CLB。

controller: service: annotations: service.kubernetes.io/tke-existed-lbid: 'lb-xxxxxxxx' # 指定已有 CLB 的实例 ID

注意:在 CLB 控制台创建 CLB 实例时,选择的 VPC 需与集群一致。

三、公网和内网 IP 同时接入

有时需要让 Nginx Ingress 同时使用公网和内网的 IP 来接入流量,可以通过以下两种方案实现:

四、方案一:双 Service

配置 Nginx Ingress 使用两个 Service,默认创建一个公网 CLB Service,如果还需要一个内网 CLB 的 Service,可以配置 internal service:

controller: service: internal: enabled: true # 创建内网 CLB Service annotations: service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: "subnet-xxxxxxxx" # 配置内网 CLB 的子网

五、方案二:内网 CLB 绑 EIP

使用内网 CLB,然后在 CLB 控制台给 CLB 绑定一个 EIP。详情请参见 CLB 产品文档 内网负载均衡实例绑定 EIP。

注意:说明:

注意:该功能是 CLB 的内测功能,需要 提交工单 申请开通。

六、CLB 跨域绑定

如果需要使用其他地域或 VPC 的 CLB 来接入流量,可以利用 CLB 的 跨地域绑定2.0 和 TKE 的 Service 跨域绑定 能力来实现,需要满足以下前提条件:

1. 账号是带宽上移类型。

2. 两个 VPC 通过云联网打通。

3. 开通了 CLB 的跨地域绑定2.0 功能( 提交工单 申请开通)。

然后将 CLB 的 ID、所在地域和 VPC 信息配置在注解里:

controller: service: annotations: service.cloud.tencent.com/cross-region-id: "ap-guangzhou" # 如果CLB在其它地域,指定下CLB所在地域 service.cloud.tencent.com/cross-vpc-id: "vpc-xxx" # 指定CLB所在VPC service.kubernetes.io/tke-existed-lbid: "lb-xxx" # 如果使用已有CLB,指定下CLB ID

赞 (0)
上一篇 4天前
下一篇 4天前