All Products
Search
Document Center

:How can I troubleshoot a precheck failure that occurs before I update the cloud controller manager (CCM)?

Last Updated:Aug 23, 2024

This topic describes how to troubleshoot a precheck failure that occurs before you update the CCM.

Solution

Usage notes

  • 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 updadte precheck

Error message

Description

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.

Set the service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec annotation of the Service to the type of the SLB instance. For more information, see Use annotations to configure CLB instances.

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 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.

  • Set the service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth annotation of the Service to the maximum bandwidth of the SLB instance. For more information about the annotation, see Use annotations to configure CLB instances.

  • Set the service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type annotation of the Service to the billing method of the SLB instance. For more information about the annotation, see Use annotations to configure CLB instances.

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.