All Products
Search
Document Center

Container Service for Kubernetes:Troubleshoot ALB Ingress issues

Last Updated:Dec 16, 2025

Application Load Balancer (ALB) Ingress Controller manages and routes external traffic to services within a Kubernetes cluster. When you use an ALB Ingress to expose a service, ALB Ingress Controller monitors changes to the associated Endpoint resources. It continuously synchronizes the status of backend nodes to the corresponding backend server group and applies these changes to the ALB instance. This topic describes how to diagnose and resolve common issues and events that you may encounter while using the ALB Ingress.

How it works

When you access a service through an ALB Ingress, ALB Ingress Controller monitors changes to various resources and synchronizes the changes to the associated ALB instance. The synchronization may fail because of limitations or configuration errors. The following figure shows the logical relationships between different resources and the synchronization process.

image

Step 1: View anomalous events

  • Using the console: In the left navigation pane, choose Network > Ingresses. Select the target namespace, click the name of the target Ingress, then click the Events tab.

  • Using kubectl:

    kubectl describe ingress <ingress-name> -n <namespace>

    Expected output:

    ...
    Events:
      Type     Reason                  Age                     From     Message
      ----     ------                  ----                    ----     -------
      Warning  FailedBuildModel        2m28s (x10 over 6m43s)  ingress  listener is not exist in alb, port: 443, protocol: HTTPS
      Normal   Sync                    19s (x32 over 11d)      ingress  Scheduled for sync
      Normal   SuccessfullyReconciled  4s (x20 over 11d)       ingress  Successfully reconciled

In the Description column or the Message field, you can find event information for the Ingress.

Step 2: Analyze and resolve anomalous events

The following table describes common anomalous events, their causes, and solutions.

To prevent issues caused by incompatibilities between older versions of the ALB Ingress Controller and new features, we recommend upgrading the controller to the latest version before you begin troubleshooting.

Message

Cause

Solution

listener does not exist in alb, port: 80, protocol: HTTP

In ALB Ingress Controller V2.11.0 and later, listeners for an Ingress are only associated, not automatically created. This error occurs if you use a listener in an Ingress without creating a corresponding listener in the AlbConfig.

If you are using ALB Ingress Controller V2.11.0 or later, create the required listener for the Ingress resource in the AlbConfig.

listener not found for (80/HTTP), with ingresses 1

In ALB Ingress Controller V2.11.0 and later, this error occurs if you remove a listener from an AlbConfig that is still associated with an Ingress. The error message shows the missing listener and the number of associated Ingresses.

To remove a listener, you must first remove all Ingresses associated with it.

Important

If you removed a listener by mistake, add it back.

no certificate found for host

TLS is enabled and certificate auto-discovery is active, but no matching certificate for this domain could be found in Certificate Management Service.

The param Rules.1.RuleConditions.2.PathConfig.Values.1 is illegal

The forwarding rule contains an invalid path parameter.

  • If you are using the rewrite annotation in your ALB manifest, set the pathType field to Prefix.

  • If you are not using the rewrite annotation, the problem is likely due to invalid characters in the path field.

    Note

    For non-regex path types, the path must start with / and can only contain letters, numbers, and the following special characters: dollar signs ($), plus signs (+), forward slashes (/), ampersands (&), tildes (~), at signs (@), underscores (_), hyphens (-), periods (.), and colons (:). The wildcard characters (*) and question marks (?) are also supported. Check your path value to ensure it conforms to these rules.

The param ServerGroupName is illegal

The name of the ALB backend server group is in an invalid format.

Make sure the server group is named in the correct format.

The server group name is generated in the namespace+ServiceName+port format. The name must be between 2 and 128 characters long and start with a letter, and may contain only numbers, periods (.), underscores (_), and hyphens (-).

The specified resource sgp-vz2fb219vv792flx3u is in use

The ACK-managed ALB backend server group is referenced by another ALB instance.

Log on to the ALB console. In the left navigation pane, choose ALB > Server Groups. On the Server Groups page, find the target backend server group and dissociate the ALB instance as needed.

Message: Invalid parameter. Check the parameter input.

This error often occurs when the certificate ID is incorrectly configured when specifying a certificate in an AlbConfig.

Verify that the certificate ID is a resource ID, not a numeric ID. You must use the certificate ID specified by CertIdentifier.

Message: Failed to create SSL Certificate with name default-https-secret-1-b585e6 ({namespace}-{name}-{identity}). Error: The certificate has expired.

The Secret certificate has expired. The certificate name in the error message consists of three parts: {namespace}-{name}-{identity}

  • {namespace}: The namespace where the Secret is located.

    Example: default.

  • {name}: The name of the Secret resource.

    Example: https-secret-1.

  • {identity}: The hash value of the Secret's content.

    Example: b585e6.

  1. Update the expired certificate configured in the secretName field of the Ingress. The new certificate must be valid for at least one day from the current date.

  2. Delete the secretName configuration from the Ingress and use certificate auto-discovery.

For more information, see Configure certificates for encrypted communication over HTTPS.

failed to createSSLCertificateWithName: XXX

ErrorCode: NameRepeat

Message: The name is already used. Please enter another name.

The Ingress uses a Secret certificate. After the certificate expires, if you upload a new certificate using an AlbConfig, the name of the expired certificate is reused. This causes the SSL certificate name to be duplicated.

invalid server group Cookie:

  • Cookie not configured

    If session persistence is configured to rewrite a cookie (sticky-session-type: "Server"), this error occurs if you do not specify a cookie value. The following code provides an example of an incorrect configuration:

    ...
    alb.ingress.kubernetes.io/sticky-session: "true"
    alb.ingress.kubernetes.io/sticky-session-type: "Server"   
    alb.ingress.kubernetes.io/cookie-timeout: "1800"
    alb.ingress.kubernetes.io/cookie: "" # Cannot be empty

When you use the rewrite cookie method, you must configure a cookie value:

...
alb.ingress.kubernetes.io/cookie: "test" 

For parameter details, see Use annotations to implement session persistence.

  • The ALB Ingress Controller version is too old.

    In ALB Ingress Controller versions earlier than V2.15.0-aliyun.1, server group session persistence does not support custom cookies.

Upgrade the ALB Ingress Controller.

The quota of alb_quota_server_added_num is exceeded for resource eni-xxxx, usage 202/200

The alb_quota_server_added_num quota limit for ALB is reached. This is the maximum number of times that a backend server (IP address) can be added to ALB backend server groups.

Go to Quota Center to increase the server group quota.

FAQ

What do I do if changes to an ALB Ingress do not take effect but no anomalous events are reported?

If reconciliation events related to the AlbConfig are not executed or change events are not processed successfully, the issue may be caused by an incorrect binding between the IngressClass and the AlbConfig. For more information, see Use an IngressClass to associate an AlbConfig with an Ingress. Verify that the spec.parameters parameter specified in the IngressClass is associated with the correct AlbConfig resource object name.