Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Solución de problemas de ALB Ingress

Última actualización: Sep 12, 2026

ALB Ingress Controller es un controlador de ingress para clústeres de Kubernetes que enruta el tráfico externo hacia los servicios internos. Cuando se utiliza un ALB Ingress para acceder a un servicio, ALB Ingress Controller supervisa los cambios en los recursos de endpoint asociados al servicio. Después, el controlador sincroniza el estado de los nodos de backend con el grupo de servidores de backend correspondiente y aplica estos cambios a la instancia de Application Load Balancer (ALB). Este tema describe cómo diagnosticar y resolver los eventos anómalos que pueden presentarse al usar un ALB Ingress.

Funcionamiento

Cuando se accede a un servicio mediante un ALB Ingress, ALB Ingress Controller supervisa los cambios en diversos recursos y los sincroniza con la instancia de ALB asociada. Este proceso puede fallar debido a distintos límites o errores de configuración. La siguiente figura muestra las relaciones lógicas entre los diferentes recursos y el proceso de sincronización.

image

Paso 1: Comprobar si hay eventos anómalos

  • Desde la consola: en el panel de navegación izquierdo, elija Network > Ingresses. Seleccione el namespace de destino, haga clic en el nombre del ingress correspondiente para abrir su página de detalles y, a continuación, haga clic en la pestaña Events.

  • Con kubectl:

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

    Resultado esperado:

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

Revise la información de los eventos relacionados con el ingress en la columna Description o en el campo Message.

Paso 2: Analizar y resolver eventos anómalos

A continuación se describen los eventos anómalos más comunes, junto con sus causas y soluciones.

Para evitar eventos anómalos provocados por una versión antigua del componente ALB Ingress Controller que no sea compatible con las nuevas funciones, consulte las Release notes y actualice el componente a la versión de destino antes de iniciar el diagnóstico.

Mensaje

Causa

Solución

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

En ALB Ingress Controller v2.11.0 y versiones posteriores, los listeners de un ingress solo se asocian y no se crean automáticamente. Este error ocurre si se usa un listener en un ingress sin haberlo creado primero en el AlbConfig correspondiente.

Para ALB Ingress Controller v2.11.0 o versiones posteriores, cree el listener necesario para el recurso de ingress en el AlbConfig. Para obtener más información, consulte Configure an ALB listener by using an AlbConfig.

listener is not exist in alb, port: 443, protocol: HTTPS

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

En ALB Ingress Controller v2.11.0 y versiones posteriores, este error ocurre si se elimina un listener de un AlbConfig que todavía está asociado a un ingress. El mensaje de error muestra el listener faltante y la cantidad de ingresses asociados.

Para eliminar un listener, primero debe quitar todos los ingresses asociados a él.

Importante

Si eliminó un listener por error, debe volver a agregarlo.

none certificate found for host

TLS está habilitado y la detección automática de certificados está activa para un dominio, pero no existe ningún certificado coincidente para ese dominio en Certificate Management Service.

Secret "XXX" not found

El Ingress hace referencia a un Secret de certificado TLS que no existe en el namespace especificado. Esto afecta principalmente la configuración de HTTPS. Si falta el Secret referenciado, ALB Ingress Controller no puede completar la configuración del certificado y la actualización de la configuración del AlbConfig podría bloquearse hasta que se resuelva el problema.

Asegúrese de que el Secret del certificado exista en el mismo namespace que el Ingress y de que su nombre coincida exactamente con el valor especificado en el campo tls.secretName del recurso de Ingress.

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

La regla de enrutamiento contiene un parámetro de ruta no válido.

  • Si utiliza la anotación Rewrite en el ingress, cambie el valor del campo pathType a Prefix.

  • Si no utiliza la anotación Rewrite en el ingress, es posible que el campo path contenga caracteres no válidos.

    Nota

    Para los tipos de ruta que no son expresiones regulares, la ruta debe comenzar con /. Puede contener letras, dígitos y los siguientes caracteres especiales: signos de dólar ($), signos más (+), barras diagonales (/), símbolos de et (&), tildes (~), arrobas (@), guiones bajos (_), guiones (-), puntos (.) y dos puntos (:). También se admiten asteriscos (*) y signos de interrogación (?) como comodines.

The param of ServerGroupName is illegal

El nombre del grupo de servidores de backend de ALB tiene un formato no válido.

Asegúrese de que el nombre del grupo de servidores utilice el formato correcto.

El controlador genera el nombre del grupo de servidores con el formato namespace+ServiceName+port. El nombre debe tener entre 2 y 128 caracteres, comenzar con una letra o un carácter chino, y puede contener dígitos, puntos (.), guiones bajos (_) y guiones (-).

The specified resource sgp-vz2fb219vv792flx3u is in use

Otra instancia de ALB hace referencia al grupo de servidores de backend de ALB administrado por ACK.

Inicie sesión en la consola de Application Load Balancer. En el panel de navegación izquierdo, elija ALB > Server Group. En la página Server Group, busque el grupo de servidores de backend de destino y desvincule la instancia de ALB según sea necesario.

Message: Invalid parameter. Check the parameter input.

Este error suele ocurrir cuando se configura incorrectamente el identificador del certificado al especificarlo en un AlbConfig.

Compruebe si se está utilizando un identificador de recurso o un identificador numérico como identificador del certificado. Debe usar el identificador de certificado especificado por CertIdentifier.

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

El certificado del Secret que utiliza el ingress caducó. El nombre del certificado en el mensaje de error consta de tres partes: {namespace}-{name}-{identity}.

  • {namespace}: el namespace donde reside el Secret afectado. Por ejemplo: default.

  • {name}: el nombre del Secret afectado. Por ejemplo: https-secret-1.

  • {identity}: el valor de hash del contenido del Secret. Por ejemplo: b585e6.

  • Si desea seguir usando este certificado del Secret, busque el Secret caducado con base en {namespace}-{name} del mensaje de error y actualice su contenido con un certificado válido. El nuevo certificado debe ser válido durante como mínimo 1 día después de la fecha actual.

  • Si ya no necesita este certificado del Secret, edite el recurso de ingress correspondiente y elimine la configuración que hace referencia al Secret caducado en el campo tls.

Para obtener más información sobre la configuración, consulte Configure an HTTPS certificate for encrypted communication.

failed to createSSLCertificateWithName: XXX

ErrorCode: NameRepeat

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

El certificado del Secret que utiliza el ingress caducó. Reutilizar el nombre del certificado caducado al cargar uno nuevo provoca un conflicto de nombres de certificados SSL.

invalid server group Cookie:

  • Cookie no configurada

    Si configura la persistencia de sesión para usar el método de reescritura de cookies (sticky-session-type: "Server"), este error ocurre cuando no se especifica un valor de cookie. El siguiente código muestra un ejemplo de configuración incorrecta:

    ...
        alb.ingress.kubernetes.io/sticky-session: "true"
        alb.ingress.kubernetes.io/sticky-session-type: "Server"   
        alb.ingress.kubernetes.io/cookie: "" # Not allowed to be empty.

Cuando utilice el método de reescritura de cookies, debe configurar un valor de cookie.

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

Para obtener más información sobre los parámetros, consulte Implement session persistence by using annotations.

  • La versión de ALB Ingress Controller es demasiado antigua.

    En las versiones de ALB Ingress Controller anteriores a v2.15.0-aliyun.1, la persistencia de sesión del grupo de servidores no admite cookies personalizadas.

Upgrade the ALB Ingress Controller component.

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

Se alcanzó la cuota alb_quota_server_added_num de ALB. Esta cuota representa el número máximo de veces que un servidor de backend (por dirección IP) se puede agregar a los grupos de servidores de backend de ALB.

Aumente la cuota del grupo de servidores en Quota Center.

Preguntas frecuentes

Los cambios en ALB Ingress no surten efecto

Si el controlador no desencadena eventos de conciliación para el AlbConfig o no logra procesar los eventos de cambio, es posible que exista un vínculo incorrecto entre IngressClass y AlbConfig. Para obtener más información, consulte Use an IngressClass to associate an AlbConfig with an ingress y compruebe que el parámetro spec.parameters de IngressClass apunte al nombre correcto del objeto de recurso AlbConfig.

¿Por qué el endpoint externo (Endpoint) de un ALB Ingress está vacío o no se puede obtener la dirección, y cómo se soluciona?

Si el endpoint externo de un ALB Ingress está vacío o no se puede obtener la dirección, revise las siguientes causas comunes y aplique la acción correspondiente:

  1. No se especificó IngressClass: asegúrese de que el recurso de Ingress especifique el valor correcto de ingressClassName (por ejemplo, alb). Si ingressClassName no está establecido o el valor no coincide con el IngressClass administrado por ALB Ingress Controller, el controlador no procesará el Ingress y el endpoint permanecerá vacío.

  2. Asociación incorrecta de AlbConfig: compruebe si IngressClass está asociado al nombre de AlbConfig correcto y verifique que el estado del AlbConfig sea normal. Una asociación incorrecta o un AlbConfig en estado anómalo impide que se aprovisione ALB. Para obtener más información, consulte Use an IngressClass to associate an AlbConfig with an ingress.

  3. Direcciones IP insuficientes en el vSwitch: compruebe la cantidad de direcciones IP disponibles en los vSwitches asociados al AlbConfig. Para garantizar que las funciones elásticas de ALB funcionen correctamente, reserve como mínimo 8 direcciones IP en cada vSwitch donde se despliegue la instancia de ALB. Si las direcciones IP disponibles son insuficientes, reemplace el vSwitch o amplíe su rango CIDR.

  4. Zonas de disponibilidad insuficientes: ALB requiere alta disponibilidad y necesita vSwitches en como mínimo dos zonas de disponibilidad distintas. Si solo se configuró una zona de disponibilidad, agregue vSwitches en como mínimo otra zona de disponibilidad.

  5. Opción de instalación del componente: si durante la instalación del componente se seleccionó None, no se crearon automáticamente ninguna instancia de ALB ni ningún AlbConfig. Debe manually create AlbConfig and IngressClass y associate an AlbConfig with an Ingress using IngressClass.