操作场景
Kong 通过 Ingress Controller 实现为 Kubernetes Service 配置插件、健康检查、负载均衡等功能。通过整合 Kong Ingress Controller,Kong 可直接关联到 Kubernetes 整个生命周期,Ingress Controller 将监听容器集群变化,并更新 Kong 的配置,以便能正确代理所有的流量,免去人工管理的困扰。
前提条件
已购买腾讯云容器服务,包括 TKE 标准集群 或 TKE Serverless 集群。
操作步骤
步骤一:启用 Kong Ingress Controller
1. 登录 TSE 控制台。
2. 在左侧导航栏单击云原生 API 网关 > Ingress,在页面上方选择网关实例。
3. 未关联容器集群时,页面提示需关联容器集群。
4. 单击立即关联容器集群,选择对接集群类型和集群信息,单击确定,即启用 Kong Ingress Controller。
说明:
请选择与网关实例网络连通的容器集群,包括在相同 VPC,使用云联网或对等连接打通的 VPC。
Ingress 版本支持 2.7.0,2.5.0 和 1.3.4,仅 Ingress 2.7.0 版本支持关联多容器集群。
IngressClass 默认为 kong,支持配置自定义 IngressClass,用来标识网关实例。
5. 确认已展示选择的容器集群信息。
6. 创建对应 Ingress 规则,请配置 Kubernetes Ingress 资源中的 ingress.class 为步骤 4 中配置的 IngressClass 名称。
注意
对于 apiVersion 为 v1beta1 版本的 Ingress 资源,请参考如下示例进行配置:
apiVersion: extensions/v1beta1kind: Ingressmetadata:name: demoannotations:kubernetes.io/ingress.class: kongspec:rules:- http:paths:- path: /tsebackend:serviceName: nginxservicePort: 80
对于 apiVersion 为 v1 版本的 Ingress 资源,请参考如下示例进行配置:
apiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: demo-v1annotations:konghq.com/plugins: "httpbin-auth"spec:ingressClassName: kongrules:- http:paths:- path: /demo-v1pathType: Prefixbackend:service:name: nginxport:number: 80
7. 进入服务列表页面,查看是否已生成对应的服务。
8. 若已生成对应的服务,单击服务的名称,进入服务详情页面,单击服务信息页签,查看是否有对应的节点信息。
步骤2:停止 Kong Ingress Controller
1. 在 Kong 实例详情页,查看基本信息 > Kong Ingress Controller 卡片。
2. 单击解除关联 操作,确认后解除集群关联。
注意
停止后,Kong 不再监听容器集群变化,资源变更无法同步到网关实例中,通过网关访问容器服务可能出现异常。