TKE 服务在集群内默认启用了基于腾讯云负载均衡器实现的 Ingress,支持 HTTP、HTTPS,同时也支持在集群内自建其他 Ingress 控制器,可以根据业务需要选择不同的 Ingress 类型,比如常用的 Nginx Ingress 控制器。
方式一:通过 TKE 产品化的 Nginx ingress 组件安装,详情参考:TKE Nginx Ingress
方式二:通过 TKE 控制台 【应用市场】 安装 Nginx Ingress ,应用市场安装说明参考:TKE 应用市场
方式三:通过官网文档使用 helm 安装 Nginx Ingress,详情参考:Helm 安装 Nginx Ingress
下面将分别介绍在 TKE 中常用的两种 Ingress 类型的使用和多个 Ingress 控制器如何共同使用。
TKE 默认提供基于腾讯云 CLB 的 Ingress 功能,用户可以直接在控制台【服务与路由】的 【Ingress】中根据需要暴露七层服务,也可以通过应用 Ingress YAML 资源来创建配置,基于 CLB 的 Ingress 控制器管理逻辑如下:
kubernetes.io/ingress.class
时,TKE Ingress Controller
会管理当前 Ingress 资源。kubernetes.io/ingress.class
且值为qcloud
时,TKE Ingress Controller
会管理当前 Ingress 资源。详细配置参考:TKE Ingress Controller 使用方法。
Nginx Ingress 控制器启动时通过指定--ingress-class=<INGRESS_CONTROLLER_NAME>
参数来声明自己监听的 Ingress 配置类范围,其缺省为nginx
,Nginx Ingress 控制器指定类名示例如下:
...
spec:
template:
spec:
containers:
- name: nginx-ingress-internal-controller
args:
- /nginx-ingress-controller
- '--ingress-class=<INGRESS_CONTROLLER_NAME>'
...
当有 Ingress 资源配置中具有注解 kubernetes.io/ingress.class: "<INGRESS_CONTROLLER_NAME>"
时将被该控制器监听使用,其 Ingress 资源配置示例如下:
...
metadata:
name: foo
annotations:
kubernetes.io/ingress.class: "<INGRESS_CONTROLLER_NAME>"
...
根据上述使用配置说明,建议所有 Ingress 资源都配置注解来区分不同的 Ingress 控制器作用范围,当要使用基于 CLB 的 Ingress 时,配置注解kubernetes.io/ingress.class:"qcloud"
,当要使用 Nginx ingress 控制器时配置注解 kubernetes.io/ingress.class:"<INGRESS_CONTROLLER_NAME>"
(不要和基于CLB Ingress 冲突) 即可。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有