tencent cloud

容器服务

动态与公告
产品动态
公告
产品发布记录
产品简介
产品概述
产品优势
产品架构
应用场景
产品功能
基本概念
原生 Kubernetes 名词对照
容器服务高危操作
地域和可用区
开源组件
购买指南
购买指引
购买 TKE 标准集群
购买原生节点
购买超级节点
快速入门
新手指引
快速创建一个标准集群
入门示例
容器应用部署 Check List
集群配置
标准集群概述
集群管理
网络管理
存储管理
节点管理
GPU 资源管理
远程终端
应用配置
工作负载管理
服务和配置管理
组件和应用管理
弹性伸缩
容器登录方式
可观测配置
运维可观测性
成本洞察和优化
调度配置
调度组件概述
资源利用率优化调度
业务优先级保障调度
Qos 感知调度
安全和稳定性
容器服务安全组设置
身份验证和授权
应用安全
多集群管理
计划升级
备份中心
云原生服务指南
云原生 etcd
Prometheus 监控服务
TKE Serverless 集群指南
TKE 注册集群指南
实践教程
集群
Serverless 集群
调度
安全
服务部署
网络
发布
日志
监控
运维
Terraform
DevOps
弹性伸缩
容器化
微服务
成本管理
混合云
AI
故障处理
节点磁盘爆满排障处理
节点高负载排障处理
节点内存碎片化排障处理
集群 DNS 解析异常排障处理
集群 Kube-Proxy 异常排障处理
集群 API Server 网络无法访问排障处理
Service&Ingress 网络无法访问排障处理
Service&Ingress 常见报错和处理
Nginx Ingress 偶现 Connection Refused
CLB Ingress 创建报错排障处理
Pod 网络无法访问排查处理
Pod 状态异常与处理措施
授权腾讯云售后运维排障
CLB 回环问题
API 文档
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
常见问题
TKE 标准集群
TKE Serverless 集群
运维类
隐患处理
服务类
镜像仓库类
远程终端类
事件类
资源管理类
服务协议
TKE Service Level Agreement
TKE Serverless Service Level Agreement
联系我们
词汇表

多 Ingress 复用 CLB

PDF
聚焦模式
字号
最后更新时间: 2026-04-01 10:53:42
腾讯云容器服务 TKE 现已支持多个 Ingress 复用同一负载均衡器。如需将多个 Ingress 的流量聚合到单一负载均衡器入口,您可以在创建 Ingress 资源时为其添加 ingress.cloud.tencent.com/enable-group: 'true' 注解,并使用 kubernetes.io/ingress.existLbId: lb-xxxxxxxx 注解指向相同的 CLB 实例。

注意事项

多个 Ingress 复用同一个 CLB 时,​不支持与 Service 共用该 CLB。
此功能必须在创建 Ingress 时启用。对于已创建的 Ingress,暂时不支持追加开启。
不支持复用由 TKE CLB Ingress 自动创建的 CLB。
请注意,多个 Ingress 复用同一个 CLB 可能会创建更多的监听器或转发规则,而 CLB 存在账号和实例维度的配额限制,为避免触达上限影响 Ingress 同步,请联系负载均衡团队 提交工单 以规划合理的配额。
警告:
多个 Ingress 复用 CLB 时,若发生配置冲突,Ingress Controller 将中断调谐并报错,为了避免影响 Ingress 同步规则和配置,请关注 Ingress 并及时处理错误!

使用前提

确保集群内 Service/Ingress Controller 版本 ≥ v2.10.0 且运行在融合版本(Ingress Controller 已融合至 Service Controller 组件)模式。如未满足,请 提交工单 联系 TKE 团队升级。
说明:
Service/Ingress Controller 版本:您可以在 TKE 集群的 kube-system 命名空间下,查看 configmap tke-service-controller-config 和 tke-ingress-controller-config 中的 VERSION 参数,以获取对应组件的版本信息。
融合版本说明:当 tke-service-controller-config 中的 EnableIngressController 参数值为 'true' 时,表示已启用融合版本模式。

使用方式

多个 Ingress 可以复用相同的监听器(端口)或域名,但必须确保每个“域名 + URL 路径”的规则组合是唯一的。
支持跨命名空间(Namespace)的多个 Ingress 复用同一个 CLB。
部分功能特性在复用场景下不受支持,相关错误将在 Ingress 事件/注解 中提示。
注意:
注解 ingress.cloud.tencent.com/enable-group: 'true' 需要在创建 Ingress 时与 kubernetes.io/ingress.existLbId: lb-xxxxxxxx 同时指定,对已有 Ingress 添加注解无法启用该功能。

前置条件

登录腾讯云 负载均衡购买页,按需选购负载均衡实例。

使用示例

示例一:跨命名空间的 Ingress,使用不同监听器
示例二:Ingress 开启手动重定向
示例三:不同 Ingress 复用相同的监听器
apiVersion: v1
kind: Namespace
metadata:
name: ns1
---
apiVersion: v1
kind: Namespace
metadata:
name: ns2
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
ingress.cloud.tencent.com/listen-ports: '[{"HTTP": 80}]'
kubernetes.io/ingress.existLbId: lb-xxxxxxxx # 请修改成自己的clb id
ingress.cloud.tencent.com/enable-group: 'true' # 必须在 ingress 创建时指定
name: nginx-ingress-1
namespace: ns1
spec:
rules:
- http:
paths:
- backend:
service:
name: nginx-service
port:
number: 80
path: /
pathType: ImplementationSpecific
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
ingress.cloud.tencent.com/listen-ports: '[{"HTTP": 81}]'
kubernetes.io/ingress.existLbId: lb-xxxxxxxx # 请修改成自己的clb id
ingress.cloud.tencent.com/enable-group: 'true'
name: nginx-ingress-2
namespace: ns2
spec:
rules:
- http:
paths:
- backend:
service:
name: nginx-service
port:
number: 80
path: /
pathType: ImplementationSpecific
apiVersion: v1
kind: Namespace
metadata:
name: ns1
---
apiVersion: v1
kind: Namespace
metadata:
name: ns2
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
ingress.cloud.tencent.com/listen-ports: '[{"HTTP": 80}]'
kubernetes.io/ingress.existLbId: lb-xxxxxxxx # 请修改成自己的clb id
ingress.cloud.tencent.com/enable-group: 'true' # 必须在新建ingress时和 kubernetes.io/ingress.existLbId 同时指定
kubernetes.io/ingress.http-rules: '[{"host":"example.com","path":"/api","backend":{"serviceName":"anyserver","servicePort":"80"}},{"host":"example.com","path":"/tmp","rewrite":{"port":80,"host":"example.com","path":"/api"}}]'
kubernetes.io/ingress.https-rules: "null"
kubernetes.io/ingress.rule-mix: "true"
name: nginx-ingress-1
namespace: ns1
spec:
rules:
- http:
paths:
- backend:
service:
name: nginx-service
port:
number: 80
path: /
pathType: ImplementationSpecific
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
ingress.cloud.tencent.com/listen-ports: '[{"HTTP": 80}]'
kubernetes.io/ingress.existLbId: lb-xxxxxxxx # 请修改成自己的clb id
ingress.cloud.tencent.com/enable-group: 'true'
name: nginx-ingress-2
namespace: ns2
spec:
rules:
- http:
paths:
- backend:
service:
name: nginx-service
port:
number: 80
path: /home
pathType: ImplementationSpecific

# 示例:不同 Ingress 复用相同 CLB 监听器,各自使用不同域名
# 说明:
# - 两个 Ingress 位于不同命名空间(ns1 和 ns2)
# - 复用相同的 CLB(通过 kubernetes.io/ingress.existLbId 指定)
# - 复用相同的监听器端口(80 和 8080)
# - 各自使用不同的域名进行路由
# - ns1 的 Ingress 使用域名: app1.example.com
# - ns2 的 Ingress 使用域名: app2.example.com

apiVersion: v1
kind: Namespace
metadata:
name: ns1
---
apiVersion: v1
kind: Namespace
metadata:
name: ns2
---
# Ingress 1: 使用域名 app1.example.com
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
ingress.cloud.tencent.com/listen-ports: '[{"HTTP": 80}]'
ingress.cloud.tencent.com/enable-group: 'true'
kubernetes.io/ingress.existLbId: lb-xxxxxxxx # 这里需要填写你自己的lbid
name: app1-ingress
namespace: ns1
spec:
rules:
- host: app1.example.com
http:
paths:
- backend:
service:
name: app1-server
port:
number: 80
path: /
pathType: Prefix
---
# Ingress 2: 使用域名 app2.example.com(复用相同的 CLB 和监听器)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
ingress.cloud.tencent.com/listen-ports: '[{"HTTP": 80}]'
ingress.cloud.tencent.com/enable-group: 'true'
kubernetes.io/ingress.existLbId: lb-xxxxxxxx # 这里需要填写你自己的lbid(与上面相同)
name: app2-ingress
namespace: ns2
spec:
rules:
- host: app2.example.com
http:
paths:
- backend:
service:
name: app2-server
port:
number: 80
path: /
pathType: Prefix
---
# ns1 的 Service
apiVersion: v1
kind: Service
metadata:
name: app1-server
namespace: ns1
labels:
app: app1-server
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: app1-server
type: NodePort
---
# ns1 的 Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: app1-server
namespace: ns1
spec:
replicas: 1
selector:
matchLabels:
app: app1-server
template:
metadata:
labels:
app: app1-server
spec:
containers:
- image: ccr.ccs.tencentyun.com/paas/anyserver
name: anyserver
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
---
# ns2 的 Service
apiVersion: v1
kind: Service
metadata:
name: app2-server
namespace: ns2
labels:
app: app2-server
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: app2-server
type: NodePort
---
# ns2 的 Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: app2-server
namespace: ns2
spec:
replicas: 1
selector:
matchLabels:
app: app2-server
template:
metadata:
labels:
app: app2-server
spec:
containers:
- image: ccr.ccs.tencentyun.com/paas/anyserver
name: anyserver
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name

支持进度

注解
解释
是否支持(复用场景下)
ingress.cloud.tencent.com/listen-ports
自定义监听端口
支持
ingress.cloud.tencent.com/direct-access
开启 CLB 直通 Pod
支持
ingress.cloud.tencent.com/auto-rewrite
使用自动重定向
支持
kubernetes.io/ingress.rule-mix
开启混合(http/https)协议
支持
kubernetes.io/ingress.http-rules
http 协议
支持
kubernetes.io/ingress.https-rules
https 协议
支持
ingress.cloud.tencent.com/enable-grace-deletion
Pod 优雅删除
支持
ingress.cloud.tencent.com/lb-rs-weight
自定义后端 RS 权重
支持
ingress.cloud.tencent.com/tke-service-config
使用手动拓展配置
支持
ingress.cloud.tencent.com/pass-to-target
默认放通
支持
ingress.cloud.tencent.com/tke-service-config-auto
使用自动生成拓展配置
不支持
ingress.cloud.tencent.com/rewrite-support
使用手动重定向
废弃

功能变更说明

部分注解在多个 Ingress 复用 CLB 场景下的使用方式和语义有所调整。

手动重定向

注解:ingress.cloud.tencent.com/rewrite-support
状态:在多个 Ingress 复用 CLB 场景下废弃。
说明:该注解已废弃,为 Ingress 变更手动重定向规则只需在 kubernetes.io/ingress.http-ruleskubernetes.io/ingress.https-rules 中配置,无需添加此注解。

自动重定向

注解ingress.cloud.tencent.com/auto-rewrite
改动:在多个 Ingress 复用 CLB 场景下调整注解删除的语义。
说明:在多个 Ingress 复用 CLB 的场景下,删除该注解与将其值设为 false 均表示关闭自动重定向。

常见问题

存量使用已有 CLB 的 Ingress 迁移问题

不支持通过为存量的 Ingress 添加注解 ingress.cloud.tencent.com/enable-group: 'true' 以迁移到复用场景。

规则/配置冲突问题

控制器正常调谐时,Ingress 注解示例如下:
ingress.cloud.tencent.com/status.conditions: '[{"type":"Ready","status":"True","lastTransitionTime":"2025-10-07T11:30:53Z","reason":"Success","message":""}]'
若复用同一 CLB 的 Ingress 出现调谐异常,错误信息将暴露于注解中,例如:
ingress.cloud.tencent.com/status.conditions: '[{"type":"Ready","status":"False","lastTransitionTime":"2025-10-07T11:35:10Z","reason":"ListenerError","message":"Sync
ClientError\\nErrorCode: E4403\\nDetails: Group: lb-fgim8ppi. The loadbalancer
has port conflict in the listeners 80_HTTP.\\nOriginError: ingress ns1/server2
listener 80_HTTP domain example.com's path / conflict: already owned by ns1/server1\\n"}]'

场景支持问题

复用 CLB 的 Ingress 不支持与使用已有 CLB 的 Ingress(未指定ingress.cloud.tencent.com/enable-group: 'true'注解) 共用同一 CLB,报错示例如下:
ingress.cloud.tencent.com/status.conditions: '[{"type":"Ready","status":"False","lastTransitionTime":"2025-10-09T12:29:05Z","reason":"LoadbalancerError","message":"Sync
ClientError\\nErrorCode: E4406\\nDetails: Group: lb-fgim8ppi. Can not use lb:
ns1/server1 used by another ingress/multiClusterIngress .\\nOriginError:
group can't reuse clb with ingress which has existLbId, please process\\n"}]'
复用 CLB 的 Ingress 暂不支持与 Service 共用同一 CLB,报错示例如下:
ingress.cloud.tencent.com/status.conditions: '[{"type":"Ready","status":"False","lastTransitionTime":"2025-10-09T12:40:01Z","reason":"LoadbalancerError","message":"Sync
ClientError\\nErrorCode: E4407\\nDetails: Group: lb-fgim8ppi. Can not use lb:
lb-fgim8ppi used by another service ns1/svc1.\\nOriginError: ingress managered by group not support reuse clb with service\\n"}]'


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈