首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TKE上如何快速修改clb类型ingress和service配置

TKE上如何快速修改clb类型ingress和service配置

原创
作者头像
聂伟星
发布2023-06-03 10:05:21
5140
发布2023-06-03 10:05:21
举报

tke上配置创建了clb类型的ingress和service,tke这边的控制器默认都会调clb接口创建一个clb实例,然后将service或者ingress配置同步到clb对应的监听。

由tke这边自动创建的clb实例,clb生命周期都是由tke这边控制器负责管理,并且监听配置也是由tke这边单向同步到clb,也就是说,如果clb被tke的ingress或者service关联,在clb侧修改监听配置,会被tke这边同步配置覆盖。

如果我希望修改ingress或者service对应监听配置,要如何改呢?tke这边为clb类型的service和ingress提供了TkeServiceConfig对象来修改监听配置。

下面我们来说下如何在tke集群快速生成TkeServiceConfig来修改service和ingress的监听配置。

1. 修改service监听配置

集群下有一个测试的clb类型service,这里我们改下监听的请求转发方式和关闭健康检查,自动创建的clb,请求转发方式默认是轮询,健康检查默认是开启的。

TkeServiceConfig支持修改service对应4层监听的参数可以参考文档https://cloud.tencent.com/document/product/457/45490

接下来我们生成下TkeServiceConfig,这里可以自己参考文档写yaml,当然还可以自动生成,推荐自动生成。

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.kubernetes.io/loadbalance-id: lb-xxxx
    service.kubernetes.io/qcloud-loadbalancer-clusterid: cls-xxx
    service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: subnet-xxxx
    service.cloud.tencent.com/tke-service-config-auto: "true"
  creationTimestamp: "2023-06-03T01:09:58Z"
  labels:
    k8s-app: nginx
    qcloud-app: nginx
.......

在service配置service.cloud.tencent.com/tke-service-config-auto: "true"这个注解就会自动生成TkeServiceConfig。

接下来我们直接改自动生成的TkeServiceConfig修改clb监听配置即可,tke控制台不显示TkeServiceConfig,直接kubeclt命令edit修改。

这里我关闭了健康检查和转发方式为最小连接数,再到clb控制台看看监听配置是否生效。

clb控制台查看监听配置已生效,说明修改配置成功。

这里如何后续service不需要了,删除service,会同步删除对应的TkeServiceConfig。

2. 修改ingress监听配置

集群下有一个测试的内网clb类型ingress,这里我们改下7层监听的健康检查路径,自动创建的clb,健康检查的路径默认就是ingress配置规则的转发路径。

TkeServiceConfig支持修改ingress对应7层监听的参数可以参考文档https://cloud.tencent.com/document/product/457/45700

clb控制台健康检查路径默认是/目录,因为ingress配置转发规则是/根目录,下面我们将http和https监听都改成/checkHealth。

接下来我们给ingress生成下TkeServiceConfig,这里可以自己参考文档写yaml,当然还可以自动生成,推荐自动生成。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    ingress.cloud.tencent.com/direct-access: "false"
    ingress.cloud.tencent.com/status.conditions: '[{"type":"Ready","status":"True","lastTransitionTime":"2023-06-03T01:46:26Z","reason":"Success","message":""}]'
    kubernetes.io/ingress.class: qcloud
    kubernetes.io/ingress.http-rules: '[{"host":"a.com","path":"/","backend":{"serviceName":"springboot","servicePort":"8080"}}]'
    kubernetes.io/ingress.https-rules: '[{"host":"a.com","path":"/","backend":{"serviceName":"springboot","servicePort":"8080"}}]'
    kubernetes.io/ingress.qcloud-loadbalance-id: lb-xxxx
    kubernetes.io/ingress.rule-mix: "true"
    kubernetes.io/ingress.subnetId: subnet-xxx
    ingress.cloud.tencent.com/tke-service-config-auto: "true"
  creationTimestamp: "2023-06-03T01:42:58Z"

在ingress配置ingress.cloud.tencent.com/tke-service-config-auto:"true"这个注解就会自动生成TkeServiceConfig。

接下来我们直接改自动生成的TkeServiceConfig修改clb监听配置即可,tke控制台不显示TkeServiceConfig,直接kubeclt命令edit修改。

我们修改TkeServiceConfig,将监听的健康检查路径改成了/checkHealth,在clb查看是正常生效的,说明修改配置成功。

这里如何后续ingress不需要了,删除ingress,会同步删除对应的TkeServiceConfig。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 修改service监听配置
  • 2. 修改ingress监听配置
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档