All Products
Search
Document Center

Container Compute Service:How to handle the issue that the CCM fails to pass the update precheck

Last Updated:Jan 21, 2025

This topic describes how to troubleshoot the issue that the Cloud Controller Manager (CCM) fails to pass the update precheck when you use Container Compute Service (ACS) clusters.

Solution

Considerations

  • Before you update the CCM, we recommend that you learn about the new features of the CCM. For more information, see Cloud Controller Manager.

  • If you modified a Service during the update precheck, the precheck result may be inaccurate. In this case, re-initiate a precheck. If the CCM fails to pass the precheck, submit a ticket.

Error messages and solutions for the CCM update precheck

Error message

Cause

Solution

create a new load balancer

A Server Load Balancer (SLB) instance is created when you create a Service or synchronize an existing Service.

Log on to the console or run the following command to check whether the Service is in the Pending state. If the Service is in the Running state and a public IP address is used, perform the precheck again. If the Service is in the Pending state, submit a ticket.

kubectl get svc [$Svc_Name] -n [$Namespace]
Note
  • [$Svc_Name] specifies the name of the Service.

  • [$Namespace] specifies the namespace of the Service.

modify the slb instance spec

The type of the SLB instance are different from those specified for the Service.

In the annotation of the Service object, set service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec to the specifications of the SLB instance. For more information, see Use SLB to access services.

delete the load balancer

The Service does not exist, but the SLB instance associated with the Service still exists.

If you no longer need the SLB instance, delete the SLB instance in the SLB console. If you still need the SLB instance, submit a ticket.

modify the slb internet spec

The maximum bandwidth or billing method of the SLB instance is different from that specified for the Service.

  • If the specified bandwidth is invalid, in the annotation of the Service object, set service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth to the corresponding setting of the SLB instance. For more information, see Create a pay-by-bandwidth SLB instance.

  • If the specified billing method is invalid, in the annotation of the Service object, set service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type to the corresponding setting of the SLB instance. For more information, see Create a pay-by-bandwidth SLB instance.

remove backend servers

The endpoint of the Service is different from that specified for the backend server of the SLB instance.

  • If you have not modified the backend server configurations in the SLB console:

    Do not change the endpoint of the Service during the update precheck and perform the precheck again.

  • If you have manually modified the backend server configurations in the SLB console:

    Restore the vServer group configurations of the SLB instance and perform the precheck again.

add backend servers

stop listener

The port of the Service is different from that specified for the SLB listener.

  • If you have not modified the listener configurations in the SLB console:

    Do not modify the Service during the update precheck and perform the precheck again.

  • If you have manually modified the listener configurations in the SLB console:

    Run the following command to find the different setting, restore the listener configurations in the SLB console, and perform the precheck again.

    kubectl -n [$Namespace] describe svc [$Svc_Name]

start listener

delete listener

The port of the Service is different from that specified for the SLB listener.

  • If you have not modified the listener configurations in the SLB console:

    Do not modify the Service during the update precheck and perform the precheck again.

  • If you have manually modified the listener configurations in the SLB console:

    Delete the listeners and perform the precheck again.

create listener

The port of the Service is different from that specified for the SLB listener.

  • If you have not modified the listener configurations in the SLB console:

    Do not modify the Service during the update precheck and perform the precheck again.

  • If you have manually modified the listener configurations in the SLB console:

    Add the deleted listeners and perform the precheck again.

update listener

The port of the Service is different from that specified for the SLB listener.

  • If you have not modified the listener configurations in the SLB console:

    Do not modify the Service during the update precheck and perform the precheck again.

  • If you have manually modified the listener configurations in the SLB console:

    Run the following command to find the different setting, restore the listener configurations in the SLB console, such as the certificate, access control setting, health checks, and cookies, and perform the precheck again. For more information, see Use annotations to configure CLB instances.

    kubectl -n [$Namespace] describe svc [$Svc_Name]

create VServerGroup

The endpoint of the Service is different from that specified for the vServer group of the SLB instance.

  • If you have not modified the vServer group configurations in the SLB console:

    Do not change the endpoint of the Service during the update precheck and perform the precheck again. If the "create vServerGroup" error persists after you perform multiple prechecks, submit a ticket.

  • If you have manually modified the backend server configurations in the SLB console:

    Restore the vServer group configurations of the SLB instance and perform the precheck again.

delete VServerGroup

The endpoint of the Service is different from that specified for the vServer group of the SLB instance.

  • If you have not modified the vServer group configurations in the SLB console:

    Do not change the endpoint of the Service during the update precheck and perform the precheck again.

  • If you have manually modified the backend server configurations in the SLB console:

    Restore the vServer group configurations of the SLB instance and perform the precheck again.

add VServerGroup backends

remove VServerGroup backends

modify loadbalancer instance charge type

The metering method of the Service is different from that specified for the SLB instance.

  • If you have manually changed the metering method of the CLB instance to PayByCLCU in the SLB console:

    Delete the service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec annotation from the Service.

  • If you have not changed the metering method in the SLB console:

    Do not modify the Service during the update precheck and perform the precheck again.