有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

概述

默认安装会自动创建出一个公网 CLB 来接入流量,但您也可以利用 TKE 的 Service 注解对 Nginx Ingress Controller 的 CLB 进行自定义,本文为您介绍自定义的方法。

使用内网 CLB

例如改成内网 CLB,在 values.yaml 中的示例代码如下:
controller:
service:
annotations:
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 需与集群一致。

使用内外网双 CLB

如果您需要让 nginx ingress 同时使用公网和内网 CLB 接入流量,您可以配置 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 的子网