All Products
Search
Document Center

Container Service for Kubernetes:Cause of ALB Ingress controller update precheck failures

Last Updated:Aug 28, 2023

This topic lists error messages for precheck failures that may occur when you update the ALB Ingress controller and the corresponding solutions.

Table of contents

Precautions

Before the update

Note

Before you update the ALB Ingress controller, you need to learn the latest features of the component. For more information, see ALB Ingress Controller.

  1. Before you update the ALB Ingress controller, run the kubectl get event command to check whether reconciliation failures occur in the cluster. If reconciliation failures occur, you need to fix the issues and then complete the reconciliation. If you cannot identify the cause of reconciliation failures, submit a ticket.

  2. Make sure that the Application Load Balancer (ALB) instance in the ALB console and the AlbConfig use the same configuration. If not, you need to modify the ALB instance and AlbConfig to use the same configuration before you update the component. Do not modify the ALB instance, listeners, forwarding rules, network access control lists (ACLs), or server groups in the ALB console before you perform a precheck. Otherwise, the configuration in the ALB console will be different from the configuration of the AlbConfig or Ingresses. Consequently, the ALB Ingress controller fails to pass the precheck.

    • If you want to use the configuration of the ALB instance, modify the configuration of the AlbConfig or Ingresses accordingly.

    • If you want to use the configuration of the AlbConfig or Ingresses, run the kubectl edit command to modify a non-key parameter in the configuration of the AlbConfig or Ingresses to trigger a reconciliation. Then, the configuration of the ALB instance in the ALB console is automatically updated. You can also directly modify the configuration of the ALB instance. After you modify the configuration, you need to enable the configuration read-only mode for the ALB instance. For more information, see Enable or disable the configuration read-only mode.

During the update

During the precheck, do not modify the configuration of the AlbConfig or Ingresses because the modification affects the precheck result. If you have modified the configuration of the AlbConfig or Ingresses, perform a precheck again. If the ALB Ingress controller fails to pass the precheck multiple times, submit a ticket.

Error messages for ALB Ingress controller update precheck failures and solutions

Note

If the ALB Ingress controller fails to pass the precheck, log on to the Container Service for Kubernetes (ACK) console, click View Details below Precheck and view the precheck report to identify the cause.

Error messages related to ALB instances

Error message

Cause

Solution

Case 1: You have not modified the backend server configuration of the ALB instance in the ALB console

Case 2: You have modified the backend server configuration of the ALB instance in the ALB console

CreateALB

The ALB instance and AlbConfig use different configurations.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Modify the ALB instance and AlbConfig to use the same configuration and then perform a precheck again.

ReuseALB

UnReuseALB

DeleteALB

UpdateALBAttribute

The ALB instance and AlbConfig use different Attribute configurations, such as different ALB instance names or configuration protection configurations.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Run the kubectl describe albconfig [$Albconfig_Name] command, compare the Attribute configurations of the ALB instance and AlbConfig, modify the Attribute configuration of the ALB instance, and then perform a precheck again.

UpdateALBDeletionProtection

The ALB instance and AlbConfig use different deletion protection configurations.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Run the kubectl describe albconfig [$Albconfig_Name] command, compare the deletion protection configurations of the ALB instance and AlbConfig, modify the deletion protection configuration of the ALB instance, and then perform a precheck again.

UpdateALBAccessLog

The ALB instance and AlbConfig use different access log configurations.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Modify the ALB instance and AlbConfig to use the same access log configuration. If you want to use the access log configuration of the ALB instance, run the kubectl edit albconfig [$Albconfig_Name] command to modify the access log configuration of the AlbConfig and then perform a precheck again.

UpdateALBEdition

The ALB instance and AlbConfig use different editions (standard edition or WAF-enabled edition)

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Modify the ALB instance and AlbConfig to use the same edition and then perform a precheck again.

UpdateALBResourceGroup

The ALB instance and AlbConfig use different resource group configurations.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Modify the ALB instance and AlbConfig to use the same resource group configuration and then perform a precheck again.

UpdateALBTag

The ALB instance and AlbConfig use different labels.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Modify the ALB instance and AlbConfig to use the same labels and then perform a precheck again.

UpdateALBAddressType

The ALB instance and AlbConfig use different types of networks.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Modify the ALB instance and AlbConfig to use the same type of network. If you want to use the network specified for the ALB instance, run the kubectl edit albconfig [$Albconfig_Name] command to modify the network configuration of the AlbConfig and then perform a precheck again.

Important
  • If you change the network type from private to public, an elastic IP address (EIP) update fee is charged. Proceed with caution.

  • If you change the network type from public to private, all relevant EIPs are disassociated and DNS records are modified. Proceed with caution.

UpdateALBBandWidthPackage

The ALB instance and AlbConfig use different EIP bandwidth plan configurations.

Perform a precheck again. Do not modify the configuration of the AlbConfig during the precheck.

Modify the ALB instance and AlbConfig to use the same EIP bandwidth plan configuration. If you want to use the EIP bandwidth plan configuration of the ALB instance, run the kubectl edit albconfig [$Albconfig_Name] command to modify the AlbConfig and then perform a precheck again.

Error messages related to listeners

Error message

Cause

Solution

Case 1: You have not modified the backend server configuration of the ALB instance in the ALB console

Case 2: You have modified the backend server configuration of the ALB instance in the ALB console

CreateALBListener

The ALB instance and AlbConfig use different listeners.

Perform a precheck again. Do not modify the listeners during the precheck.

  • Recreate the listeners that you deleted from the ALB instance and then perform a precheck again.

  • If you want to use the listeners of the ALB instance, run the kubectl edit albconfig [$Albconfig_Name] command to delete the corresponding listeners from the AlbConfig and then perform a precheck again.

UpdateALBListenerExtraCertificates

The ALB instance and AlbConfig use different additional certificates.

Perform a precheck again. Do not modify the listeners during the precheck.

Modify the ALB instance and AlbConfig to use the additional certificates. To use the additional certificates of the ALB instance, run the kubectl edit albconfig [$Albconfig_Name] command to modify the AlbConfig and then perform a precheck again.

UpdateALBListenerAttribute

The ALB instance and AlbConfig use different listener attributes.

Perform a precheck again. Do not modify the listeners during the precheck.

  • Check the configuration differences, such as the certificates, compress algorithm, network ACLs, timeout period of idle connections, and XForwardConfig.

  • If you want to use the listener attributes of the ALB instance, run the kubectl edit albconfig [$Albconfig_Name] command to modify the AlbConfig and then perform a precheck again.

DeleteALBListener

The ALB instance and AlbConfig use different listeners.

Perform a precheck again. Do not modify the listeners during the precheck.

  • Delete the listeners that you added from the ALB instance and then perform a precheck again.

  • If you want to use the listeners of the ALB instance, run the kubectl edit albconfig [$Albconfig_Name] command to add the corresponding listeners to the AlbConfig and then perform a precheck again.

Error messages related to network ACLs

Error message

Cause

Solution

Case 1: You have not modified the backend server configuration of the network ACLs in the ALB console

Case 2: You have modified the backend server configuration of the network ACLs in the ALB console

CreateAcl

The network ACLs and AlbConfig use different access control configurations.

Perform a precheck again. Do not modify the network ACLs during the precheck.

Modify the network ACLs and AlbConfig to use the same access control configuration. If you want to use the access control configuration of the network ACLs, run the kubectl edit albconfig [$Albconfig_Name] command to modify the network ACLs of the AlbConfig and then perform a precheck again.

DeleteAcl

AddEntriesToAcl

RemoveEntriesFromAcl

AssociateAclWithListener

DisassociateAclWithListener

Error messages related to forwarding rules

Error message

Cause

Solution

Case 1: You have not modified the backend server configuration of the ALB instance in the ALB console

Case 2: You have modified the backend server configuration of the ALB instance in the ALB console

CreateALBListenerRules

The ALB instance and Ingresses use different forwarding rules.

Perform a precheck again. Do not modify the forwarding rules during the precheck.

Add forwarding rules and then perform a precheck again.

UpdateALBListenerRules

The ALB instance and Ingresses use different forwarding rules.

Perform a precheck again. Do not modify the forwarding rules during the precheck.

Configure the ALB instance and Ingresses to use the same forwarding rules. If you want to use the forwarding rules of the ALB instance, run the kubectl -n [$Namespace] edit ingress [$Ingress_Name] command to modify the forwarding rules of the Ingresses and then perform a precheck again.

DeleteALBListenerRules

The ALB instance and Ingresses use different forwarding rules.

Perform a precheck again. Do not modify the forwarding rules during the precheck.

Delete the forwarding rules that you added and then perform a precheck again.

Error messages related to server groups

Error message

Cause

Solution

Case 1: You have not modified the backend server configuration of the ALB instance in the ALB console

Case 2: You have modified the backend server configuration of the ALB instance in the ALB console

CreateALBServerGroup

The ALB instance and Ingresses use different server groups.

Perform a precheck again. Do not modify the server groups during the precheck.

Recreate the server groups that you deleted and then perform a precheck again.

UpdateALBServerGroup

The ALB instance and Ingresses use different server groups.

Perform a precheck again. Do not modify the server groups during the precheck.

Modify the ALB instance and Ingresses to use the same server groups. If you want to use the server groups of the ALB instance, run the kubectl -n [$Namespace] edit ingress [$Ingress_Name] command to modify the server groups of the Ingresses and perform a precheck again.

DeleteALBServerGroup

The ALB instance and Ingresses use different server groups.

Perform a precheck again. Do not modify the server groups during the precheck.

Delete the server groups that you added and then perform a precheck again.

Error messages related to backend servers

Error message

Cause

Solution

Case 1: You have not modified the backend server configuration of the ALB instance in the ALB console

Case 2: You have modified the backend server configuration of the ALB instance in the ALB console

RegisterALBServers

The cluster and ALB instance use different backend servers.

Perform a precheck again. Do not modify the backend servers during the precheck.

Modify the ALB instance to use the same backend servers as the ACK or ACK Serverless cluster and then perform a precheck again.

DeregisterALBServers

ReplaceALBServers

References