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

Container Service for Kubernetes:よくある質問:エッジノード

最終更新日:Mar 25, 2026

このトピックでは、ACK Edge クラスターでのエッジノードの使用に関連する一般的な問題とその解決方法について説明します。

ACK Edge はクラウドノードとエッジノードをどのように区別しますか?

ACK Edge では、alibabacloud.com/is-edge-worker ラベルに基づいてエッジノードを識別します。

ノードがクラウドノードプールまたはエッジノードプールに参加すると、is-edge-worker ラベルが自動的に付与されます。このラベルの値が true の場合、そのノードはエッジノードです。値が false の場合は、クラウドノードです。

Express Connect 経由でのエッジノード追加

Express Connect 環境で ACK Edge クラスター にエッジノードを追加する場合、以下の要件に注意してください。詳細については、「Express Connect シナリオにおける ACK Edge クラスターの特殊な構成手順」をご参照ください。

  • エッジノードプールのタイプを選択する際は、専用 を選択してください。その後、「エッジノードの追加」の手順に従って、ノード接続スクリプトを生成します。

    専用エッジノードプールの詳細については、「エッジノードプールの作成と管理」をご参照ください。

    説明

    バージョン 1.22 以降の ACK Edge クラスターでは、ノード接続スクリプトで inDedicatedNetwork パラメーターを設定して Express Connect 経由で接続を確立することはできません。クラスターバージョンが 1.22 より前の場合は、速やかにアップグレードしてください。

  • Express Connect 経由でエッジノードを追加する場合、ノードは非公開アドレスを使用してクラウドサービスと通信します。Object Storage Service (OSS)、Container Registry (ACR)、Server Load Balancer (SLB) などの必要なサービスにノードからアクセスできることを確認してください。

GPU ノードの追加

  • ノードを追加する前に、GPU ドライバーをインストールする必要があります。

  • サポートされるドライバーのバージョンについては、「ACK でサポートされる NVIDIA ドライバーのバージョン一覧」をご参照ください。

  • ノード接続スクリプトを生成する際に、gpuVersion パラメーターを設定する必要があります。以下の GPU モデルがサポートされています:

      システムアーキテクチャ

      GPU モデル

      Edge Kubernetes クラスターのバージョン

      AMD64/x86_64

      Nvidia_Tesla_T4

      ≥1.16.9-aliyunedge.1

      AMD64/x86_64

      Nvidia_Tesla_P4

      ≥1.16.9-aliyunedge.1

      AMD64/x86_64

      Nvidia_Tesla_P100

      ≥1.16.9-aliyunedge.1

      AMD64/x86_64

      Nvidia_Tesla_V100

      ≥1.18.8-aliyunedge.1

      AMD64/x86_64

      Nvidia_Tesla_A10

      ≥1.20.11-aliyunedge.1

      AMD64/x86_64

      Nvidia_L40

      ≥1.26.3-aliyun.1

      image.png

  • このパラメーターを設定すると、ツールが自動的に nvidia-containerd-runtime をインストールします。「nvidia-containerd-runtime」の詳細については、「NVIDIA Container Runtime」をご参照ください。

ノード接続スクリプト実行失敗のトラブルシューティング

スクリプト実行中にエラーが発生した場合は、以下の表を参考にトラブルシューティングを行ってください。該当するエラーが表に記載されていない場合は、ノードの診断情報を収集し、チケットを送信してください。ノード診断情報の収集方法については、「ACK Edge クラスターのノード診断情報を収集するにはどうすればよいですか?」をご参照ください。

エラーメッセージ

原因

解決方法

The os XXX unsupport

エッジノードのオペレーティングシステムがサポートされていません。

エッジノードでサポートされるオペレーティングシステムの一覧については、「エッジノードの追加」をご参照ください。

invalid nodeName

ノード名が無効です。

  1. ノード名には、小文字、ハイフン (-)、およびピリオド (.) のみを使用できます。

  2. ノード名は 253 文字を超えてはいけません。

  3. ノード名は localhost で始めてはいけません。

Node route overlaps with service cidr

ノードのルーティングテーブルが、クラスター作成時に設定された Pod CIDR ブロックまたは Service CIDR ブロックと競合しています。

クラスターを再作成してください。Pod CIDR および Service CIDR ブロックが、エッジノードの NameServer アドレスまたはルーティングテーブルと競合しないようにしてください。

response error msg: TOKEN_EXPIRED

アクセストークンの有効期限が切れています。

  1. ノード接続スクリプトを再生成してください。

  2. ノード上のシステム時刻が正しいかどうかを確認してください。

A node named XXX is already exist in the cluster

同じ名前のノードが既にクラスター内に存在します。

クラスターから同名のノードを削除してください。

error run phase join-node: failed to get cluster info: failed to get cluster-info configmap, Get "https://xx.xxx.xx.xx:6443/api/v1/namespaces/kube-public/configmaps/cluster-info": dial tcp xx.xxx.xx.xx:6443: i/o timeout

クラスター情報の取得に失敗しました。

edgeadm がエッジノードを接続する際、このアドレスの API サーバーにアクセスする必要があります。API サーバーの Server Load Balancer (SLB) のアクセス制御リスト (ACL) ルールが、このアドレスからのアクセスを制限していないか確認してください。

error run phase join-node: Install edge-hub failed: Copy file /tmp/edge-hub to /usr/bin/edge-hub fail: open /usr/bin/edge-hub: text file busy | 40009 | 40009

edge-hub のインストールに失敗しました。これは、ノード上に既に edge-hub バイナリファイルが存在するためです。

edgeadm reset コマンドを実行してノードをクリーンアップし、再度ノードを接続してください。

error run phase post-check: timed out waiting for the condition

システムコンポーネントの起動に失敗しました。

  1. 最新版の edgeadm ツールをダウンロードしてください。edgeadm reset コマンドを実行した後、再度ノードを接続してください。

  2. エッジノードが必要なパブリックアドレスにアクセスできるかどうかを確認してください。必要なアドレスの一覧については、「ネットワーク管理」をご参照ください。

  3. ノード診断情報を収集し、チケットを送信してください。詳細については、「ACK Edge クラスターのノード診断情報を収集するにはどうすればよいですか?」をご参照ください。

エッジノードのスペックアップ失敗のトラブルシューティング

エッジノードプールのスペックアップ を実行した際、「This node has been upgraded successfully」というメッセージが表示されない場合は、以下の表を参考にトラブルシューティングを行ってください。

エラーメッセージ

原因

解決方法

edgeadm version xxxx does not match cluster version

スペックアップツールのバージョンとクラスターのバージョンが一致していません。

  1. クラスターのコントロールプレーンがすでにスペックアップ済みかどうかを確認してください。

  2. TARGET_CLUSTER_VERSION パラメーターが正しく指定されているかを確認してください。

node has already been upgraded to xxx

ノードはすでにターゲットバージョンへとスペックアップ済みです。

ノード上の一部のコンポーネントがスペックアップされていない場合は、ログを保存し、チケットを送信してください。

kubelet target version xxxx does not match cluster version xxxx

指定された kubelet のアップグレードバージョンが、クラスターのコントロールプレーンのバージョンと一致していません。

  1. kubelet-version パラメーターを指定している場合は、その値がクラスターのコントロールプレーンのバージョンと一致しているか確認してください。

  2. このパラメーターを指定していない場合は、チケットを送信してください。

Parameter currentVersion cann't null

古いバージョンの edgeadm が使用されています。

  1. 最新版の edgeadm を使用しているか確認してください。

  2. サポートされるスペックアップパスは、バージョン 1.18 から 1.20、および 1.20 から 1.22 です。

upgrade kubelet failed at phase install, recover to previous state.

error run phase upgrade: xxxx

スペックアップに失敗し、自動的に以前の状態へロールバックされました。ノードのステータスには影響ありません。

ログを保存し、チケットを送信してください。

upgrade kubelet failed at phase install, recover to previous state

recover kubelet failed, err: xxx

error run phase upgrade: xxxx

スペックアップに失敗し、自動ロールバックも失敗しました。ノードのステータスに影響があります。

ログを保存し、チケットを送信してください。

ノード診断情報の収集

ACK Edge クラスター内の ACK Edge クラスター のノードが異常な場合、分析のためにそのノードの診断情報を収集するには、次の手順に従ってください。

  1. ACK Edge クラスター内の異常なノードにログインします。

  2. 以下のコマンドを実行して、診断スクリプトをダウンロードします:

    curl -o /usr/local/bin/diagnose_edge_node.sh https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/diagnose/diagnose_k8s.sh
  3. 以下のコマンドを実行して、診断スクリプトに実行権限を付与します:

    chmod u+x /usr/local/bin/diagnose_edge_node.sh
  4. 以下のコマンドを実行して、指定されたディレクトリに移動します:

    cd /usr/local/bin/
  5. 以下のコマンドを実行して、診断スクリプトを実行します:

    ./diagnose_edge_node.sh

    出力例は以下の通りです。スクリプトは一意の名前を持つ診断ファイル(例:diagnose_1578310147.tar.gz)を生成します。実際のファイル名は異なります。

    ......
    + echo 'please get diagnose_1578310147.tar.gz for diagnostics'
    please get diagnose_1578310147.tar.gz for diagnostics
    + echo 'Submit diagnose_1578310147.tar.gz to technical support'
    Submit diagnose_1578310147.tar.gz to technical support
  6. ll コマンドを実行して、診断ファイル(例:diagnose_1578310147.tar.gz)が正常に作成されたことを確認します。