Cloud Controller Manager(CCM)提供Kubernetes与金山云网络产品的对接能力,例如SLB、VPC等。CCM主要提供负载均衡的创建与管理功能,当Service的类型设置为Type=LoadBalancer
时,CCM组件会为该Service创建或配置金山云负载均衡SLB,包括含SLB实例、监听器、后端服务器等资源。当Service对应的后端Endpoint或者集群节点发生变化时,CCM会自动更新SLB的后端服务器组。
# kubectl set image deployment/cloud-controller-manager -n kube-system cloud-controller-manager=hub-{region-code}.kce.ksyun.com/ksyun/cloud-controller-manager:v1.32-mp
注:不同地域镜像地址中{region-code}请参考支持地域。
关于各版本的特性说明,请参考版本更新。
版本号 | 更新时间 | 更新内容 | 镜像地址 |
---|---|---|---|
v1.32 | 2022.09.20 | 1. 指定负载均衡类型为 internal 时,必须指定子网ID;若不指定将报错创建失败。此更新是为避免老版本中默认创建出公网负载均衡可能带来的问题。 2. 新增支持通过环境变量为负载均衡默认开启健康检查。 3. 新增支持IPHash和MasterSlave的转发方式。 |
hub-{region-code}.kce.ksyun.com/ksyun/cloud-controller-manager:v1.32-mp hub-{region-code}.kce.ksyun.com/ksyun/cloud-controller-manager:v1.32-arm64 hub-{region-code}.kce.ksyun.com/ksyun/cloud-controller-manager:v1.32-amd64 |
通过环境变量配置默认开启健康检查
CCM的默认配置中,创建负载均衡默认不开启健康检查。若您需要健康检查默认开启,可以通过修改deployment/cloud-controller-manager来进行全局配置,避免在每个service中通过annotation配置。
# kubectl edit deploy cloud-controller-manager -n kube-system
在CCM中增加如下环境变量:
containers:
- env:
- name: DEFAULT_HEALTHCHECK_STATE
value: start
开启此功能后,创建负载均衡时将为监听器默认开启健康检查,支持TCP和UDP协议,不支持HTTP和HTTPS。
配置IPHash和MasterSlave转发
IPHash:转发方式支持TCP和UDP协议,通过在annotations中添加指定。
metadata:
annotations:
service.beta.kubernetes.io/ksc-loadbalancer-method: "IPHash"
MasterSlave:转发方式支持TCP和UDP协议,添加的后端服务器有且只有两台,为一主一备的配置。
在annotations通过 service.beta.kubernetes.io/ksc-loadbalancer-master-slave
来指明后端服务器,通过逗号隔开,第一个为主机,第二个为备机。
metadata:
annotations:
service.beta.kubernetes.io/ksc-loadbalancer-method: "MasterSlave"
service.beta.kubernetes.io/ksc-loadbalancer-master-slave: "主机ID,备机ID"
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!