すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:コンポーネントエラーのトラブルシューティング

最終更新日:Mar 26, 2026

Container Service for Kubernetes (ACK) コンソールでコンポーネントの操作が失敗すると、画面にエラーコードが表示されます。このページでは、すべてのコンポーネントのエラーコード、その原因、および解決策について説明します。

エラーコードリファレンス

エラーコード説明
AddonOperationFailed.ResourceExistsコンポーネントに必要なリソースがクラスター内にすでに存在します
AddonOperationFailed.ReleaseNameInUseコンポーネントと同じ名前の Helm リリースがすでに存在します
AddonOperationFailed.WaitForAddonReadyTimeout更新リクエストが送信された後、コンポーネントの Pod が Ready 状態に到達できません
AddonOperationFailed.APIServerUnreachableACK が Kubernetes API サーバーにアクセスできません
AddonOperationFailed.ResourceNotFoundコンポーネントに必要なリソースが見つかりません
AddonOperationFailed.TillerUnreachableHelm V2 の Tiller にアクセスできません
AddonOperationFailed.FailedCallingWebhookコンポーネントリソースの Mutating Webhook を呼び出せません
AddonOperationFailed.UserForbiddenTiller に必要なロールベースアクセス制御 (RBAC) 権限がありません
AddonOperationFailed.TillerNotFoundクラスター内で実行中の Tiller Pod がありません
AddonOperationFailed.ErrPatchingClusterRoleBindingコンポーネントに必要な ClusterRoleBinding は存在しますが、設定に競合があります
AddonOperationFailed.ErrApplyingPatchコンポーネントの YAML マニフェストにバージョン間の互換性がありません

AddonOperationFailed.ResourceExists

症状

コンソールに次のようなエラーメッセージが表示されます。

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

原因

コンポーネントに必要なリソースがクラスター内にすでに存在するため、インストールできません。これは通常、次の場合に発生します。

  • 別のバージョンのコンポーネント (オープンソース版など) が、別の方法ですでにインストールされている。

  • コンポーネントが Helm V2 でインストールされており、Helm V3 への移行前にそのリソースが削除されなかった。

  • コンポーネントが必要とするリソースと同じ名前のリソースが手動で作成された。

ソリューション

エラーメッセージで特定された競合するリソースを削除してから、インストールまたは更新を再試行してください。

エラーメッセージには、削除するリソースが示されています。次のセクションでは、特定のコンポーネントに対する正確なコマンドをリストします。

arms-prometheus

arms-prometheus の場合、arms-prometheus がインストールされている名前空間を削除します。ほとんどの場合、arms-prometheus は arms-prom 名前空間にインストールされます。次のコマンドを実行してから、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

重要

リソースを削除しても、ご利用のワークロードに影響はありません。削除から更新までの間に Pod を追加しないでください。追加した場合は、コンポーネントの更新後にそれらの Pod を削除して再作成し、DNS キャッシュを再インジェクトしてください。

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

リソースを削除した後、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

リソースを削除した後、arms-cmonitor をインストールまたは更新します。

AddonOperationFailed.ReleaseNameInUse

原因

コンポーネントと同じ名前の Helm リリースがクラスター内にすでに存在します。これにより、Helm がコンポーネントをインストールまたは更新できなくなります。一般的な原因は次のとおりです。

  • 別のバージョンのコンポーネントが、別の方法でインストールされている。

  • 以前のインストール試行で残った Helm リリースが存在する。

ソリューション

  1. ACK コンソールにログインします。ACK コンソール の左側のナビゲーションウィンドウで、ACK コンソールACK コンソールACK コンソールACK コンソール[クラスター] をクリックします。

  2. [クラスター] ページで、対象のクラスターの名前をクリックします。左側のペインで、[アプリケーション] > [Helm] を選択します。

  3. コンポーネント名の Helm リリースを探します。[アクション] 列で、[削除] をクリックします。ダイアログボックスで、[リリースレコードをクリア] を選択し、[OK] をクリックします。

  4. コンポーネントをインストールまたは更新します。

AddonOperationFailed.WaitForAddonReadyTimeout

原因

更新リクエストは送信されましたが、コンポーネントの Pod がタイムアウト期間内に Ready 状態に到達できません。

トラブルシューティング

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、対象のクラスターの名前をクリックします。左側のペインで、[操作] > [イベントセンター] を選択します。

  3. [イベント (クラスターリソースイベント)] タブで、[レベル]警告 に設定し、コンポーネントがデプロイされている名前空間を選択して、[タイプ][Pod] に設定します。イベントの詳細を確認して、原因を特定します。次のセクションでは、一般的な原因とそのソリューションについて説明します。

一般的な原因とソリューション

原因 1:Pod をスケジューリングできない (FailedScheduling)

クラスター内のノードが、コンポーネントの Pod のスケジューリング要件を満たしていません。イベントの詳細で、次のいずれかのメッセージを確認してください。

イベントメッセージ原因ソリューション
Insufficient memory または Insufficient cpuノードのリソースが不足しています不要な Pod を削除するか、クラスターにノードを追加するか、ノードの設定をアップグレード
the pod didn't tolerateノードの Taint がコンポーネントの Pod によって許容されていませんノードから Taint を削除
didn't match pod anti-affinity rulesPod アンチアフィニティルールを満たすことができませんクラスターにノードを追加

スケジューリングの問題を解決した後、コンポーネントを再度更新します。

原因 2:Pod サンドボックスを作成できない (FailedCreatePodSandBox)

ネットワークプラグインが Pod に IP アドレスを割り当てることができません。イベントの詳細を確認してください。

AddonOperationFailed.APIServerUnreachable

原因

ACK が Kubernetes API サーバーに到達できません。最も一般的な原因は、API サーバーを公開している Server Load Balancer (SLB) インスタンスの設定が間違っているか、期待どおりに動作していないことです。

ソリューション

詳細については、「API サーバーリクエストの例外のトラブルシューティング」をご参照ください。

AddonOperationFailed.ResourceNotFound

原因

コンポーネントに必要なリソースが見つかりません。おそらく外部で削除または変更されたため、コンポーネントをインプレースで更新できません。

ソリューション

コンポーネントをアンインストールし、最新バージョンをインストールしてください。

AddonOperationFailed.TillerUnreachable

原因

このコンポーネントは Helm V2 を使用しており、インストールと更新は Tiller に依存しています。Tiller でエラーが発生し、アクセスできなくなっています。

ソリューション

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、対象のクラスターの名前をクリックします。 左側のペインで、[ワークロード] > [ポッド] を選択します。

  3. kube-system 名前空間を選択します。[tiller] Podを検索して削除します。システムが自動的に再作成します。

  4. Tiller Pod が Ready 状態になった後、コンポーネントの操作を再試行します。

AddonOperationFailed.FailedCallingWebhook

症状

コンソールに次のようなエラーメッセージが表示されます。

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"

原因

コンポーネントリソース用に設定された Mutating Webhook を呼び出せないため、リソースの更新がブロックされています。

ソリューション

失敗した Webhook のトラブルシューティングを行い、問題を修正してから、コンポーネントを再度更新してください。エラーメッセージから、呼び出せない Webhook を特定できます。

上記の例では、cattle-system 名前空間の rancher-webhook Webhook が利用できません。

AddonOperationFailed.UserForbidden

原因

クラスターは Helm V2 を使用していますが、Tiller にリソースのクエリと更新に必要な RBAC 権限がないため、コンポーネントのインストールまたは更新ができません。

ソリューション

Tiller に必要な RBAC 権限を付与します。詳細については、「ロールベースアクセス制御」をご参照ください。

AddonOperationFailed.TillerNotFound

原因

クラスターは Helm V2 を使用していますが、クラスター内で正常に実行されている Tiller Pod がありません。

ソリューション

kube-system 名前空間の tiller-deploy Pod のトラブルシューティングを行います。Pod が正常に実行された後、コンポーネントの操作を再試行します。トラブルシューティングの手順については、「Pod の問題のトラブルシューティング」をご参照ください。

AddonOperationFailed.ErrPatchingClusterRoleBinding

原因

コンポーネントに必要な ClusterRoleBinding はクラスター内にすでに存在しますが、その設定がコンポーネントが期待するものと競合しています。これは通常、オープンソース版のコンポーネントが別途インストールされている場合に発生します。

ソリューション

クラスターからオープンソース版のコンポーネントをアンインストールします。

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、対象のクラスターの名前をクリックします。左ペインで、[アプリケーション] > [Helm] を選択します。

  3. コンポーネント名の Helm リリースを検索してください。[操作] 列で [削除] をクリックしてください。ダイアログボックスで [リリース記録のクリア] を選択し、[OK] をクリックしてください。

  4. コンポーネントをインストールまたは更新します。

AddonOperationFailed.ErrApplyingPatch

症状

コンソールに次のようなエラーメッセージが表示されます。

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

原因

現在インストールされているコンポーネントバージョンの YAML マニフェストがターゲットバージョンと互換性がないため、更新ができません。これは、次のような場合に発生する可能性があります。

  • 別のバージョンのコンポーネント (オープンソース版など) が、別の方法でインストールされている。

  • コンポーネントの YAML マニフェストが手動で変更された。

  • 現在インストールされているバージョンがサポートされなくなった。

ソリューション

エラーメッセージに基づいて、コンポーネントの YAML マニフェストを修正してください。サポートが必要な場合は、チケットを送信してください。

例:Flannel コンテナ名の競合

廃止された Flannel バージョンがインストールされている場合、更新が次のエラーで失敗することがあります。

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

これを修正するには、Flannel の DaemonSet マニフェストを編集します。

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

マニフェストで、spec.template.spec.containers の下にある install-cni コンテナの定義を見つけて削除します (以下の例の 7 行目から 21 行目)。

      containers:
      - name: kube-flannel
        image: registry-vpc.{{.Region}}.aliyuncs.com/acs/flannel:{{.ImageVersion}}
        command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr" ]
        ...
        # 無関係な行は表示されていません。コメント行 7 から 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/
         # 無関係な行は表示されていません。コメント行 7 から 21 を削除します。
          name: flannel-cfg
        ...

これらの行を削除しても、実行中のワークロードは中断されません。ローリングアップデートが自動的に開始されます。完了後、ACK コンソールから Flannel を更新します。詳細については、「コンポーネントの管理」をご参照ください。