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

Container Service for Kubernetes:クラスターのチェック項目と解決策

最終更新日:Jun 18, 2026

Container Service for Kubernetes (ACK) クラスターのアップグレード、移行、またはコンポーネントのアップグレードを妨げる事前チェックの失敗を解決する方法を説明します。

チェックの種類

ACK は、3 種類の事前チェックを実行します:

チェックの種類 実行タイミング 適用対象
クラスターアップグレードチェック クラスターのアップグレード前 すべてのクラスタータイプ
クラスター移行チェック クラスターの移行前 ACK Serverless Basic Edition から ACK Serverless Pro へ
コンポーネントチェック コンポーネントのアップグレード前 個別のコンポーネント

クラスターアップグレードチェック

ACK は、クラスターをアップグレードする前に、非推奨 API、コンポーネントのバージョン制約、ランタイムの変更をチェックします。アップグレードは、すべてのチェックに合格した後にのみ続行されます。

チェックは、次の 2 つのカテゴリを対象としています:

  • クラスターリソース:Server Load Balancer (SLB) インスタンスや Virtual Private Cloud (VPC) ネットワークなどのクラウドリソース。

  • クラスターコンポーネント:コンポーネント設定、アプリケーション設定、非推奨 API の使用状況。

チェック項目は、クラスターのタイプ、バージョン、ランタイムによって異なります。詳細については、ACK コンソールのチェックページをご確認ください。

クラスターリソース

チェック項目 検証内容
[APIServer SLB] SLB インスタンスが存在すること
SLB インスタンスのステータスが正常であること
SLB リスナーの設定 (ポートおよびプロトコル) が有効であること
SLB バックエンドサーバーグループの設定が有効であること
SLB アクセス制御の設定が正しいこと (設定されていない場合は合格)
[VPC] VPC インスタンスが存在すること
VPC インスタンスのステータスが正常であること
[vSwitch] vSwitch が存在すること
vSwitch のステータスが正常であること
vSwitch に少なくとも 2 つの利用可能な IP アドレスがあること

クラスターコンポーネント

チェック項目 検証内容
[Kube Proxy Master] コンポーネントが存在すること
[Kube Proxy Worker] コンポーネントが存在すること
[APIService] 利用不可の APIService が存在しないこと
[コンポーネントバージョン] Terway、CoreDNS、cloud-controller-manager (CCM)、Nginx Ingress Controller、および Metric Server のバージョンがアップグレード要件を満たしていること
[非推奨 API] クラスターが非推奨 API を使用していないこと

クラスター設定

チェック項目 検証内容
[iptables] iptables の設定が有効であること
[オペレーティングシステム] OS がアップグレードをサポートしていること
[yum] yum パッケージマネージャーが正しく動作していること
[kubelet] kubelet の設定が期待どおりであること
[コンテナランタイム] Docker または containerd ランタイムのステータスが正常であること
[マニフェスト] マニフェストファイルが期待どおりであること

クラスター移行チェック

ACK は、ACK Serverless Basic Edition から ACK Serverless Pro に移行する前にクラスターをチェックします。移行は、すべてのチェックに合格した後にのみ続行されます。

チェックは、次の 2 つのカテゴリを対象としています:

  • クラスターリソース:クラスターで使用される SLB インスタンスおよび VPC ネットワーク。

  • クラスターコンポーネント:利用不可の APIService が存在するかどうかを含む、コンポーネント設定。

チェック項目は、クラスターのタイプ、バージョン、ランタイムによって異なります。詳細については、ACK コンソールのチェックページをご確認ください。

クラスターリソース

チェック項目 検証内容
[APIServer SLB] SLB インスタンスが存在すること
SLB インスタンスのステータスが正常であること
SLB リスナーの設定 (ポートおよびプロトコル) が有効であること
SLB バックエンドサーバーグループの設定が有効であること
SLB アクセス制御の設定が正しいこと (設定されていない場合は合格)
[VPC] VPC タイプのインスタンスが存在すること
VPC タイプのインスタンスのステータスが正常であること
[vSwitch] vSwitch が存在すること
vSwitch のステータスが正常であること
vSwitch に少なくとも 2 つの利用可能な IP アドレスがあること

クラスターコンポーネント

チェック項目 検証内容
[Kube Proxy Master] コンポーネントが存在すること
[Kube Proxy Worker] コンポーネントが存在すること
[APIService] 利用不可の APIService が存在しないこと

コンポーネントチェック

ACK は、各コンポーネントをアップグレードする前にチェックします。アップグレードは、すべてのチェックに合格した後にのみ続行されます。

チェック項目は、コンポーネントのタイプ、バージョン、ランタイムによって異なります。詳細については、ACK コンソールのチェックページをご確認ください。

コンポーネント チェック項目 検証内容
cloud-controller-manager Addon_CCM コンポーネントをアップグレードしても SLB に変更がないこと
Component_Block_Version CCM のバージョンをアップグレードできること
csi-plugin DaemonSet_Annotation DaemonSet のアノテーションが期待どおりであること
Csi_Driver_Attributes Container Storage Interface (CSI) ドライバーのプロパティが要件を満たしていること
csi-provisioner Stateful_Set_Exist リソースが StatefulSet であること
Deployment_Annotation Deployment のアノテーションが期待どおりであること
Storage_Class_Attributes StorageClass のプロパティが要件を満たしていること
nginx-ingress-controller Deployment_Healthy Nginx Ingress の Deployment が正常であること
Deployment_Not_Under_HPA Deployment に Horizontal Pod Autoscaler (HPA) が設定されていないこと
Deployment_Not_Modified Deployment が変更されていないこと
Nginx_Ingress_Pod_Error_Log Nginx Ingress の Pod にエラーログがないこと
LoadBalancer_Service_Healthy LoadBalancer タイプのサービスが正常であること
Nginx_Ingress_Configuration Ingress に互換性のない設定がないこと
aliyun-acr-credential-helper RamRole_Exist コンポーネントに AliyunCSManagedAcrRole の RAM ロールが付与されていること
ack-cost-exporter RamRole_Exist コンポーネントに AliyunCSManagedCostRole の RAM ロールが付与されていること

失敗したチェックの修正

一般的なチェックの失敗例と解決策:

失敗したチェック 解決策
コンポーネントのバージョンが古い コンポーネントをアップグレードします。詳細については、「コンポーネントの管理」をご参照ください。
APIService が利用不可 以下の手順をご参照ください。
クラスターに非推奨 API が含まれている 「非推奨 API」をご参照ください。

利用不可の APIService に対処するには:

  1. 利用不可の APIService を見つけます。

    kubectl -n kube-system get apiservices | grep -i false
  2. APIService がまだ必要かどうかを確認します。

    重要

    APIService を誤って削除すると、クラスターに異常が発生する可能性があります。続行する前に、その目的を確認してください。

  3. APIService が不要になった場合は、削除します。

    kubectl -n kube-system delete apiservices ${your-abnormal-apiservice-name}

非推奨 API

Kubernetes 1.20 以降を実行しているクラスターの場合、アップグレード前のチェックで前日の監査ログをスキャンし、非推奨 API の使用を検出します。

非推奨 API の検出方法

Kubernetes 1.20 から 1.22 にアップグレードする際、システムは 1.20 クラスターの監査ログをスキャンして、非推奨 API を検出します:

  • 非推奨 API が見つかった場合、結果は通知のみとなり、アップグレードはブロックされません。

  • 1.22 にアップグレードした後も非推奨 API を使用し続けると、セキュリティ上のリスクが生じる可能性があります。

説明

非推奨 API の通知は、アップグレードをブロックしません。アップグレード後、非推奨 API リソースは新しいものに置き換えられます。その後、非推奨 API を使用してリソースを作成しないでください。

非推奨 API のカテゴリ

非推奨 API は、リクエストソース (ユーザーエージェント) によって分類されます。

カテゴリ 説明 必要なアクション
core コア Kubernetes コンポーネント。ACK はクラスターのアップグレード中にこれらを自動的にアップグレードします。 apiserver、scheduler、kube-controller-manager なし — チェックページには表示されません
ack ACK が管理するコンポーネント。ACK はこれらを表示し、アップグレードを促します。 metrics-server、nginx-ingress-controller、coredns ACK コンソール[操作] > [アドオン] からアップグレードします
opensource オープンソースコミュニティのコンポーネント。ACK は一部をリスト表示します。認識されないコンポーネントは [unknown] として表示されます。 rancher、elasticsearch-operator 必要に応じてアップグレードします
unknown ソースが認識されないコンポーネント。 kubectl、agent、Go-http-client、okhttp 必要に応じてアップグレードします

ACK コンポーネントのアップグレードによる非推奨 API 警告の解消

ACK コンソールで [操作] > [アドオン] に移動してコンポーネントをアップグレードします。これらのコンポーネントに関する非推奨APIの警告は、アップグレードの翌日に解消されます。ACKコンソール

チェック結果に coredns が含まれている場合、CoreDNS は Kubernetes 1.24 以降で非推奨 API を使用している可能性があります。詳細については、「CoreDNS が非推奨 API を使用している理由」をご参照ください。

次のステップ