Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Dépannage des erreurs de modules complémentaires

Dernière mise à jour :Sep 22, 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 du 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 présente une configuration conflictuelle

AddonOperationFailed.ErrApplyingPatch

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

AddonOperationFailed.ResourceExists

Symptômes

La console affiche une erreur similaire à :

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 (par exemple, 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 conflictuelles 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 le namespace 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 workloads. N'ajoutez 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

Après la suppression de la ressource, 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

Après la suppression des ressources, 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, choisissez Applications > Helm.

  3. Recherchez la version Helm du module complémentaire. Dans la colonne Actions, cliquez sur Delete. Dans la boîte de dialogue, sélectionnez 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, choisissez Operations > Event Center.

  3. Dans l'onglet Events (Cluster Resource Events), définissez le paramètre Level sur Warning, sélectionnez le namespace où le module complémentaire est déployé et définissez le paramètre Type sur Pod. Examinez les détails de l'événement pour identifier la cause.

Causes courantes et solutions

Cause 1 : Impossible de planifier les pods (FailedScheduling)

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

Message d'événement

Cause

Solution

Insufficient memory ou Insufficient cpu

Les nœuds ne disposent pas de ressources suffisantes

Supprimer les pods inutiles, ajouter des nœuds au cluster ou mettre à 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

Supprimer les taints des nœuds

didn't match pod anti-affinity rules

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

Ajouter 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 : Impossible de créer le sandbox 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, choisissez Workloads > Pods.

  3. Sélectionnez le namespace 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 similaire à :

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 du 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 dans le namespace 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 le namespace 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 présente une configuration conflictuelle, généralement causée par 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, choisissez Applications > Helm.

  3. Recherchez la version Helm du module complémentaire. Dans la colonne Actions, cliquez sur Delete. Dans la boîte de dialogue, sélectionnez 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 similaire à :

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 (par exemple, 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, soumettez 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 l'erreur suivante :

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 workloads en cours d'exécution. Une mise à jour progressive démarre automatiquement. Une fois celle-ci terminée, mettez à jour Flannel depuis la console ACK. Consultez la rubrique Composants.