通过Annotation配置负载均衡类型的服务 注解名称 描述 示例 支持的CCM版本 service.beta.kubernetes.io/ctyunloadbalancerid 指定已有负载均衡,取值为负载均衡实例的ID。删除service时该 ELB不会被删除 lb v1.0.1及以上 service.beta.kubernetes.io/ctyunloadbalancerspec 指定新建负载均衡的规格,如elb.s2.small elb.s2.small v1.0.1及以上 service.beta.kubernetes.io/ctyunloadbalanceraddresstype 指定新建负载均衡的公网私网类型,取值: intranet:负载均衡地址类型为私网,intranet为默认值 internet:负载均衡地址类型为公网 internet v1.0.1及以上 service.beta.kubernetes.io/ctyunloadbalancerprotocolport 指定负载均衡监听HTTP协议或HTTPS协议,可指定多个监听,多个监听之间以逗号“,”分割 https:443,http:80 v1.0.4及以上 service.beta.kubernetes.io/ctyunloadbalancersslcert 指定SSL证书,取值为SSL证书ID,可在负载均衡控制台的证书管理页面查看证书ID。 仅监听协议为HTTPS协议时需要指定 cert v1.0.4及以上 service.beta.kubernetes.io/ctyunloadbalancerxforwardedfor 指定负载均衡监听器附加XForwardedFor头字段,通过开启该参数,后端服务可获取客户端源IP。取值为“true”或“false” 仅支持监听协议为HTTP和HTTPS协议 "true" v1.0.4及以上 service.beta.kubernetes.io/ctyunloadbalancerchargetype 指定创建公网负载均衡时,公网的计费类型,取值: bandwidth:按带宽计费 traffic:按流量计费,traffic为默认值 traffic v1.0.5及以上 service.beta.kubernetes.io/ctyunloadbalancerbandwidth 计费类型为“bandwidth”时,可指定带宽的大小,值为数字类型,默认为1 Mbps 5 v1.0.5及以上 service.beta.kubernetes.io/ctyunloadbalancercyclecount 指定负载均衡的计费周期,值为数字类型,表示购买月数,默认为1个月 1 v1.0.5及以上 service.beta.kubernetes.io/ctyunloadbalancereipid 指定新建公网负载均衡时,可指定绑定已有的弹性IP,取值为弹性IP的ID,可在网络控制台的弹性IP详情页面查看ID eip v1.0.5及以上 service.beta.kubernetes.io/ctyunloadbalancerprojectid 指定新建负载均衡所属的企业项目,取值为企业项目ID,可在IAM控制台中企业项目详情查看ID 0 v1.0.5及以上 service.beta.kubernetes.io/ctyunloadbalancerenableipv6 指定新建负载均衡时,可指定开启负载均衡的ipv6 "true" v1.0.7及以上 service.beta.kubernetes.io/ctyunloadbalanceripv6bandwidthid 指定新建支持ipv6的公网负载均衡时,需指定IPv6带宽ID,可在网络控制台的IPv6带宽详情页面查看ID。如果没有IPv6带宽,请先创建一个 v1.0.7及以上 service.beta.kubernetes.io/ctyunloadbalancerenablelistenernat64 指定支持ipv6的负载均衡时,可指定开启监听器的nat64,支持负载均衡将ipv6流量转发到ipv4的后端 "true" v1.0.7及以上 service.beta.kubernetes.io/ctyunloadbalanceripv6address 指定新建支持ipv6的负载均衡时,可指定负载均衡的ipv6地址(该地址为负载均衡所在子网的ipv6地址段中未被分配的ip),未指定则由系统随机分配 v1.0.7及以上 service.beta.kubernetes.io/ctyunloadbalanceroverridelisteners 指定已有负载均衡时,可指定是否强制覆盖已有监听 "true" v1.0.7及以上 service.beta.kubernetes.io/ctyunloadbalancerhealthcheckflag 健康检查开关,取值off或on。off:不启用;on:启用 on v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalancerhealthcheckoption 配置全局健康检查的选项,对service下所有端口配置起作用。内容为json类型数据,数据结构见下表“健康检查字段数据结构说明” 注意 使用该字段,需确保service下端口配置的protocol协议一致 v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalancerhealthcheckoptions 配置健康检查的选项,支持为service下单个端口或部分端口配置健康检查。内容为数组形式的json数据,数据结构参考表“健康检查字段数据结构说明” 注意 该字段不能与“service.beta.kubernetes.io/ctyunloadbalancerhealthcheckoption”同时使用 v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalanceraclflag 指定访问控制的类型,取值: inherit:继承已有ELB配置; all:允许所有IP访问; white:白名单; black:黑名单 white v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalanceraclstatus 访问控制开关,值为on或off,只有为on时,黑/白名单才会生效 on v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalanceraclid 指定访问策略组的ID,可在负载均衡控制台的访问策略组页面查看策略ID ac v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalancerestablishtimeout 指定建立连接超时时间,只用于TCP监听 "30" v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalanceridletimeout 指定空闲超时时间,只作用于HTTP/HTTPS监听 "30" v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalancerresponsetimeout 指定响应超时时间,只作用于HTTP/HTTPS监听 "5" v1.0.8及以上 service.beta.kubernetes.io/ctyunloadbalancerproxyprotocolflag 指定是否开启后端主机组的Proxy Protocol,ProxyProtocol协议会携带客户端源地址到后端服务器。取值: on:开启 off:关闭 注意 该功能不支持在线平滑开启,切换到ProxyProtocol需要业务停服升级,请谨慎配置。 on v1.1.1及以上 service.beta.kubernetes.io/ctyunloadbalanceripmode 指定Service的External IP模式,值为 vip 或 proxy vip:集群内访问Service不会经过ELB,直接经由ipvs/iptables转发到Service对应的后端Pod proxy:集群内访问Service会先经过ELB,最终再转发到对应后端Pod 注意 该特性要求Kubernetes集群版本大于v1.29 proxy v1.2.0及以上 service.beta.kubernetes.io/ctyunloadbalanceriptype 指定Service的External IP地址类型,值为 private 或 public private:设置ELB的私网IP为Service的External IP public:设置ELB的公网IP为Service的External IP public v1.2.0及以上 service.beta.kubernetes.io/ctyunloadbalancerpreservesourceip 指定是否开启客户端源地址保持,值为 true 或 false true:开启 false:关闭 注意 客户端源地址保持要求Service的ExternalTrafficPolicy必须为Local。开启该特性,需确保集群节点的弹性网卡对应的安全组已放通客户端源IP,避免影响网络连通 true v1.5.0及以上