Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Troubleshoot add-on errors

Dernière mise à jour :Aug 11, 2026

Identifiez la cause et la solution pour chaque code d'erreur renvoyé en cas d'échec d'une opération sur un module complémentaire ACK.

Référence des codes d'erreur

Code d'erreur

Description

AddonOperationFailed.ResourceExists

Une ressource requise par le module complémentaire existe déjà dans le cluster

AddonOperationFailed.ReleaseNameInUse

Une version Helm portant le même nom que le module complémentaire existe déjà

AddonOperationFailed.WaitForAddonReadyTimeout

Les pods du module complémentaire n'atteignent pas l'état Ready après la soumission de la demande de mise à jour

AddonOperationFailed.APIServerUnreachable

ACK ne peut pas accéder au serveur API Kubernetes

AddonOperationFailed.ResourceNotFound

Les ressources requises par le module complémentaire sont introuvables

AddonOperationFailed.TillerUnreachable

Le composant Tiller de Helm V2 est inaccessible

AddonOperationFailed.FailedCallingWebhook

Un webhook de mutation pour une ressource de module complémentaire ne peut pas être appelé

AddonOperationFailed.UserForbidden

Tiller ne dispose pas des autorisations RBAC (contrôle d'accès basé sur les rôles) requises

AddonOperationFailed.TillerNotFound

Aucun pod Tiller n'est en cours d'exécution dans le cluster

AddonOperationFailed.ErrPatchingClusterRoleBinding

Un ClusterRoleBinding requis par le module complémentaire existe, mais sa configuration est en conflit

AddonOperationFailed.ErrApplyingPatch

Les manifests YAML du module complémentaire sont incompatibles entre les versions

AddonOperationFailed.ResourceExists

Symptômes

La console affiche une erreur semblable à celle-ci :

Addon status not match, failed upgrade helm addon arms-cmonitor for cluster c3cf94b952cd34b54b71b10b7********, err: rendered manifests contain a resource that already exists. Unable to continue with update: ConfigMap "otel-collector-config" in namespace "arms-prom" exists and cannot be imported into the current release

Cause

Une ressource requise par le module complémentaire existe déjà dans le cluster. Causes courantes :

  • Une autre version (telle que la version open source) a été installée via une méthode différente.

  • Le module complémentaire a été installé avec Helm V2, et ses ressources n'ont pas été supprimées avant la migration vers Helm V3.

  • Une ressource portant le même nom a été créée manuellement.

Solution

Supprimez les ressources en conflit indiquées dans le message d'erreur, puis réessayez l'opération.

Les sections suivantes répertorient les commandes spécifiques à certains modules complémentaires.

arms-prometheus

arms-prometheus est généralement installé dans l'espace de noms arms-prom. Supprimez ses ressources, puis réinstallez arms-prometheus.

kubectl delete ClusterRole arms-kube-state-metrics
kubectl delete ClusterRole arms-node-exporter
kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role
kubectl delete ClusterRole arms-prometheus-oper3
kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role
kubectl delete ClusterRole arms-pilot-prom-k8s
kubectl delete ClusterRoleBinding arms-node-exporter
kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding
kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2
kubectl delete ClusterRoleBinding kube-state-metrics
kubectl delete ClusterRoleBinding arms-pilot-prom-k8s
kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding
kubectl delete Role arms-pilot-prom-spec-ns-k8s
kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system
kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s
kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system

ack-node-local-dns

Important

La suppression n'affecte pas les charges de travail. Ne créez pas de pods entre la suppression et la mise à jour. Si vous le faites, supprimez et recréez ces pods après la mise à jour pour réinjecter le cache DNS.

kubectl delete MutatingWebhookConfiguration ack-node-local-dns-admission-controller

Une fois la ressource supprimée, mettez à jour ack-node-local-dns.

arms-cmonitor

kubectl delete ConfigMap otel-collector-config -n arms-prom
kubectl delete ClusterRoleBinding arms-prom-cmonitor-role-binding
kubectl delete ClusterRoleBinding arms-prom-cmonitor-install-init-role-binding
kubectl delete ClusterRole arms-prom-cmonitor-role
kubectl delete ClusterRole arms-prom-cmonitor-install-init-role
kubectl delete ServiceAccount cmonitor-sa-install-init -n kube-system

Une fois les ressources supprimées, installez ou mettez à jour arms-cmonitor.

AddonOperationFailed.ReleaseNameInUse

Cause

Une version Helm portant le même nom existe déjà, ce qui empêche l'installation ou la mise à jour. Causes courantes :

  • Une autre version a été installée via une méthode différente.

  • Une version Helm résiduelle subsiste d'une tentative d'installation précédente.

Solution

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters .

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de gauche, sélectionnez Applications > Helm.

  3. Recherchez la version Helm du module complémentaire. Dans la colonne Actions, cliquez sur Delete. Dans la boîte de dialogue, cochez Clear Release Records et cliquez sur OK.

  4. Installez ou mettez à jour le module complémentaire.

AddonOperationFailed.WaitForAddonReadyTimeout

Cause

Les pods du module complémentaire n'atteignent pas l'état Ready dans le délai imparti après la soumission de la mise à jour.

Dépannage

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de gauche, sélectionnez Operations > Event Center.

  3. Sous l'onglet Events (Cluster Resource Events), définissez le champ Level sur Warning, sélectionnez l'espace de noms où le module complémentaire est déployé, et définissez le champ Type sur Pod. Consultez les détails de l'événement pour identifier la cause.

Causes courantes et solutions

Cause 1 : Échec de planification des pods (FailedScheduling)

Les nœuds du cluster ne répondent pas aux exigences de planification des pods du module complémentaire. Vérifiez les détails de l'événement pour les messages suivants :

Message d'événement

Cause

Solution

Insufficient memory ou Insufficient cpu

Les nœuds ne disposent pas de ressources suffisantes

Supprimez les pods inutiles, ajoutez des nœuds au cluster ou mettez à niveau les configurations des nœuds

the pod didn't tolerate

Les pods du module complémentaire ne tolèrent pas les taints des nœuds

Supprimez les taints des nœuds

didn't match pod anti-affinity rules

Les règles d'anti-affinité ne peuvent pas être satisfaites

Ajoutez des nœuds au cluster

Une fois le problème de planification résolu, réessayez la mise à jour du module complémentaire.

Cause 2 : Échec de création du bac à sable du pod (FailedCreatePodSandBox)

Le plugin réseau ne peut pas allouer d'adresses IP aux pods. Vérifiez les détails de l'événement :

AddonOperationFailed.APIServerUnreachable

Cause

ACK ne peut pas atteindre le serveur API Kubernetes, généralement parce que l'instance Server Load Balancer (SLB) exposant le serveur API est mal configurée.

Solution

Consultez la rubrique Dépannage des exceptions de requête du serveur API.

AddonOperationFailed.ResourceNotFound

Cause

Les ressources requises par le module complémentaire sont manquantes (probablement supprimées ou modifiées de manière externe), ce qui empêche la mise à jour sur place.

Solution

Désinstallez le module complémentaire et installez la dernière version.

AddonOperationFailed.TillerUnreachable

Cause

Le module complémentaire utilise Helm V2, qui dépend de Tiller. Tiller a rencontré une erreur et est inaccessible.

Solution

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de gauche, sélectionnez Workloads > Pods.

  3. Sélectionnez l'espace de noms kube-system. Recherchez et supprimez le pod tiller. Le système le recrée automatiquement.

  4. Une fois que le pod Tiller atteint l'état Ready, réessayez l'opération sur le module complémentaire.

AddonOperationFailed.FailedCallingWebhook

Symptômes

La console affiche une erreur semblable à celle-ci :

failed to create: Internal error occurred: failed calling webhook "rancher.cattle.io": failed to call webhook: Post "https://rancher-webhook.cattle-system.svc:443/v1/webhook/mutation?timeout=10s": no endpoints available for service "rancher-webhook"

Cause

Un webhook de mutation pour une ressource de module complémentaire ne peut pas être appelé, ce qui bloque les mises à jour.

Solution

Corrigez le webhook défaillant identifié dans le message d'erreur, puis réessayez la mise à jour du module complémentaire.

Dans l'exemple, le webhook rancher-webhook de l'espace de noms cattle-system est indisponible.

AddonOperationFailed.UserForbidden

Cause

Le cluster utilise Helm V2, mais Tiller ne dispose pas des autorisations RBAC nécessaires pour gérer les ressources, ce qui empêche les opérations sur les composants.

Solution

Accordez les autorisations RBAC requises à Tiller. Consultez la documentation Contrôle d'accès basé sur les rôles.

AddonOperationFailed.TillerNotFound

Cause

Le cluster utilise Helm V2, mais aucun pod Tiller n'est en cours d'exécution.

Solution

Dépannez le pod tiller-deploy dans l'espace de noms kube-system. Une fois que le pod fonctionne normalement, réessayez l'opération sur le module complémentaire. Consultez la rubrique Dépannage des problèmes de pod.

AddonOperationFailed.ErrPatchingClusterRoleBinding

Cause

Un ClusterRoleBinding requis par le module complémentaire existe, mais sa configuration est en conflit, généralement en raison d'une version open source installée séparément.

Solution

Désinstallez la version du composant open source :

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de gauche, sélectionnez Applications > Helm.

  3. Recherchez la version Helm du module complémentaire. Dans la colonne Actions, cliquez sur Delete. Dans la boîte de dialogue, cochez Clear Release Records et cliquez sur OK.

  4. Installez ou mettez à jour le module complémentaire.

AddonOperationFailed.ErrApplyingPatch

Symptômes

La console affiche une erreur semblable à celle-ci :

spec.template.spec.initContainers[1].name: Duplicate value: "install-cni"

Cause

Les manifests YAML de la version installée sont incompatibles avec la version cible. Causes courantes :

  • Une autre version (telle que la version open source) a été installée via une méthode différente.

  • Les manifests YAML du module complémentaire ont été modifiés manuellement.

  • La version actuellement installée n'est plus prise en charge.

Solution

Modifiez les manifests YAML du composant en fonction du message d'erreur. Pour obtenir de l'aide, ouvrez un ticket.

Exemple : Conflit de nom de conteneur Flannel

Si une version obsolète de Flannel est installée, la mise à jour peut échouer avec le message suivant :

spec.template.spec.initContainers[1].name: Duplicate value: "install-cni"

Modifiez le manifest DaemonSet de Flannel :

kubectl -n kube-system edit ds kube-flannel-ds

Recherchez le conteneur install-cni sous spec.template.spec.containers et supprimez-le (lignes 7 à 21 dans l'exemple) :

      containers:
      - name: kube-flannel
        image: registry-vpc.{{.Region}}.aliyuncs.com/acs/flannel:{{.ImageVersion}}
        command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr" ]
        ...
        # Irrelevant lines are not shown. Delete comment lines 7 to 21.
    # - command:
      # - /bin/sh
      # - -c
      # - set -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf;
        # while true; do sleep 3600; done
      # image: registry-vpc.cn-beijing.aliyuncs.com/acs/flannel:v0.11.0.1-g6e46593e-aliyun
      # imagePullPolicy: IfNotPresent
      # name: install-cni
      # resources: {}
      # terminationMessagePath: /dev/termination-log
      # terminationMessagePolicy: File
      # volumeMounts:
      # - mountPath: /etc/cni/net.d
        # name: cni
      # - mountPath: /etc/kube-flannel/
         # Irrelevant lines are not shown. Delete comment lines 7 to 21.
          name: flannel-cfg
        ...

La suppression de ces lignes n'interrompt pas les charges de travail en cours d'exécution. Une mise à jour progressive démarre automatiquement. Une fois terminée, mettez à jour Flannel depuis la console ACK. Consultez la rubrique Composants.