Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Troubleshoot ALB Ingress issues

Dernière mise à jour :Sep 12, 2026

ALB Ingress Controller est un contrôleur d'entrée pour les clusters Kubernetes qui achemine le trafic externe vers les services internes. Lorsque vous utilisez une entrée ALB Ingress pour accéder à un service, ALB Ingress Controller surveille les modifications apportées aux ressources de point de terminaison associées au service. Le contrôleur synchronise ensuite l'état des nœuds backend avec le groupe de serveurs backend correspondant et applique ces modifications à l'instance Application Load Balancer (ALB). Cette rubrique explique comment diagnostiquer et résoudre les événements anormaux susceptibles de survenir lors de l'utilisation d'une entrée ALB Ingress.

Fonctionnement

Lorsque vous accédez à un service via une entrée ALB Ingress, ALB Ingress Controller surveille les modifications apportées à diverses ressources et synchronise ces changements avec l'instance ALB associée. Ce processus peut échouer en raison de différentes limites ou d'erreurs de configuration. La figure suivante illustre les relations logiques entre les différentes ressources et le processus de synchronisation.

image

Étape 1 : Vérifier la présence d'événements anormaux

  • Utilisez la console : dans le volet de navigation de gauche, sélectionnez Network > Ingresses. Sélectionnez le namespace cible, cliquez sur le nom de l'entrée cible pour ouvrir sa page de détails, puis cliquez sur l'onglet Events.

  • Utilisez kubectl :

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

    Sortie attendue :

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

Vérifiez les informations relatives aux événements de l'entrée dans la colonne Description ou dans le champ Message.

Étape 2 : Analyser et résoudre les événements anormaux

Le tableau suivant décrit les événements anormaux courants, leurs causes et les solutions associées.

Pour éviter les événements anormaux causés par une ancienne version du composant ALB Ingress Controller incompatible avec les nouvelles fonctionnalités, reportez-vous aux Notes de version et mettez à niveau le composant vers la version cible avant d'effectuer un diagnostic.

Message

Cause

Solution

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

Dans les versions v2.11.0 et ultérieures d'ALB Ingress Controller, les écouteurs d'une entrée sont uniquement associés et non créés automatiquement. Cette erreur se produit si vous utilisez un écouteur dans une entrée sans l'avoir préalablement créé dans l'AlbConfig correspondant.

Pour ALB Ingress Controller v2.11.0 ou version ultérieure, créez l'écouteur requis pour la ressource d'entrée dans l'AlbConfig. Pour plus d'informations, consultez Configurer un écouteur ALB à l'aide d'un AlbConfig.

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

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

Dans les versions v2.11.0 et ultérieures d'ALB Ingress Controller, cette erreur se produit si vous supprimez un écouteur d'un AlbConfig toujours associé à une entrée. Le message d'erreur indique l'écouteur manquant et le nombre d'entrées associées.

Pour supprimer un écouteur, retirez d'abord toutes les entrées qui lui sont associées.

Important

Si vous avez supprimé un écouteur par erreur, rajoutez-le.

none certificate found for host

TLS est activé et la découverte automatique des certificats est active pour un domaine, mais aucun certificat correspondant à ce domaine n'existe dans Certificate Management Service.

Secret "XXX" not found

L'entrée fait référence à un Secret de certificat TLS qui n'existe pas dans le namespace spécifié. Cela affecte principalement la configuration HTTPS. Si le Secret référencé est manquant, ALB Ingress Controller ne peut pas terminer la configuration du certificat, et la mise à jour de la configuration AlbConfig peut être bloquée jusqu'à ce que le problème soit résolu.

Assurez-vous que le Secret de certificat existe dans le même namespace que l'entrée et que son nom correspond exactement à la valeur spécifiée dans le champ tls.secretName de la ressource d'entrée.

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

La règle de routage contient un paramètre de chemin invalide.

  • Si vous utilisez l'annotation Rewrite dans l'entrée, modifiez la valeur du champ pathType en Prefix.

  • Si vous n'utilisez pas l'annotation Rewrite dans l'entrée, le champ path peut contenir des caractères invalides.

    Remarque

    Pour les types de chemins non basés sur des expressions régulières, le chemin doit commencer par /. Il peut contenir des lettres, des chiffres et les caractères spéciaux suivants : signes dollar ($), signes plus (+), barres obliques (/), esperluettes (&), tildes (~), signes at (@), traits de soulignement (_), tirets (-), points (.) et deux-points (:). Les astérisques (*) et les points d'interrogation (?) sont également pris en charge comme caractères génériques.

The param of ServerGroupName is illegal

Le format du nom du groupe de serveurs backend ALB est invalide.

Assurez-vous que le nom du groupe de serveurs utilise le format correct.

Le contrôleur génère le nom du groupe de serveurs au format namespace+ServiceName+port. Le nom doit comporter entre 2 et 128 caractères, commencer par une lettre ou un caractère chinois, et peut contenir des chiffres, des points (.), des traits de soulignement (_) et des tirets (-).

The specified resource sgp-vz2fb219vv792flx3u is in use

Le groupe de serveurs backend ALB géré par ACK est référencé par une autre instance ALB.

Connectez-vous à la console Application Load Balancer. Dans le volet de navigation de gauche, sélectionnez ALB > Server Group. Sur la page Server Group, recherchez le groupe de serveurs backend cible et dissociez l'instance ALB si nécessaire.

Message: Invalid parameter. Check the parameter input.

Cette erreur se produit souvent si vous configurez incorrectement l'ID du certificat lors de la spécification d'un certificat dans un AlbConfig.

Vérifiez si un ID de ressource ou un ID numérique est utilisé comme ID de certificat. Vous devez utiliser l'ID de certificat spécifié par CertIdentifier.

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

Le certificat secret utilisé par l'entrée a expiré. Le nom du certificat dans le message d'erreur se compose de trois parties : {namespace}-{name}-{identity}.

  • {namespace} : le namespace où réside le Secret concerné. Exemple : default.

  • {name} : le nom du Secret concerné. Exemple : https-secret-1.

  • {identity} : la valeur de hachage du contenu du Secret. Exemple : b585e6.

  • Si vous souhaitez continuer à utiliser ce certificat secret, recherchez le Secret expiré en vous basant sur {namespace}-{name} dans le message d'erreur et mettez à jour son contenu avec un certificat valide. Le nouveau certificat doit être valide pendant au moins 1 jour après la date actuelle.

  • Si vous n'avez plus besoin de ce certificat secret, modifiez la ressource d'entrée correspondante et supprimez la configuration qui référence le Secret expiré du champ tls.

Pour plus d'informations sur la configuration, consultez Configurer un certificat HTTPS pour une communication chiffrée.

failed to createSSLCertificateWithName: XXX

ErrorCode: NameRepeat

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

Le certificat secret utilisé par l'entrée a expiré. La réutilisation du nom du certificat expiré lors du téléchargement d'un nouveau certificat provoque un conflit de nom de certificat SSL.

invalid server group Cookie:

  • Cookie non configuré

    Si vous configurez la persistance de session pour utiliser la méthode de réécriture de cookie (sticky-session-type: "Server"), cette erreur se produit si vous ne spécifiez pas de valeur de cookie. Le code suivant fournit un exemple de configuration incorrecte :

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

Lorsque vous utilisez la méthode de réécriture de cookie, vous devez configurer une valeur de cookie.

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

Pour plus d'informations sur les paramètres, consultez Implémenter la persistance de session à l'aide d'annotations.

  • La version d'ALB Ingress Controller est trop ancienne.

    Dans les versions d'ALB Ingress Controller antérieures à v2.15.0-aliyun.1, la persistance de session du groupe de serveurs ne prend pas en charge les cookies personnalisés.

Mettez à niveau le composant ALB Ingress Controller.

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

Le quota alb_quota_server_added_num pour ALB est atteint. Il s'agit du nombre maximal de fois qu'un serveur backend (par adresse IP) peut être ajouté aux groupes de serveurs backend ALB.

Augmentez le quota de groupe de serveurs dans le Quota Center.

FAQ

Les modifications apportées à ALB Ingress ne sont pas prises en compte

Si le contrôleur ne déclenche pas d'événements de réconciliation pour l'AlbConfig ou ne parvient pas à traiter les événements de modification, la cause peut être une liaison incorrecte entre l'IngressClass et l'AlbConfig. Pour plus d'informations, consultez Utiliser une IngressClass pour associer un AlbConfig à une entrée et vérifiez que le paramètre spec.parameters dans l'IngressClass pointe vers le nom correct de l'objet de ressource AlbConfig.

Pourquoi le point de terminaison externe (Endpoint) d'une entrée ALB Ingress est-il vide ou l'adresse ne peut-elle pas être obtenue, et comment résoudre ce problème ?

Si le point de terminaison externe d'une entrée ALB Ingress est vide ou si l'adresse ne peut pas être obtenue, vérifiez les causes courantes suivantes et prenez les mesures appropriées :

  1. IngressClass non spécifiée : assurez-vous que la ressource d'entrée spécifie la bonne ingressClassName (par exemple, alb). Si ingressClassName n'est pas définie ou si la valeur ne correspond pas à l'IngressClass gérée par ALB Ingress Controller, le contrôleur ne traitera pas l'entrée et le point de terminaison restera vide.

  2. Association AlbConfig incorrecte : vérifiez si l'IngressClass est associée au bon nom AlbConfig et assurez-vous que l'état de l'AlbConfig est normal. Une association incorrecte ou un AlbConfig dans un état anormal empêche le provisionnement d'ALB. Pour plus d'informations, consultez Utiliser une IngressClass pour associer un AlbConfig à une entrée.

  3. Adresses IP vSwitch insuffisantes : vérifiez le nombre d'adresses IP disponibles dans les vSwitch associés à l'AlbConfig. Pour garantir le support complet des fonctionnalités élastiques d'ALB, réservez au moins 8 adresses IP dans chaque vSwitch où l'instance ALB est déployée. Si les adresses IP disponibles sont insuffisantes, remplacez le vSwitch ou étendez la plage CIDR du vSwitch.

  4. Zones de disponibilité insuffisantes : ALB requiert une haute disponibilité et nécessite des vSwitch dans au moins deux zones de disponibilité différentes. Si une seule zone de disponibilité est configurée, ajoutez des vSwitch dans au moins une autre zone de disponibilité.

  5. Option d'installation du composant : si None a été sélectionné lors de l'installation du composant, aucune instance ALB ni AlbConfig n'a été créé automatiquement. Vous devez créer manuellement AlbConfig et IngressClass et associer un AlbConfig à une Ingress à l'aide d'IngressClass.