容器服务 启用 CLB 直连

流量从 CLB 转发到 Nginx Ingress 的链路可以直连,即不通过 NodePort 通信。这种方式可以带来更好的性能,并且可以实现获取真实源 IP 的需求。

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

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

一、概述

如果你使用的是 TKE Serverless 集群,或者你能确保所有 Nginx Ingress Pod 都调度到超级节点上,那么这段链路本身就是直连的,无需进行任何额外操作。

在其他情况下,这段链路中间默认会通过 NodePort 通信。如果你希望启用直连,可以参考以下步骤(根据你的集群环境选择适用的步骤)。

注意:说明:

注意:请参见 使用 LoadBalancer 直连 Pod 模式 Service。

二、GlobalRouter + VPC-CNI 网络模式启用直连

如果集群网络模式是 GlobalRouter,且启用了 VPC-CNI:

建议为 Nginx Ingress 声明用 VPC-CNI 网络,同时启用 CLB 直连,values.yaml 配置方法:

controller: podAnnotations: tke.cloud.tencent.com/networks: tke-route-eni # 声明使用 VPC-CNI 网络 resources: # resources 里声明使用弹性网卡 requests: tke.cloud.tencent.com/eni-ip: "1" limits: tke.cloud.tencent.com/eni-ip: "1" service: annotations: service.cloud.tencent.com/direct-access: "true" # 启用 CLB 直通

三、GlobalRouter 网络模式启用直连

如果集群网络是 GlobalRouter,但没有启用 VPC-CNI,建议为集群开启 VPC-CNI,详情见 GlobalRouter + VPC-CNI 网络模式启用直连 启用 CLB 直连。

如果不希望开启 VPC-CNI,且腾讯云账号是带宽上移类型(请参见 账号类型说明),可以根据以下步骤启用直连,但是需接受 使用限制。

注意:请确认你的账号满足上述条件,并接受使用限制。

1. 修改 configmap 开启 GlobalRouter 集群维度的直连能力:

kubectl edit configmap tke-service-controller-config -n kube-system

将 GlobalRouteDirectAccess 置为 true:

2. 配置 values.yaml 启用 CLB 直连:

controller: service: annotations: service.cloud.tencent.com/direct-access: "true" # 启用 CLB 直通

四、VPC-CNI 网络模式启用直连

如果集群网络本身就是 VPC-CNI,直接配置 values.yaml 启用 CLB 直连即可:

controller: service: annotations: service.cloud.tencent.com/direct-access: "true" # 启用 CLB 直通

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