Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Troubleshoot add-on errors

Última atualização: Jun 27, 2026

Identifique a causa e a solução para cada código de erro retornado quando uma operação de add-on do ACK falha.

Referência de códigos de erro

Código de erro

Descrição

AddonOperationFailed.ResourceExists

Um recurso necessário para o add-on já existe no cluster

AddonOperationFailed.ReleaseNameInUse

Já existe uma release do Helm com o mesmo nome do add-on

AddonOperationFailed.WaitForAddonReadyTimeout

Os pods do add-on não atingem o estado Ready após o envio da solicitação de atualização

AddonOperationFailed.APIServerUnreachable

O ACK não consegue acessar o servidor de API do Kubernetes

AddonOperationFailed.ResourceNotFound

Não foi possível encontrar os recursos necessários para o add-on

AddonOperationFailed.TillerUnreachable

O Tiller do Helm V2 está inacessível

AddonOperationFailed.FailedCallingWebhook

Não foi possível chamar um webhook de mutação para um recurso do add-on

AddonOperationFailed.UserForbidden

O Tiller não possui as permissões necessárias de controle de acesso baseado em função (RBAC)

AddonOperationFailed.TillerNotFound

Nenhum pod do Tiller está em execução no cluster

AddonOperationFailed.ErrPatchingClusterRoleBinding

Um ClusterRoleBinding necessário para o add-on existe, mas apresenta configuração conflitante

AddonOperationFailed.ErrApplyingPatch

Os manifestos YAML do add-on são incompatíveis entre as versões

AddonOperationFailed.ResourceExists

Sintomas

O console exibe um erro semelhante a:

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

Um recurso necessário para o add-on já existe no cluster. Causas comuns:

  • Outra versão (como a open-source) foi instalada por um método diferente.

  • O add-on foi instalado com o Helm V2 e seus recursos não foram removidos antes da migração para o Helm V3.

  • Um recurso com o mesmo nome foi criado manualmente.

Solução

Exclua os recursos conflitantes indicados na mensagem de erro e tente novamente.

As seções a seguir listam comandos para add-ons específicos.

arms-prometheus

O arms-prometheus geralmente é instalado no namespace arms-prom. Exclua seus recursos e reinstale o 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

A exclusão não afeta as cargas de trabalho. Não adicione pods entre a exclusão e a atualização. Caso adicione, exclua e recrie esses pods após a atualização para reinjetar o cache DNS.

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

Após excluir o recurso, atualize o 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

Depois de excluir os recursos, instale ou atualize o arms-cmonitor.

AddonOperationFailed.ReleaseNameInUse

Causa

Já existe uma release do Helm com o mesmo nome, o que impede a instalação ou atualização. Motivos frequentes:

  • Instalação de outra versão por um método diferente.

  • Restou uma release do Helm de uma tentativa de instalação anterior.

Solução

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel à esquerda, escolha Applications > Helm.

  3. Localize a release do Helm do add-on. Na coluna Actions, clique em Delete. Na caixa de diálogo, selecione Clear Release Records e clique em OK.

  4. Instale ou atualize o add-on.

AddonOperationFailed.WaitForAddonReadyTimeout

Causa

Os pods do add-on não atingem o estado Ready dentro do período de tempo limite após o envio da atualização.

Solução de problemas

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel à esquerda, escolha Operations > Event Center.

  3. Na aba Events (Cluster Resource Events), defina Level como Warning, selecione o namespace onde o add-on está implantado e defina Type como Pod. Analise os detalhes do evento para identificar a causa.

Causas e soluções comuns

Causa 1: Pods não podem ser agendados (FailedScheduling)

Os nós do cluster não atendem aos requisitos de agendamento dos pods do add-on. Verifique se os detalhes do evento contêm estas mensagens:

Mensagem do evento

Causa

Solução

Insufficient memory ou Insufficient cpu

Recursos insuficientes nos nós

Excluir pods desnecessários, adicionar nós ao cluster ou atualizar configurações de nós

the pod didn't tolerate

Os pods do add-on não toleram as taints dos nós

Remover as taints dos nós

didn't match pod anti-affinity rules

Impossibilidade de satisfazer regras de antiafinidade

Adicionar nós ao cluster

Após resolver o problema de agendamento, tente atualizar o add-on novamente.

Causa 2: Sandbox do pod não pode ser criado (FailedCreatePodSandBox)

O plugin de rede não consegue alocar endereços IP para os pods. Verifique os detalhes do evento:

AddonOperationFailed.APIServerUnreachable

Causa

O ACK não consegue alcançar o servidor de API do Kubernetes, geralmente porque a instância do Server Load Balancer (SLB) que expõe o servidor de API está configurada incorretamente.

Solução

Consulte Solucionar problemas de exceções em solicitações ao servidor de API.

AddonOperationFailed.ResourceNotFound

Causa

Recursos obrigatórios do add-on estão ausentes — provavelmente excluídos ou modificados externamente —, impedindo a atualização local.

Solução

Desinstale o add-on e instale a versão mais recente.

AddonOperationFailed.TillerUnreachable

Causa

O add-on utiliza o Helm V2, que depende do Tiller. O Tiller encontrou um erro e está inacessível.

Solução

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel à esquerda, escolha Workloads > Pods.

  3. Selecione o namespace kube-system. Localize e exclua o pod tiller. O sistema o recria automaticamente.

  4. Quando o pod do Tiller atingir o estado Ready, tente realizar a operação do add-on novamente.

AddonOperationFailed.FailedCallingWebhook

Sintomas

O console exibe um erro semelhante a:

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

Não foi possível chamar um webhook de mutação para um recurso do add-on, bloqueando as atualizações.

Solução

Corrija o webhook com falha identificado na mensagem de erro e tente atualizar o add-on novamente.

No exemplo, o webhook rancher-webhook no namespace cattle-system está indisponível.

AddonOperationFailed.UserForbidden

Causa

O cluster usa o Helm V2, mas o Tiller não tem permissões RBAC para gerenciar recursos, impedindo operações nos componentes.

Solução

Conceda as permissões RBAC necessárias ao Tiller. Consulte Controle de acesso baseado em função.

AddonOperationFailed.TillerNotFound

Causa

O cluster utiliza o Helm V2, mas nenhum pod do Tiller está em execução.

Solução

Solucione problemas no pod tiller-deploy no namespace kube-system. Após o pod executar normalmente, tente realizar a operação do add-on novamente. Consulte Solucionar problemas de pods.

AddonOperationFailed.ErrPatchingClusterRoleBinding

Causa

Um ClusterRoleBinding necessário para o add-on existe, mas possui uma configuração conflitante, geralmente causada por uma versão open-source instalada separadamente.

Solução

Desinstale a versão open-source do componente:

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel à esquerda, escolha Applications > Helm.

  3. Localize a release do Helm do add-on. Na coluna Actions, clique em Delete. Na caixa de diálogo, selecione Clear Release Records e clique em OK.

  4. Instale ou atualize o add-on.

AddonOperationFailed.ErrApplyingPatch

Sintomas

O console exibe um erro semelhante a:

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

Causa

Os manifestos YAML da versão instalada são incompatíveis com a versão de destino. Motivos frequentes:

  • Instalação de outra versão (como a open-source) por um método diferente.

  • Modificação manual dos manifestos YAML do add-on.

  • A versão atualmente instalada não é mais suportada.

Solução

Modifique os manifestos YAML do componente com base na mensagem de erro. Para obter assistência, abra um ticket.

Exemplo: Conflito de nome de contêiner do Flannel

Se uma versão descontinuada do Flannel estiver instalada, a atualização poderá falhar com:

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

Edite o manifesto do DaemonSet do Flannel:

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

Localize o contêiner install-cni em spec.template.spec.containers e exclua-o (linhas 7–21 no exemplo):

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

A exclusão dessas linhas não interrompe as cargas de trabalho em execução. Uma atualização contínua inicia automaticamente. Após a conclusão, atualize o Flannel pelo console do ACK. Consulte Gerenciar componentes.