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

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

最終更新日:Nov 09, 2025

ACK は、クラスターのアップグレード、クラスターの移行、コンポーネント、およびノードプールのチェックをサポートしています。クラスターをアップグレードまたは移行する前に、クラスターチェックを実行して、クラスターが要件を満たしていることを確認できます。このチェックでは、失敗したチェック項目に対する解決策も提供されます。

クラスターチェック項目

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

Kubernetes は複雑であるため、クラスターのアップグレードにはリスクが伴う可能性があります。スムーズなアップグレードを保証するために、ACK はアップグレード前のチェックを提供します。このチェックに合格した後にのみ、クラスターをアップグレードできます。チェック項目は、クラスターのタイプ、Kubernetes のバージョン、およびコンテナーランタイムによって異なります。コンソールに表示されるチェック項目が最新のものです。

クラスターアップグレードチェックには、次の 3 つのタイプがあります。

  • クラスターリソース: SLB、ECS、VPC インスタンスなど、ACK クラスターに関連するクラウドリソースをチェックします。

  • クラスターコンポーネント: ACK クラスター、コンポーネント、およびアプリケーションの構成をチェックします。たとえば、コンポーネントのバージョンが要件を満たしているか、アプリケーションが非推奨の API を使用しているかなどを確認します。

  • クラスター構成: ACK クラスター内のノードの構成をチェックします。このチェックでは、各ノードに Pod を作成して情報を収集する必要があります。

種類

チェック項目

説明

クラスターリソース

API Server SLB

SLB インスタンスが存在するかどうかをチェックします。

SLB インスタンスのステータスが正常かどうかをチェックします。

ポートとプロトコルを含む SLB リスナーの構成が正しいかどうかをチェックします。

SLB インスタンスのバックエンドサーバーグループの構成が正しいかどうかをチェックします。

SLB のアクセスの制御の構成が正しいかどうかをチェックします。アクセスの制御が構成されていない場合、チェックは合格します。

VPC

VPC タイプのインスタンスが存在するかどうかをチェックします。

VPC タイプのインスタンスが正常かどうかをチェックします。

vSwitch

vSwitch が存在するかどうかをチェックします。

vSwitch が正常かどうかをチェックします。

vSwitch に 2 つ以上の利用可能な IP アドレスがあるかどうかをチェックします。

ECS

ECS インスタンスが存在するかどうかをチェックします。

ECS インスタンスが正常かどうかをチェックします。

ECS セキュリティグループが正常かどうかをチェックします。

ECS インスタンスのサブスクリプションがアクティブであるかどうかをチェックします。

ECS インスタンスタイプが要件を満たしているかどうかをチェックします。

クラウドアシスタントクライアントが正常かどうかをチェックします。

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

Kube Proxy Master

コンポーネントが存在するかどうかをチェックします。

Kube Proxy Worker

コンポーネントが存在するかどうかをチェックします。

API サービス

利用できない API サービスが存在するかどうかをチェックします。

クラスターインスタンス

クラスター内の Master ノードの数が 3 または 5 であるかどうかをチェックします。

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

Terway コンポーネントのバージョンが要件を満たしているかどうかをチェックします。

CoreDNS コンポーネントのバージョンが要件を満たしているかどうかをチェックします。

cloud-controller-manager コンポーネントのバージョンが要件を満たしているかどうかをチェックします。

Nginx Ingress Controller コンポーネントのバージョンが要件を満たしているかどうかをチェックします。

ACK Virtual Node コンポーネントのバージョンが要件を満たしているかどうかをチェックします。

Metrics Server コンポーネントのバージョンが要件を満たしているかどうかをチェックします。

ノード

ノードの IP アドレスが存在するかどうかをチェックします。

ノードがスケジューリング可能かどうかをチェックします。

ノードが Ready 状態であるかどうかをチェックします。

ノードのオペレーティングシステムがアップグレードをサポートしているかどうかをチェックします。

ノード上の利用可能な Pod の数が 2 より大きいかどうかをチェックします。

非推奨 API

クラスターが非推奨の API を使用しているかどうかをチェックします。

クラスター構成

iptables 構成

iptables の構成が正しいかどうかをチェックします。

オペレーティングシステム

オペレーティングシステムがアップグレードをサポートしているかどうかをチェックします。

yum

yum が正しく動作しているかどうかをチェックします。

ディスク

ノードのファイルシステムが正常かどうかをチェックします。

ノードのディスク領域の 5% 以上が空いているかどうかをチェックします。

スワップ

ノードで Swap が有効になっているかどうかをチェックします。

NTP

ノードのネットワークタイムプロトコル (NTP) が正しく動作しているかどうかをチェックします。

Systemd

ノードの Systemd バージョンが systemd-219-67 より後であるかどうかをチェックします。

kubelet

kubelet の構成が期待どおりであるかどうかをチェックします。

コンテナーランタイム

Docker または containerd ランタイムが正常かどうかをチェックします。

カーネル構成

ノードのカーネル構成が正しいかどうかをチェックします。

マニフェスト構成

マニフェストファイルが期待どおりであるかどうかをチェックします。

クラスター移行チェック

クラスターの移行前に、移行前チェックがトリガーされます。移行は、クラスターがチェックに合格した後にのみ続行できます。このチェックは、次のシナリオに適用されます。

  • ACK 専用クラスターから ACK マネージドクラスター Pro 版への移行。

  • ACK マネージドクラスター Basic Editionから ACK マネージドクラスターへの移行。

クラスター移行チェックには、次の 4 つのタイプがあります。

  • クラスターリソース: SLB、ECS、VPC インスタンスなど、ACK クラスターに関連するクラウドリソースをチェックします。

  • クラスターコンポーネント: 利用できない API サービスをチェックするなど、ACK クラスター内のコンポーネントの構成をチェックします。

  • クラスター構成: ACK クラスター内のノードの構成をチェックします。このチェックでは、各ノードに Pod を作成して情報を収集する必要があります。

  • コンポーネントの使用状況: ACK 専用クラスターが移行されると、一部のコンポーネントは ACK によって管理されるようになります。したがって、これらのコンポーネントは移行前に問題がないかチェックされます。

種類

チェック項目

説明

クラスターリソース

API Server SLB

SLB インスタンスが存在するかどうかをチェックします。

SLB インスタンスのステータスが正常かどうかをチェックします。

ポートとプロトコルを含む SLB リスナーの構成が正しいかどうかをチェックします。

SLB インスタンスのバックエンドサーバーグループの構成が正しいかどうかをチェックします。

SLB のアクセスの制御の構成が正しいかどうかをチェックします。アクセスの制御が構成されていない場合、チェックは合格します。

VPC

VPC タイプのインスタンスが存在するかどうかをチェックします。

VPC タイプのインスタンスが正常かどうかをチェックします。

vSwitch

vSwitch が存在するかどうかをチェックします。

vSwitch が正常かどうかをチェックします。

vSwitch に 2 つ以上の利用可能な IP アドレスがあるかどうかをチェックします。

ECS

ECS インスタンスが存在するかどうかをチェックします。

ECS インスタンスが正常かどうかをチェックします。

ECS セキュリティグループが正常かどうかをチェックします。

クラウドアシスタントクライアントが正常かどうかをチェックします。

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

Kube Proxy Master

コンポーネントが存在するかどうかをチェックします。

Kube Proxy Worker

コンポーネントが存在するかどうかをチェックします。

API サービス

利用できない API サービスが存在するかどうかをチェックします。

クラスターインスタンス

クラスター内の Master ノードの数が 3 または 5 であるかどうかをチェックします。

ノード

ノードの IP アドレスが存在するかどうかをチェックします。

ノードがスケジューリング可能かどうかをチェックします。

ノードが Ready 状態であるかどうかをチェックします。

ノードのオペレーティングシステムがアップグレードをサポートしているかどうかをチェックします。

ノード上の利用可能な Pod の数が 2 より大きいかどうかをチェックします。

クラスター構成

オペレーティングシステム

オペレーティングシステムがアップグレードをサポートしているかどうかをチェックします。

yum

yum が正しく動作しているかどうかをチェックします。

コンポーネントの使用状況

cloud-controller-manager

cloud-controller-manager コンポーネントに問題があるかどうかをチェックします。

コンポーネントチェック

コンポーネントチェックは、コンポーネントのアップグレードシナリオに適用されます。コンポーネントがアップグレードされる前に、アップグレード前チェックがトリガーされます。アップグレードは、コンポーネントがチェックに合格した後にのみ続行できます。

種類

チェック項目

説明

cloud-controller-manager

Addon_CCM

このコンポーネントをアップグレードすると SLB が変更されるかどうかをチェックします。

Component_Block_Version

CCM のバージョンをアップグレードできるかどうかをチェックします。

csi-plugin

DaemonSet_Annotation

DaemonSet のアノテーションが期待どおりであるかどうかをチェックします。

Csi_Driver_Attributes

CSI ドライバのプロパティが要件を満たしているかどうかをチェックします。

Node_Status_Ready

クラスターノードが Ready 状態であるかどうかをチェックします。

csi-provisioner

Stateful_Set_Exist

リソースが StatefulSet であるかどうかをチェックします。

Deployment_Annotation

デプロイメントのアノテーションが期待どおりであるかどうかをチェックします。

Storage_Class_Attributes

StorageClass のプロパティが要件を満たしているかどうかをチェックします。

Csi_Provisioner_Node_Count

Ready 状態のノード数が 2 以上であるかどうかをチェックします。

terway-eniip

Systemd

ノードの Systemd バージョンが systemd-219-67 より後であるかどうかをチェックします。

nginx-ingress-controller

Deployment_Healthy

Nginx Ingress デプロイメントが正常であるかどうかをチェックします。

Deployment_Not_Under_HPA

デプロイメントに水平ポッドオートスケーラー (HPA) が構成されているかどうかをチェックします。

Deployment_Not_Modified

デプロイメントが変更されたかどうかをチェックします。

Nginx_Ingress_Pod_Error_Log

Nginx にエラーログがあるかどうかをチェックします。

LoadBalancer_Service_Healthy

Nginx Service が正常であるかどうかをチェックします。

Nginx_Ingress_Configuration

Ingress に互換性のない構成があるかどうかをチェックします。

aliyun-acr-credential-helper

RamRole_Exist

コンポーネントに AliyunCSManagedAcrRole 権限が付与されているかどうかをチェックします。

ack-cost-exporter

RamRole_Exist

コンポーネントに AliyunCSManagedCostRole 権限が付与されているかどうかをチェックします。

ノードプールチェック

ノードプールチェックは、ノードプールのアップグレードシナリオに適用されます。ノードプールがアップグレードされると、アップグレード前チェックがトリガーされます。アップグレードは、ノードプールがチェックに合格した後にのみ続行できます。

ノードプールチェックには、次の 3 つのタイプがあります。

  • クラスターリソース: SLB や VPC インスタンスなど、ACK クラスターに関連するクラウドリソースをチェックします。

  • クラスターコンポーネント: ACK クラスター、ノード、およびアプリケーションの構成をチェックします。

  • クラスター構成: ACK クラスター内のノードの構成をチェックします。このチェックでは、各ノードに Pod を作成して情報を収集する必要があります。

種類

確認項目

説明

クラスタ リソース

API Server SLB

SLB インスタンスが存在するかどうかをチェックします。

SLB インスタンスのステータスが正常かどうかをチェックします。

ポートとプロトコルを含む SLB リスナーの構成が正しいかどうかをチェックします。

SLB インスタンスのバックエンドサーバーグループの構成が正しいかどうかをチェックします。

SLB のアクセスの制御の構成が正しいかどうかをチェックします。アクセスの制御が構成されていない場合、チェックは合格します。

VPC

VPC タイプのインスタンスが存在するかどうかをチェックします。

VPC タイプのインスタンスが正常かどうかをチェックします。

vSwitch

vSwitch が存在するかどうかをチェックします。

vSwitch が正常かどうかをチェックします。

vSwitch に 2 つ以上の利用可能な IP アドレスがあるかどうかをチェックします。

クラスタコンポーネント

API サービス

利用できない API サービスが存在するかどうかをチェックします。

クラスターインスタンス

クラスター内の Master ノードの数が 3 または 5 であるかどうかをチェックします。

ノード

ノードが Ready 状態であるかどうかをチェックします。

ノード上の利用可能な Pod の数が 2 より大きいかどうかをチェックします。

HostPath

ノード上のいずれかの Pod が HostPath を使用しているかどうかをチェックします。

クラスター構成

iptables 構成

iptables の構成が正しいかどうかをチェックします。

オペレーティングシステム

オペレーティングシステムがアップグレードをサポートしているかどうかをチェックします。

yum

yum が正しく動作しているかどうかをチェックします。

ディスク

ノードのファイルシステムが正常かどうかをチェックします。

ノードの残りのディスク領域

ノードのディスク領域の 5% 以上が空いているかどうかをチェックします。

スワップ

ノードで Swap が有効になっているかどうかをチェックします。

NTP

ノードの NTP が正しく動作しているかどうかをチェックします。

Systemd

ノードの Systemd バージョンが systemd-219-67 より後であるかどうかをチェックします。

kubelet

kubelet の構成が期待どおりであるかどうかをチェックします。

コンテナーランタイム

Docker または containerd ランタイムが正常かどうかをチェックします。

カーネル構成

ノードのカーネル構成が正しいかどうかをチェックします。

マニフェスト構成

マニフェストファイルが期待どおりであるかどうかをチェックします。

失敗したチェック項目の解決策

失敗したチェック項目

解決策

Systemd のバージョンが低すぎます

Systemd のバージョンをアップグレードする

コンポーネントのバージョンが低すぎます

コンポーネントのバージョンをアップグレードします。詳細については、「コンポーネントの管理」をご参照ください。

yum チェックがタイムアウトしました

次のコマンドを実行して、yum がタイムアウトするかどうかを確認します。デフォルトのタイムアウトは 10 秒です。

time if type yum&>/dev/null; then yum list yum; fi

API Service が利用できません

  1. 次のコマンドを実行して、利用できない API Service を見つけます。

    kubectl -n kube-system get apiservices |grep -i false
  2. 異常な API Service の目的を確認します。サービスが不要な場合は、次のコマンドを実行して削除します。

    重要

    必要な API Service を削除すると、クラスターの例外が発生する可能性があります。異常な API Service の目的がわからない場合は、テクニカルサポートにお問い合わせください。

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

ノードに HostPath を使用する Pod があります

システムディスクを交換してノードをアップグレードする場合、ノード上の Pod が HostPath を使用してコンテナーディレクトリをホストにマウントすると、データ損失が発生する可能性があります。Pod のマウントされたディレクトリを確認してください。影響がない場合は、アップグレードを続行できます。チェック結果は参考用です。

クラスターが非推奨の API を使用しています

非推奨 API のソースを特定し、適切な操作を実行します。詳細については、「非推奨 API」をご参照ください。

クラスターの問題を修正するための提案

Kubernetes 1.20 以降を実行するクラスターの場合、アップグレード前チェックには非推奨 API のスキャンが含まれます。チェックレポートには、クラスターが使用する非推奨 API がリストされます。

たとえば、クラスターを Kubernetes 1.20 から 1.22 にアップグレードする場合、システムは前日の監査ログをスキャンして、Kubernetes 1.20 クラスターが非推奨の API を使用しているかどうかをチェックします。

  • Kubernetes 1.20 クラスターが非推奨の API を使用している場合、チェック結果は通知のみであり、アップグレードプロセスをブロックしません。

  • クラスターが Kubernetes 1.22 で非推奨の API を引き続き使用すると、セキュリティリスクが発生する可能性があります。サービスへの影響を評価する必要があります。

非推奨 API は、リクエストソース (ユーザーエージェント) に基づいて 4 つのタイプに分類されます。アップグレードする前に、次の表の [タイプ] 列を使用して非推奨 API のソースを特定し、適切な操作を実行してください。

種類

推奨される操作

core

Kubernetes コアコンポーネント: ACK はクラスターのアップグレード中にこれらのコンポーネントを自動的にアップグレードします。これらはチェックページに表示されず、ユーザーによる操作は不要です。

kube-apiserverkube-schedulerkube-controller-manager

ack

ACK コンポーネント: これらは ACK によって提供されるコンポーネントです。非推奨 API ページには表示されません。代わりに、ACK はコンポーネント管理ページでコンポーネントをアップグレードして問題を解決するようにガイドします。

説明
  • ACKコンソールにログインし、[運用] > [アドオン] を選択してコンポーネントをアップグレードできます。コンポーネントがアップグレードされた翌日以降、非推奨の API は表示されなくなります。

  • 場合によっては、バージョン 1.24 以降を実行する Kubernetes クラスターで CoreDNS コンポーネントが非推奨の API を使用することがあります。チェック結果に coredns が含まれている場合は、「CoreDNS が非推奨の API を使用しているのはなぜですか?」をご参照ください。

  • 非推奨 API の情報は参考用であり、アップグレードプロセスには影響しません。クラスターがアップグレードされると、非推奨の API リソースは新しいものに置き換えられます。セキュリティリスクを回避するため、クラスターのアップグレード後に非推奨の API を使用してリソースを作成しないでください。

metrics-server、nginx-ingress-controller、CoreDNS

opensource

オープンソースコンポーネント: ACK は、コミュニティのいくつかのオープンソースコンポーネントをリストします。それらをアップグレードするかどうかを決定する必要があります。

説明

非推奨 API の情報は参考用であり、アップグレードプロセスには影響しません。一部の機能に影響を与えないように、必要に応じてコンポーネントをアップグレードしてください。

rancher、elasticsearch-operator、その他

unknown

不明なソース: API が上記のいずれのルールにも一致しない場合、ACK はそれを不明なソースからであるとマークします。アップグレードするかどうかを決定し、自分でアップグレードを実行する必要があります。

説明

非推奨 API の情報は参考用であり、アップグレードプロセスには影響しません。一部の機能に影響を与えないように、必要に応じてコンポーネントをアップグレードしてください。

kubectl, agent, Go-http-client, okhttp

非推奨 API に関する情報を表示するには:

  1. [クラスターのアップグレード] ページで、[事前チェック] をクリックし、次に [詳細の表示] をクリックします。

  2. [チェックレポート] ページで、[詳細の表示] をクリックします。

  3. 詳細ページには、非推奨 API、ユーザーエージェント、タイプ、非推奨の Kubernetes バージョン、最終アクセス時刻、および最終アクセスのソース IP が表示されます。