Cloud Controller Manager

Cloud Controller Manager用于在Kubernetes集群中管理负载均衡服务。本文介绍Cloud Controller Manager的功能、使用说明和变更记录。

组件介绍

Cloud Controller Manager(简称CCM)提供了Kubernetes与阿里云基础产品的对接能力,用于在ACS集群中管理阿里云负载均衡服务,支持传统型负载均衡CLB和网络型负载均衡NLB。具体功能如下:

  • Service的类型设置为Type=LoadBalancer时,CCM会为该Service创建或配置CLBNLB,包括CLB实例或NLB实例、监听和后端服务器等资源。

  • Service对应的后端Endpoint或者集群虚拟节点发生变化时,CCM会自动更新CLBNLB的后端服务器组。

使用说明

变更记录

202509

版本号

镜像地址

变更时间

变更内容

变更影响

v2.12.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/cloud-controller-manager:v2.12.1

20250911

该版本正在灰度中。
重要

自该版本起,新建CLB实例默认计费类型将由按规格计费(PayBySpec)变更为按使用量计费(PayByCLCU),已有CLB实例不受影响。关于该变更的详细信息,请见【产品变更】关于新建ServiceNginx Ingress Controller默认负载均衡类型与计费方式变更的公告

  • 新功能:

    • 默认创建的CLB实例计费类型由按规格计费变更为按使用量计费。

  • 优化:

    • 提升CLB/NLB处理速度,优化性能。

    • NLB调用OpenAPI产生限流时,会进行一定次数的等待重试。

    • 优化Service、路由及节点的同步耗时相关指标。

    • readinessGate重试等待时间由指数级改为固定值。

  • 修复缺陷:

    • 修复了NLB配置使用监听端口段且手动配置了健康检查时,无法自动使用后端targetPort作为健康检查端口的问题。

此次升级不会对业务造成影响。

202507

版本号

镜像地址

变更时间

变更内容

变更影响

v2.11.4

registry-cn-hangzhou.ack.aliyuncs.com/acs/cloud-controller-manager:v2.11.4

20250717

  • 修复缺陷

    • 修复使用service.beta.kubernetes.io/alibaba-cloud-loadbalancer-listener-port-range创建NLB监听端口段失败的问题。

此次升级不会对业务造成影响。

202506

版本号

镜像地址

变更时间

变更内容

变更影响

v2.11.3

registry-cn-hangzhou.ack.aliyuncs.com/acs/cloud-controller-manager:v2.11.3

20250627

  • 优化:

    • 当创建服务器组时服务器组为空,跳过添加服务器的OpenAPI调用。

  • 修复缺陷

    • 修复Service配置中targetPort使用端口名称且仅选择部分Pod时,服务器添加失败的问题。

此次升级不会对业务造成影响。

202505

版本号

镜像地址

变更时间

变更内容

变更影响

v2.11.2

registry-cn-hangzhou.ack.aliyuncs.com/acs/cloud-controller-manager:v2.11.2

20250529

  • 优化:

    • 优化服务器组同步逻辑,减少OpenAPI调用。

此次升级不会对业务造成影响。

v2.11.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/cloud-controller-manager:v2.11.1

20250515

  • 新功能:

    • 支持通过service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ignore-weight-update忽略更新后端服务器权重。

    • CLB支持配置多ACL ID,配置多个访问控制策略组。

    • NLB支持配置通过service.beta.kubernetes.io/alibaba-cloud-loadbalancer-listener-port-range配置监听端口段。

    • 支持通过NLB_ENDPOINT环境变量配置自定义NLB OpenAPI端点。

  • 优化:

    • 优化节点加入和添加路由时的处理速度,减少OpenAPI调用次数。

    • Service同步监听和服务器组操作并行化,降低单次Service同步时间。

    • 调用OpenAPI创建NLB实例时若未指定EIP实例IDIPv4私网地址,则传递空指针,而非空字符串。

    • 调用DescribeNetworkInterfaces接口时,使用NextToken替代PageSize方式进行分页。

  • 修复缺陷:

    • NLB修复Service在使用ReadinessGate时,Pod未就绪时不进行重试的问题。

此次升级不会对业务造成影响。

202501

版本号

变更时间

变更内容

变更影响

v2.10.2

20240120

  • 新功能:

    • 支持为节点添加node.alibabacloud.com/spot-strategy标签,标识节点是否为Spot实例。

  • 优化:

    • 同一Service的多个监听关联同一服务器组时,服务器组只同步一次。

  • 修复缺陷:

    • 修复当LoadBalancer类型的Service改为其他类型后又修改回LoadBalancer类型时,LB实例无法正常创建的问题。

    • 修复更新Pod Readiness状态时,报错Pod无法找到的问题。

    • 更新LB实例标签时,忽略以acs:开头的系统标签。

此次升级不会对业务造成影响。

202412

版本号

变更时间

变更内容

变更影响

v2.10.0

20241202

重要

自此版本起,对Annotation service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags值的更改将对已创建和复用的LB实例生效。使用该Annotation时,请勿在控制台上对LB标签进行任何修改操作,并在升级到此版本前确认LB上标签与Annotation是否一致。

  • 新功能:

    • 支持readinessGate能力。

    • 支持实例创建后通过Annotation service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags修改标签。

    • 支持通过Annotation service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-deleteService删除后保留LB。

    • 支持为节点添加node.alibabacloud.com/nodepool-idnode.alibabacloud.com/instance-charge-type标签。

    • NLB支持通过Annotation service.beta.kubernetes.io/alibaba-cloud-loadbalancer-alpnservice.beta.kubernetes.io/alibaba-cloud-loadbalancer-alpn-policy指定TCPSSL类型监听的ALPN策略。

  • 优化:

    • 升级基础镜像版本至Alpine 3.18。

    • 优化日志输出,添加reconcileID

  • 修复缺陷:

    • 修复NLB实例中Service可能会被CLB Controller错误接管的问题。

此次升级不会对业务造成影响。

202406

版本号

变更时间

变更内容

变更影响

v2.8.3

2024630

  • 新功能:

    • 支持Addon Token授权模式。

    • NLB支持通过service.beta.kubernetes.io/alibaba-cloud-loadbalancer-server-group-typeAnnotation来创建IP类型服务器组。关于NLB服务器组分类及说明,请参见NLB服务器组

  • 优化:

    • Client直接访问API Server,避免因为缓存机制导致的脏数据。

    • NLB:优化服务器组创建逻辑,避免偶发重复创建服务器组的问题。

    • CLB:CLB挂载Pod ENI时新增IP地址校验,IP地址需处于集群VPC内。

此次升级不会对业务造成影响。