service.cloud.tencent.com/tke-service-config:<config-name>,您可以指定目标配置并应用到 Service 中。spec.loadBalancer.l4Listeners.protocol:四层协议spec.loadBalancer.l4Listeners.port:监听端口service.cloud.tencent.com/tke-service-config-auto: "true",将自动创建 <ServiceName>-auto-service-config。您也可以通过 service.cloud.tencent.com/tke-service-config:<config-name> 直接指定您自行创建的 TkeServiceConfig。两个注解不可同时使用,且手动指定的<config-name>不能以 -auto-service-config 与 -auto-ingress-config 为后缀。apiVersion: cloud.tencent.com/v1alpha1kind: TkeServiceConfigmetadata:name: sample # 配置的名称namespace: default # 配置的命名空间spec:loadBalancer:l4Listeners: # 四层规则配置,适用于Service的监听器配置。- protocol: TCP # 协议端口锚定Service的四层规则。必填,枚举值:TCP|UDP。port: 80 # 必填,可选值:1~65535。deregisterTargetRst: true # 选填,布尔值。双向 RST 开关,建议非直连类型 Service 启用,非直连 Service 的连接会经过 NodePort 中转,不启用双向 RST 可能导致下线集群节点后造成业务中断。session: # 会话保持相关配置。选填enable: true # 是否开启会话保持。必填,布尔值sessionExpireTime: 100 # 会话保持的时间。选填,默认值:30,可选值:30~3600,单位:秒。healthCheck: # 健康检查相关配置。选填enable: true # 是否开启健康检查。必填,布尔值checkType: "TCP" # 健康检查类型。选填,枚举值:TCP|HTTP|CUSTOM(仅适用于TCP/UDP监听器,其中UDP监听器只支持CUSTOM;如果使用自定义健康检查功能,则必传)。intervalTime: 10 # 健康检查探测间隔时间。选填,默认值:5,可选值:5~300,单位:秒。healthNum: 2 # 健康阈值,表示当连续探测几次健康则表示该转发正常。选填,默认值:3,可选值:2~10,单位:次。unHealthNum: 3 # 不健康阈值,表示当连续探测几次健康则表示该转发异常。选填,默认值:3,可选值:2~10,单位:次。timeout: 10 # 健康检查的响应超时时间,响应超时时间要小于检查间隔时间。选填,默认值:2,可选值:2~60,单位:秒。httpCode: 31 # 健康检查状态码,选填,默认值:31,可选值:1~31。仅适用于HTTP/HTTPS转发规则、TCP监听器的HTTP健康检查方式。 1 表示探测后返回值 1xx 代表健康,2 表示返回 2xx 代表健康,4 表示返回 3xx 代表健康,8 表示返回 4xx 代表健康,16 表示返回 5xx 代表健康。若希望多种返回码都可代表健康,则将相应的值相加。httpCheckPath: "/" # 健康检查路径,选填。仅适用于HTTP/HTTPS转发规则、TCP监听器的HTTP健康检查方式。httpCheckDomain: "" # 健康检查域名,选填。默认为七层规则域名(仅适用于HTTP/HTTPS转发规则、TCP监听器的HTTP健康检查方式)。httpCheckMethod: "HEAD" # 健康检查方法(仅适用于HTTP/HTTPS转发规则、TCP监听器的HTTP健康检查方式),默认值:HEAD,可选值HEAD或GET。httpVersion: "HTTP/1.1" # 自定义探测相关参数。健康检查协议CheckType的值取HTTP时,必传此字段,代表后端服务的HTTP版本:HTTP/1.0、HTTP/1.1;(仅适用于TCP监听器)。sourceIpType: 0 # 健康检查探测来源。0(VIP为源IP) 1(100.64为源IP)。对于域名化clb默认值为1且只能为1,对于非域名化的clb默认值不一定,可在clb控制台配置页面看能否看到VIP探测方式,如能看到默认值为0,否则为1,更多详情查看 https://www.tencentcloud.com/document/product/214/53639scheduler: WRR # 请求转发方式配置。WRR、LEAST_CONN 分别表示按权重轮询、最小连接数。选填,枚举值:WRR|LEAST_CONN。
apiVersion: apps/v1kind: Deploymentmetadata:labels:app: jettyname: jetty-deploymentnamespace: defaultspec:progressDeadlineSeconds: 600replicas: 3revisionHistoryLimit: 10selector:matchLabels:app: jettystrategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:creationTimestamp: nulllabels:app: jettyspec:containers:- image: jetty:9.4.27-jre11imagePullPolicy: IfNotPresentname: jettyports:- containerPort: 80protocol: TCP- containerPort: 443protocol: TCPresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilednsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30
apiVersion: v1kind: Servicemetadata:annotations:service.cloud.tencent.com/tke-service-config: jetty-service-config# 指定已有的 tke-service-config# service.cloud.tencent.com/tke-service-config-auto: "true"# 自动创建 tke-service-configname: jetty-servicenamespace: defaultspec:ports:- name: tcp-80-80port: 80protocol: TCPtargetPort: 80- name: tcp-443-443port: 443protocol: TCPtargetPort: 443selector:app: jettytype: LoadBalancer
jetty-service-config 负载均衡配置。apiVersion: cloud.tencent.com/v1alpha1kind: TkeServiceConfigmetadata:name: jetty-service-confignamespace: defaultspec:loadBalancer:l4Listeners:- protocol: TCPport: 80deregisterTargetRst: truehealthCheck:enable: false- protocol: TCPport: 443session:enable: truesessionExpireTime: 3600healthCheck:enable: trueintervalTime: 10healthNum: 2unHealthNum: 2timeout: 5scheduler: WRR
jetty-service-config。且在四层监听器配置中,声明了以下两段配置:$ kubectl apply -f jetty-deployment.yaml$ kubectl apply -f jetty-service.yaml$ kubectl apply -f jetty-service-config.yaml$ kubectl get podsNAME READY STATUS RESTARTS AGEjetty-deployment-8694c44b4c-cxscn 1/1 Running 0 8m8sjetty-deployment-8694c44b4c-mk285 1/1 Running 0 8m8sjetty-deployment-8694c44b4c-rjrtm 1/1 Running 0 8m8s$ kubectl get service jetty-serviceNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEjetty LoadBalancer 10.127.255.209 150.158.220.237 80:31338/TCP,443:32373/TCP 2m47s# 获取TkeServiceConfig配置列表$ kubectl get tkeserviceconfigs.cloud.tencent.comNAME AGEjetty-service-config 52s# 更新修改TkeServiceConfig配置$ kubectl edit tkeserviceconfigs.cloud.tencent.com jetty-service-configtkeserviceconfig.cloud.tencent.com/jetty-service-config edited
文档反馈