This topic provides release notes for Cloud Controller Manager (CCM).

June 2020

Version Image address Release date Description
v1.9.3.276-g372aa98-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64: v1.9.3.276-g372aa98-aliyun June 11, 2020
  • Features:
    • You are not allowed to reuse the Server Load Balancer (SLB) instances of the cluster API Server for LoadBalancer services.
    • Prometheus metrics (ccm_node_latencies_duration_milliseconds, ccm_route_latencies_duration_milliseconds, and ccm_slb_latencies_duration_milliseconds) are added to monitor information about the CCM synchronization delay from services to SLB instances.
    • Adds events for monitoring the synchronization process between the service and LoadBalancer.
  • Improvements:
    • Optimizes weight calculation for services in Local mode. You can set externalTrafficPolicy to Local to enable the Local mode. This improves the balance of loads among pods. For more information, see How to automate weight calculation for nodes in Local mode.

    • Optimizes API calls of cloud services to improve efficiency and minimizes the chances of traffic throttling.
    • When you delete a node attached with the service.beta.kubernetes.io/exclude-node label, the associated Ingress is no longer deleted.
  • Fixed bugs:
    • Fixes the bug that persistence timeout cannot be set to 0 through annotations during service upgrades.
    • Fixes the bug that bandwidth cannot be set to 100 through annotations during service upgrades.

March 2020

Version Image address Release date Description
v1.9.3.239-g40d97e1-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64: v1.9.3.239-g40d97e1-aliyun March 5, 2020
  • Features:

    For Loadbalancer services, CCM now allows you to mount both Elastic Compute Service (ECS) instance-based nodes and Elastic Network Interfaces (ENIs) to SLB instances as backend servers.

  • Improvements:
    • You must call APIs of Alibaba Cloud services over internal networks instead of the Internet. To call CCM operations, Internet access is no longer required in regions other than Beijing, Shanghai, and Dubai.

    • The API operation to query VPC route entries is now changed to DescribeRouteEntryList.This provides higher performance when hundreds of queries are received within a short period of time.

December 2019

Version Image address Release date Description
v1.9.3.220-g24b1885-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64: v1.9.3.220-g24b1885-aliyun December 31, 2019
  • Adds support for VSwitchids. You can now specify VSwitchids in CloudConfig in the following format: :vswithid1,:vswitchid2.
  • Adds support for Backoff when traffic throttling is enabled. Backoff allows failed requests to rejoin the reconcile queue every 30 to 180 seconds.
  • Adjusts the number of worker threads to be reconciled to 2. This makes full use of the queries per second (QPS) quota on API calls to accelerate the reconcile queue.
  • Fixes the crash caused by concurrent Map reads and writes through the aliyungo SDK.
  • When a node is removed from a Kubernetes cluster, CCM automatically deletes the related Virtual Private Cloud (VPC) route entries from the route table.
  • Fixes the issue where port configurations cannot be changed due to port dependencies in HTTP Forward.
  • If the backend server of an SLB instance is an ECS instance, the serverip field is no longer required when you update the backend server. This avoids errors caused by different default serverip values of API requests when you add backend servers.
  • Only when the status of a node is known, the related VPC route entries are added to the route table.
  • CCM no longer adds Network Address Translation (NAT) IP addresses to node metadata. This fixes the issue where APIServer cannot connect to kubelet in some cases.
  • When you modify the configurations of a listener, the start listener operation is only called when the listener status is inactive. This avoids throttling on API requests.

November 2019

Version Image address Release date Description
v1.9.3.193-g6cddde4-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3.193-g6cddde4-aliyun November 19, 2019
  • Adds support for adding label: service.beta.kubernetes.io/exclude-node to a node. In this case, you no longer require CCM to manage the node.
  • Adds support for simultaneously adding multiple pods (whose network type is Terway) to the backend of an SLB instance.
  • The node weight must not be less than 1 in Local mode (when externalTrafficPolicy=Local is set).
  • Fixes the issue where VServer groups are repeatedly created in case of concurrency.
  • Fixes the issue where dirty data is generated due to cache when you set node weights.

September 2019

Version Image address Release date Description
v1.9.3.164-g2105d2e-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3-164-g2105d2e-aliyun September 11, 2019
  • Adds support for updating a certificate by using annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id.
  • Adds support for port forwarding from HTTP to HTTPS by using annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port.
  • Adds support for creating an SLB instance with access control list (ACL) settings by using the following annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status, service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id, and service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type.
  • Adds support for removing unschedulable nodes by using annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend.
  • Adds support for mounting pods to the backend of an SLB instance by using annotation: service.beta.kubernetes.io/backend-type: "eni" in Terway mode. This improves network forwarding performance.
  • A service can automatically set the node weight based on the number of pods on the node in Local mode (when externalTrafficPolicy=Local is set).

April 2019

Version Image address Release date Description
v1.9.3.105-gfd4e547-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3.105-gfd4e547-aliyun April 15, 2019
  • Adds support for creating multiple route tables in a VPC network. You can now use the configuration file to set multiple route tables for a cluster.
  • Fixes the issue where updated HTTP configurations do not take effect.

March 2019

Version Image address Release date Description
v1.9.3.81-gca19cd4-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3.81-gca19cd4-aliyun March 20, 2019
  • Managed and dedicated Kubernetes clusters now support reusing existing SLB instances that are not created through Kubernetes.
  • Adds support for custom node names. Node naming is no longer strongly reliant on the nodeName field in Kubernetes.
  • Fixes the compatibility issue between CCM 1.8.4 and Kubernetes 1.11.5. We recommend that you upgrade CCM to the latest version.

December 2018

Version Image address Release date Description
v1.9.3.59-ge3bc999-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3.59-ge3bc999-aliyun December 26, 2018
  • Adds support for multiple Kubernetes services reusing the same SLB instance.
    • If an SLB instance is created when you create a service, you cannot reuse this SLB instance when you create other services. Otherwise, the SLB instance may be deleted. You can only reuse SLB instances that are manually created in the console or by calling API operations.
    • Services that reuse the same SLB instance cannot have the same frontend listening port. Otherwise, port conflicts may occur.
    • When you reuse an SLB instance, you must use the listener name and VServer group name as identifiers. Do not modify the listener name or VServer group name.
    • You can modify the name of the SLB instance.
    • You cannot reuse SLB instances across clusters.
  • Fixes the issue of traffic throttling by changing VPC route table operations from concurrent to sequential.

August 2018

Version Image address Release date Description
v1.9.3.10-gfb99107-aliyun registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3.10-gfb99107-aliyun August 15, 2018
  • Adds support for specifying the primary zone to deploy automatically created SLB instances by using annotation: service.beta.kubernetes.io/alicloud-loadbalancer-master-zoneid.
  • Adds support for specifying the secondary zone to deploy automatically created SLB instances by using annotation: service.beta.kubernetes.io/alicloud-loadbalancer-slave-zoneid.
    Note This parameter does not take effect in regions where SLB instances across primary and secondary zones are not supported.
  • Adds support for overwriting the existing listeners when you reuse an SLB instance by using annotation: service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners.
  • Adds support for specifying the bandwidth when you create a pay-by-bandwidth SLB instance by using annotation: service.beta.kubernetes.io/alicloud-loadbalancer-bandwidth. The bandwidth is shared among listeners of the SLB instance.

June 2018

Version Image address Release date Description
v1.9.3 registry.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3 June 25, 2018
  • Adds support for setting worker nodes with specific labels as backend servers by using annotation: service.beta.kubernetes.io/alicloud-loadbalancer-backend-label.
  • Adds support for specifying the type of an SLB instance, such as shared-performance or exclusive, by using annotation: service.beta.kubernetes.io/alicloud-loadbalancer-spec.
  • Adds support for services in Local mode by setting externalTrafic: Local. When this mode is enabled, only nodes that host pods can be added to the backend of the SLB instance attached to the cluster.
  • When a node is added to or removed from a cluster, the system automatically adds the node to or removes it from the backend of the SLB instance attached to the cluster.
  • When the label of a node is changed, the system automatically adds the node to or removes it from the backend of the SLB instance attached to the cluster.
  • Adds support for sticky sessions.
  • When you create a service based on an existing SLB instance, the system no longer manages listeners for you. You must manually add listeners.