上云无忧 > 文档中心 > 腾讯云容器服务 TKE 标准集群 Service 管理 - Service Annotation 说明
容器服务 TKE
腾讯云容器服务 TKE 标准集群 Service 管理 - Service Annotation 说明

文档简介:
您可以通过以下 Annotation 注解配置 Service,以实现更丰富的负载均衡的能力。 注解使用方式: apiVersion: v1 kind: Service metadata: annotations: service.kubernetes.io/tke-existed-lbid: lb-6swtxxxx name: test ........
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
您可以通过以下 Annotation 注解配置 Service,以实现更丰富的负载均衡的能力。

注解使用方式

		
apiVersion: v1
kind: Service
metadata:
annotations:
service.kubernetes.io/tke-existed-lbid: lb-6swtxxxx
name: test
........

Annotation 集合

service.kubernetes.io/loadbalance-id

说明: 只读注解,提供当前 Service 引用的负载均衡 LoadBalanceId。您可以在腾讯云 CLB 控制台查看与集群在同一 VPC 下的 CLB 实例 ID。

service.kubernetes.io/qcloud-loadbalancer-internal-subnetid

说明: 通过该 Annotation 指定创建内网类型 CLB,取值为子网 ID。
使用示例:
service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: subnet-xxxxxxxx

service.kubernetes.io/tke-existed-lbid

说明: 使用已存在的 CLB,需注意不同使用方式对腾讯云标签的影响。
使用示例: 使用方式详情见 Service 使用已有 CLB

service.kubernetes.io/local-svc-only-bind-node-with-pod

说明: Service Local 模式下仅绑定有 Pod 存在的节点。
使用示例: 使用方式详情见 Service Local 模式

service.cloud.tencent.com/local-svc-weighted-balance

说明:
与 Annotation service.kubernetes.io/local-svc-only-bind-node-with-pod 搭配使用。
CLB 后端的权重将会由节点上工作负载的数量决定。
使用示例: 使用方式详情见 Service Local 模式

service.kubernetes.io/qcloud-loadbalancer-backends-label

说明: 指定标签设置负载均衡后端绑定的节点。
使用示例: 使用方式详情见 指定接入层后端

service.cloud.tencent.com/direct-access

说明: 使用负载均衡直连 Pod。
使用示例: 使用方式详情见 使用 LoadBalancer 直连 Pod 模式 Service

service.cloud.tencent.com/tke-service-config

说明: 通过 tke-service-config 配置负载均衡 CLB。
使用示例: 使用方式详情见 Service 负载均衡配置

service.cloud.tencent.com/tke-service-config-auto

说明: 通过该注解可自动创建 TkeServiceConfig。
使用示例: 使用方式详情见 Service 与 TkeServiceConfig 关联行为

service.kubernetes.io/loadbalance-nat-ipv6

说明: 只读注解,创建 NAT64 IPv6 负载均衡时,负载均衡的 IPv6 地址将会展示到注解中。
使用示例:
service.kubernetes.io/loadbalance-nat-ipv6: "2402:4e00:1402:7200:0:9223:5842:2a44"

service.kubernetes.io/loadbalance-type(即将废弃)

说明:
控制自动创建的负载均衡类型,传统型负载均衡、应用型负载均衡。
可选值:yunapi_clb(传统型)、classic(传统型)、yunapiv3_forward_clb(应用型)
默认值:yunapiv3_forward_clb(应用型)
注意
除非有特殊原因,否则不推荐使用传统型负载均衡,传统型负载均衡已经停止迭代准备下线,并且缺失大量特性。

service.cloud.tencent.com/specify-protocol

说明: 支持通过注解为指定的监听端口配置 TCP、UDP、TCP SSL、HTTP、HTTPS。
使用示例: 使用方式详情见 Service 扩展协议

service.kubernetes.io/service.extensiveParameters

说明: 该 Annotation 使用的是 CLB 创建时的参数,当前仅在创建时支持配置,创建后不支持修改,创建后修改本注解无效。 参考 创建负载均衡实例 为创建负载均衡追加自定义参数。
使用示例:
创建 NAT64 IPv6 实例: service.kubernetes.io/service.extensiveParameters: '{"AddressIPVersion":"IPV6"}'
购买电信负载均衡: service.kubernetes.io/service.extensiveParameters: '{"VipIsp":"CTCC"}'
创建时自定义 CLB 名字: service.kubernetes.io/service.extensiveParameters: '{"LoadBalancerName":"my_cutom_lb_name"}'

service.cloud.tencent.com/enable-grace-shutdown

说明: 支持 CLB 直连模式的优雅停机。Pod 被删除,此时 Pod 里有 DeletionTimestamp,且状态置为 Terminating。此时调整 CLB 到该 Pod 的权重为 0。
使用示例: 仅在直连模式下支持,需要配合使用 service.cloud.tencent.com/direct-access,使用方式详情见 Service 优雅停机

service.cloud.tencent.com/enable-grace-shutdown-tkex

说明: 支持 CLB 直连模式的优雅退出。Endpoint 对象中 endpoints 是否 not-ready,将 not-ready 的 CLB 后端权重置为 0。
使用示例: 仅在直连模式下支持,需要配合使用 service.cloud.tencent.com/direct-access,使用方式详情见 Service 优雅停机中的相关能力。

service.kubernetes.io/qcloud-loadbalancer-internet-charge-type

说明: 负载均衡的付费类型,当前仅在创建时支持配置,创建后不支持修改付费类型,创建后修改本注解无效。 指定创建负载均衡时,负载均衡的付费类型。请配合 service.kubernetes.io/qcloud-loadbalancer-internet-max-bandwidth-out 注解一起使用。
可选值:
BANDWIDTH_POSTPAID_BY_HOUR 按带宽按小时后计费
TRAFFIC_POSTPAID_BY_HOUR 按流量按小时后计费
使用示例:
service.kubernetes.io/qcloud-loadbalancer-internet-charge-type: "TRAFFIC_POSTPAID_BY_HOUR"

service.kubernetes.io/qcloud-loadbalancer-internet-max-bandwidth-out

说明: CLB 带宽设置,当前仅在创建时支持配置,创建后不支持修改带宽,创建后修改本注解无效。 指定创建负载均衡时,负载均衡的最大出带宽,仅对公网属性的 LB 生效。需配合 service.kubernetes.io/qcloud-loadbalancer-internet-charge-type 注解一起使用。
可选值: 范围支持1到2048,单位 Mbps。
使用示例:
service.kubernetes.io/qcloud-loadbalancer-internet-max-bandwidth-out: "2048"

service.cloud.tencent.com/security-groups

说明: 通过该 Annotation 可以为 CLB 类型的 Service 绑定安全组,单个 CLB 最多可绑定5个安全组。
注意:
请查看 CLB 使用安全组的使用限制
通常需要配合安全组默认放通的能力,CLB 和 CVM 之间默认放通,来自 CLB 的流量只需通过 CLB 上安全组的校验。对应 Annotation 为:service.cloud.tencent.com/pass-to-target
对于 Service 使用已有 CLB 的场景,若多个 Service 声明了不同的安全组,会有逻辑冲突的问题。
使用示例:
service.cloud.tencent.com/security-groups: "sg-xxxxxx,sg-xxxxxx"

service.cloud.tencent.com/pass-to-target

说明: 通过该 Annotation 可以为 CLB 类型的 Service 配置安全组默认放通的能力,CLB 和 CVM 之间默认放通,来自 CLB 的流量只需通过 CLB 上安全组的校验。
注意:
请查看 CLB 使用安全组的使用限制
通常需要配合绑定安全组的能力。对应 Annotation 为:service.cloud.tencent.com/security-groups
对于 Service 使用已有 CLB 的场景,若多个 Service 声明了不同的放通配置,会有逻辑冲突的问题。
使用示例:
service.cloud.tencent.com/pass-to-target: "true"
相似文档
  • 您可以通过以下 Annotation 注解配置 Service,以实现更丰富的负载均衡的能力。 注解使用方式: apiVersion: v1 kind: Service metadata: annotations: service.kubernetes.io/tke-existed-lbid: lb-6swtxxxx name: test ........
  • 各类型 Ingress Controllers 介绍: 应用型 CLB: 应用型 CLB 是基于腾讯云负载均衡器 CLB 实现的 TKE Ingress Controller,可以配置实现不同 URL 访问到集群内不同的 Service。CLB 直接将流量通过 NodePort 转发至 Pod(CLB 直连 Pod 时直接转发到 Pod),一条 Ingress 配置绑定一个 CLB 实例(IP),适合仅需做简单路由管理,对 IP 地址收敛不敏感的场景。
  • Service 提供了基于四层网络的集群内容器服务的暴露能力,Service 暴露类型(例如 ClusterIP、NodePort 或 LoadBalancer)均基于四层网络服务的访问入口,缺少基于七层网络的负载均衡、SSL 或基于名称的虚拟主机等七层网络能力。Ingress 提供七层网络下 HTTP、 HTTPS 协议服务的暴露,及七层网络下的常见能力。
  • 简介: Ingress 是允许访问到集群内 Service 的规则的集合,您可以通过配置转发规则,实现不同 URL 可以访问到集群内不同的 Service。 为了使 Ingress 资源正常工作,集群必须运行 Ingress-controller。TKE 服务在集群内默认启用了基于腾讯云负载均衡器实现的 l7-lb-controller,支持 HTTP、HTTPS,同时也支持在集群内自建其他 Ingress 控制器,您可以根据您的业务需要选择不同的 Ingress 类型。
  • 腾讯云容器服务 TKE 具备通过 kubernetes.io/ingress.existLbId: 注解使用已有负载均衡的功能,您可使用该注解指定 Ingress 关联的负载均衡实例。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部