Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Troubleshoot add-on errors

Última actualización: Sep 21, 2026

Consulte la causa y la solución de cada código de error que se devuelve cuando una operación de un complemento de ACK falla.

Referencia de códigos de error

Error code

Description

AddonOperationFailed.ResourceExists

Un recurso obligatorio para el complemento ya existe en el clúster

AddonOperationFailed.ReleaseNameInUse

Ya existe una versión de Helm con el mismo nombre que el complemento

AddonOperationFailed.WaitForAddonReadyTimeout

Los pods del complemento no alcanzan el estado Ready después de enviar la solicitud de actualización

AddonOperationFailed.APIServerUnreachable

ACK no puede acceder al servidor de API de Kubernetes

AddonOperationFailed.ResourceNotFound

No se encuentran los recursos obligatorios para el complemento

AddonOperationFailed.TillerUnreachable

No es posible acceder a Tiller de Helm V2

AddonOperationFailed.FailedCallingWebhook

No se puede invocar un webhook de mutación para un recurso del complemento

AddonOperationFailed.UserForbidden

Tiller no cuenta con los permisos de control de acceso basado en roles (RBAC) necesarios

AddonOperationFailed.TillerNotFound

No hay ningún pod de Tiller ejecutándose en el clúster

AddonOperationFailed.ErrPatchingClusterRoleBinding

Existe un ClusterRoleBinding obligatorio para el complemento, pero su configuración genera conflictos

AddonOperationFailed.ErrApplyingPatch

Los manifiestos YAML del complemento son incompatibles entre versiones

AddonOperationFailed.ResourceExists

Síntomas

La consola muestra un error similar al siguiente:

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

Causa

Un recurso obligatorio para el complemento ya existe en el clúster. Estas son las causas más comunes:

  • Se instaló otra versión (por ejemplo, la de código abierto) mediante un método distinto.

  • El complemento se instaló con Helm V2 y sus recursos no se eliminaron antes de migrar a Helm V3.

  • Se creó manualmente un recurso con el mismo nombre.

Solución

Elimine los recursos en conflicto que aparecen en el mensaje de error y vuelva a intentar la operación.

A continuación se muestran los comandos correspondientes a complementos específicos.

arms-prometheus

Por lo general, arms-prometheus se instala en el espacio de nombres arms-prom. Elimine sus recursos y reinstale 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

Importante

La eliminación no afecta a las cargas de trabajo. No agregue pods entre la eliminación y la actualización. Si lo hace, elimínelos y vuélvalos a crear después de actualizar para reinyectar la caché de DNS.

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

Una vez eliminado el recurso, actualice 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

Después de eliminar los recursos, instale o actualice arms-cmonitor.

AddonOperationFailed.ReleaseNameInUse

Causa

Ya existe una versión de Helm con el mismo nombre, lo que impide la instalación o la actualización. Las causas más frecuentes son:

  • Se instaló otra versión mediante un método distinto.

  • Quedó una versión de Helm residual de un intento de instalación anterior.

Solución

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters .

  2. En la página Clusters, haga clic en el nombre del clúster de destino. En el panel izquierdo, elija Applications > Helm.

  3. Busque la versión de Helm del complemento. En la columna Actions, haga clic en Delete. En el cuadro de diálogo, seleccione Clear Release Records y haga clic en OK.

  4. Instale o actualice el complemento.

AddonOperationFailed.WaitForAddonReadyTimeout

Causa

Los pods del complemento no alcanzan el estado Ready dentro del tiempo de espera tras enviar la actualización.

Solución de problemas

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre del clúster de destino. En el panel izquierdo, elija Operations > Event Center.

  3. En la pestaña Events (Cluster Resource Events), establezca Level en Warning, seleccione el espacio de nombres donde se desplegó el complemento y configure Type como Pod. Revise los detalles del evento para identificar la causa.

Causas y soluciones comunes

Causa 1: los pods no se pueden programar (FailedScheduling)

Los nodos del clúster no cumplen con los requisitos de programación de los pods del complemento. Compruebe si los detalles del evento contienen estos mensajes:

Event message

Cause

Solution

Insufficient memory o Insufficient cpu

Los nodos no tienen recursos suficientes

Delete unneeded pods, add nodes to the cluster o upgrade node configurations

the pod didn't tolerate

Los pods del complemento no toleran los taints de los nodos

Remove the taints from nodes

didn't match pod anti-affinity rules

No se pueden cumplir las reglas de antiafinidad

Add nodes to the cluster

Una vez resuelto el problema de programación, vuelva a intentar la actualización del complemento.

Causa 2: no se puede crear el sandbox del pod (FailedCreatePodSandBox)

El plugin de red no logra asignar direcciones IP a los pods. Revise los detalles del evento:

AddonOperationFailed.APIServerUnreachable

Causa

ACK no puede comunicarse con el servidor de API de Kubernetes. Esto suele deberse a una configuración incorrecta de la instancia de Server Load Balancer (SLB) que expone dicho servidor.

Solución

Consulte Troubleshoot API server request exceptions.

AddonOperationFailed.ResourceNotFound

Causa

Faltan recursos obligatorios del complemento, probablemente porque se eliminaron o modificaron de forma externa. Esta situación impide la actualización en el lugar.

Solución

Desinstale el complemento e instale la versión más reciente.

AddonOperationFailed.TillerUnreachable

Causa

El complemento usa Helm V2, que depende de Tiller. Tiller presentó un error y no es accesible.

Solución

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre del clúster de destino. En el panel izquierdo, elija Workloads > Pods.

  3. Seleccione el espacio de nombres kube-system. Busque y elimine el pod tiller. El sistema lo vuelve a crear automáticamente.

  4. Cuando el pod de Tiller alcance el estado Ready, reintente la operación del complemento.

AddonOperationFailed.FailedCallingWebhook

Síntomas

La consola muestra un error similar al siguiente:

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"

Causa

No se puede invocar un webhook de mutación para un recurso del complemento, lo que bloquea las actualizaciones.

Solución

Corrija el webhook con errores que se indica en el mensaje y vuelva a intentar la actualización del complemento.

En el ejemplo, el webhook rancher-webhook del espacio de nombres cattle-system no está disponible.

AddonOperationFailed.UserForbidden

Causa

El clúster utiliza Helm V2, pero Tiller carece de los permisos RBAC necesarios para gestionar recursos. Esto impide las operaciones del componente.

Solución

Otorgue a Tiller los permisos RBAC necesarios. Consulte Control de acceso basado en roles.

AddonOperationFailed.TillerNotFound

Causa

El clúster utiliza Helm V2, pero no hay ningún pod de Tiller ejecutándose.

Solución

Resuelva los problemas del pod tiller-deploy en el espacio de nombres kube-system. Cuando el pod funcione con normalidad, reintente la operación del complemento. Consulte Troubleshoot pod issues.

AddonOperationFailed.ErrPatchingClusterRoleBinding

Causa

Existe un ClusterRoleBinding obligatorio para el complemento, pero su configuración genera conflictos. Por lo general, esto ocurre cuando se instaló por separado una versión de código abierto.

Solución

Desinstale la versión de código abierto del componente:

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre del clúster de destino. En el panel izquierdo, elija Applications > Helm.

  3. Busque la versión de Helm del complemento. En la columna Actions, haga clic en Delete. En el cuadro de diálogo, seleccione Clear Release Records y haga clic en OK.

  4. Instale o actualice el complemento.

AddonOperationFailed.ErrApplyingPatch

Síntomas

La consola muestra un error similar al siguiente:

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

Causa

Los manifiestos YAML de la versión instalada son incompatibles con la versión de destino. Las causas más comunes son:

  • Se instaló otra versión (por ejemplo, la de código abierto) mediante un método distinto.

  • Los manifiestos YAML del complemento se modificaron manualmente.

  • La versión instalada actualmente ya no es compatible.

Solución

Modifique los manifiestos YAML del componente según el mensaje de error. Si necesita ayuda, envíe un ticket.

Ejemplo: conflicto de nombre de contenedor en Flannel

Si tiene instalada una versión discontinuada de Flannel, la actualización podría fallar con este mensaje:

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

Edite el manifiesto del DaemonSet de Flannel:

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

Busque el contenedor install-cni dentro de spec.template.spec.containers y elimínelo (líneas 7 a 21 en el ejemplo):

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

Eliminar estas líneas no interrumpe las cargas de trabajo en ejecución. Una actualización continua (rolling update) inicia automáticamente. Cuando finalice, actualice Flannel desde la consola de ACK. Consulte Components.