Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Troubleshoot add-on errors

Son Güncelleme:Oct 06, 2026

Bir ACK eklentisi işlemi başarısız olduğunda döndürülen her hata kodunun nedenini ve çözümünü bulun.

Hata kodu referansı

Hata kodu

Açıklama

AddonOperationFailed.ResourceExists

Eklentinin gerektirdiği bir kaynak kümede zaten mevcut

AddonOperationFailed.ReleaseNameInUse

Eklentiyle aynı ada sahip bir Helm sürümü zaten mevcut

AddonOperationFailed.WaitForAddonReadyTimeout

Güncelleme isteği gönderildikten sonra eklenti podları Ready durumuna ulaşamıyor

AddonOperationFailed.APIServerUnreachable

ACK, Kubernetes API sunucusuna erişemiyor

AddonOperationFailed.ResourceNotFound

Eklentinin gerektirdiği kaynaklar bulunamıyor

AddonOperationFailed.TillerUnreachable

Helm V2 Tiller erişilemez durumda

AddonOperationFailed.FailedCallingWebhook

Bir eklenti kaynağı için mutating webhook çağrılamıyor

AddonOperationFailed.UserForbidden

Tiller, gerekli rol tabanlı erişim denetimi (RBAC) izinlerine sahip değil

AddonOperationFailed.TillerNotFound

Kümede çalışan bir Tiller podu yok

AddonOperationFailed.ErrPatchingClusterRoleBinding

Eklentinin gerektirdiği bir ClusterRoleBinding mevcut ancak yapılandırma çakışması var

AddonOperationFailed.ErrApplyingPatch

Eklentinin YAML bildirimleri sürümler arasında uyumsuz

AddonOperationFailed.ResourceExists

Belirtiler

Konsolda aşağıdakine benzer bir hata görüntülenir:

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

Neden

Eklentinin gerektirdiği bir kaynak kümede zaten mevcuttur. Yaygın nedenler şunlardır:

  • Farklı bir yöntemle başka bir sürüm (örneğin açık kaynak sürümü) yüklenmiştir.

  • Eklenti Helm V2 ile yüklenmiş ve Helm V3'e geçiş öncesinde kaynakları kaldırılmamıştır.

  • Manuel olarak aynı ada sahip bir kaynak oluşturulmuştur.

Çözüm

Hata mesajında belirtilen çakışan kaynakları silin ve ardından işlemi yeniden deneyin.

Aşağıdaki bölümlerde belirli eklentiler için komutlar listelenmiştir.

arms-prometheus

arms-prometheus genellikle arms-prom ad alanında yüklenir. Kaynaklarını silin ve ardından arms-prometheus'u yeniden yükleyin.

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

Önemli

Silme işlemi iş yüklerini etkilemez. Silme ve güncelleme işlemleri arasında pod eklemeyin. Eklerseniz, DNS önbelleğini yeniden enjekte etmek için güncellemeden sonra bu podları silip yeniden oluşturun.

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

Kaynak silindikten sonra ack-node-local-dns'i güncelleyin.

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

Kaynaklar silindikten sonra arms-cmonitor'u yükleyin veya güncelleyin.

AddonOperationFailed.ReleaseNameInUse

Neden

Aynı ada sahip bir Helm sürümü zaten mevcut olduğundan yükleme veya güncelleme engellenir. Yaygın nedenler şunlardır:

  • Farklı bir yöntemle başka bir sürüm yüklenmiştir.

  • Önceki bir yükleme denemesinden kalan bir Helm sürümü bulunmaktadır.

Çözüm

  1. ACK konsolu üzerinden oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol bölmede Applications > Helm seçeneğini belirleyin.

  3. Eklentinin Helm sürümünü bulun. Actions sütununda Delete seçeneğine tıklayın. İletişim kutusunda Clear Release Records seçeneğini işaretleyin ve OK seçeneğine tıklayın.

  4. Eklentiyi yükleyin veya güncelleyin.

AddonOperationFailed.WaitForAddonReadyTimeout

Neden

Güncelleme gönderildikten sonra eklenti podları zaman aşımı süresi içinde Ready durumuna ulaşamaz.

Sorun giderme

  1. ACK konsolu üzerinden oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol bölmede Operations > Event Center seçeneğini belirleyin.

  3. Events (Cluster Resource Events) sekmesinde Level değerini Warning olarak ayarlayın, eklentinin dağıtıldığı ad alanını seçin ve Type değerini Pod olarak ayarlayın. Nedeni belirlemek için olay ayrıntılarını inceleyin.

Yaygın nedenler ve çözümler

Neden 1: Podlar planlanamıyor (FailedScheduling)

Küme düğümleri eklenti podlarının planlama gereksinimlerini karşılamıyor. Olay ayrıntılarında şu mesajları kontrol edin:

Olay mesajı

Neden

Çözüm

Insufficient memory veya Insufficient cpu

Düğümlerde yeterli kaynak yok

Gereksiz podları silin, kümeye düğüm ekleyin veya düğüm yapılandırmalarını yükseltin

the pod didn't tolerate

Düğüm taint'leri eklenti podları tarafından tolere edilmiyor

Düğümlerden taint'leri kaldırın

didn't match pod anti-affinity rules

Anti-affinity kuralları karşılanamıyor

Kümeye düğüm ekleyin

Planlama sorununu çözdükten sonra eklenti güncellemesini yeniden deneyin.

Neden 2: Pod sandbox oluşturulamıyor (FailedCreatePodSandBox)

Ağ eklentisi podlara IP adresleri atayamıyor. Olay ayrıntılarını kontrol edin:

AddonOperationFailed.APIServerUnreachable

Neden

ACK, Kubernetes API sunucusuna ulaşamıyor. Bu durum genellikle API sunucusunu dışa açan Server Load Balancer (SLB) örneğinin yanlış yapılandırılmasından kaynaklanır.

Çözüm

Bkz. API sunucusu istek istisnalarını giderme.

AddonOperationFailed.ResourceNotFound

Neden

Gerekli eklenti kaynakları eksik; büyük olasılıkla harici olarak silinmiş veya değiştirilmiş olup yerinde güncellemeyi engelliyor.

Çözüm

Eklentiyi kaldırın ve en son sürümü yükleyin.

AddonOperationFailed.TillerUnreachable

Neden

Eklenti, Tiller'a bağımlı olan Helm V2 kullanır. Tiller bir hatayla karşılaşmış ve erişilemez durumdadır.

Çözüm

  1. ACK konsolu üzerinden oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol bölmede Workloads > Pods seçeneğini belirleyin.

  3. kube-system ad alanını seçin. tiller podunu bulup silin. Sistem podu otomatik olarak yeniden oluşturur.

  4. Tiller podu Ready durumuna ulaştığında eklenti işlemini yeniden deneyin.

AddonOperationFailed.FailedCallingWebhook

Belirtiler

Konsolda aşağıdakine benzer bir hata görüntülenir:

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"

Neden

Bir eklenti kaynağı için mutating webhook çağrılamıyor ve bu durum güncellemeleri engelliyor.

Çözüm

Hata mesajında belirtilen başarısız webhook'u düzeltin ve ardından eklenti güncellemesini yeniden deneyin.

Örnekte, cattle-system ad alanındaki rancher-webhook webhook'u kullanılamıyor.

AddonOperationFailed.UserForbidden

Neden

Küme Helm V2 kullanır ancak Tiller, kaynakları yönetmek için gerekli RBAC izinlerine sahip değildir. Bu durum bileşen işlemlerini engeller.

Çözüm

Tiller'a gerekli RBAC izinlerini verin. Bkz. Rol tabanlı erişim denetimi.

AddonOperationFailed.TillerNotFound

Neden

Küme Helm V2 kullanır ancak çalışan bir Tiller podu yoktur.

Çözüm

kube-system ad alanındaki tiller-deploy podunun sorunlarını giderin. Pod normal çalışmaya başladıktan sonra eklenti işlemini yeniden deneyin. Bkz. Pod sorunlarını giderme.

AddonOperationFailed.ErrPatchingClusterRoleBinding

Neden

Eklentinin gerektirdiği bir ClusterRoleBinding mevcut ancak yapılandırma çakışması var. Bu durum genellikle ayrı olarak yüklenen açık kaynak sürümünden kaynaklanır.

Çözüm

Açık kaynak bileşen sürümünü kaldırın:

  1. ACK konsolu üzerinden oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol bölmede Applications > Helm seçeneğini belirleyin.

  3. Eklentinin Helm sürümünü bulun. Actions sütununda Delete seçeneğine tıklayın. İletişim kutusunda Clear Release Records seçeneğini işaretleyin ve OK seçeneğine tıklayın.

  4. Eklentiyi yükleyin veya güncelleyin.

AddonOperationFailed.ErrApplyingPatch

Belirtiler

Konsolda aşağıdakine benzer bir hata görüntülenir:

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

Neden

Yüklenen sürümün YAML bildirimleri hedef sürümle uyumlu değildir. Yaygın nedenler şunlardır:

  • Farklı bir yöntemle başka bir sürüm (örneğin açık kaynak sürümü) yüklenmiştir.

  • Eklentinin YAML bildirimleri manuel olarak değiştirilmiştir.

  • Şu anda yüklü olan sürüm artık desteklenmemektedir.

Çözüm

Hata mesajına göre bileşenin YAML bildirimlerini değiştirin. Yardım almak için bir destek talebi oluşturun.

Örnek: Flannel konteyner adı çakışması

Desteklenmeyen bir Flannel sürümü yüklendiyse güncelleme şu hata ile başarısız olabilir:

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

Flannel DaemonSet bildirimini düzenleyin:

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

spec.template.spec.containers altındaki install-cni konteynerini bulun ve silin (örnekte 7–21. satırlar):

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

Bu satırları silmek çalışan iş yüklerini kesintiye uğratmaz. Otomatik olarak rolling update başlatılır. İşlem tamamlandıktan sonra Flannel'i ACK konsolundan güncelleyin. Bkz. Bileşenler.