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

Container Service for Kubernetes:エッジノードに関する FAQ

最終更新日:Jun 22, 2026

このトピックでは、ACK Edge クラスター におけるエッジノードに関する一般的な質問に回答し、一般的な問題の解決策を説明します。

クラウドノードとエッジノードの区別

ACK Edge は、alibabacloud.com/is-edge-worker label を使用して、ノードがエッジノードであるかどうかを判断します。

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

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

Express Connect 経由で ACK Edge クラスター にエッジノードを追加する場合は、次の要件にご注意ください。詳細については、「Express Connect シナリオにおける ACK Edge クラスターの特別な設定」をご参照ください。

  • エッジノードプールを作成するときは、ノードプールタイプとして 専用 を選択します。次に、「エッジノードの追加」の手順に従って、ノード接続スクリプトを生成します。

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

    説明

    お使いの ACK Edge クラスター がバージョン 1.22 以降の場合、ノード接続スクリプトの inDedicatedNetwork パラメーターを使用して Express Connect 回線経由でノードを追加することはできません。クラスターのバージョンが 1.22 より前の場合は、クラスターをアップグレードしてください。

  • ノードが OSS、Container Registry、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

      ノード設定ファイルで、gpuVersion フィールドを、使用する GPU モデル (例: Nvidia_Tesla_T4) に設定します。設定例を次に示します。

      {
        "gpuVersion": "Nvidia_Tesla_T4",
        "enableIptables": true,
        "quiet": true,
        "manageRuntime": true,
        "allowedClusterAddons": [
          "kube-proxy",
          "flannel",
          "coredns"
        ]
      }
  • パラメーターを設定すると、接続ツールが自動的に nvidia-containerd-runtime をインストールします。詳細については、「NVIDIA Container Runtime」をご参照ください。

ノード接続スクリプトの失敗に関するトラブルシューティング

スクリプトの実行に失敗した場合は、次の表を使用して問題をトラブルシューティングしてください。問題がリストにない場合は、ノードの診断情報を収集し、チケットを送信してください。エッジノードの診断情報を収集する方法については、「ACK Edge クラスター内のノードの診断情報を収集する方法」をご参照ください。

エラーメッセージ

原因

解決策

The os XXX unsupport

エッジノードの OS がサポートされていません。

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

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 already exists 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

cluster-info ConfigMap の取得に失敗しました。

edgeadm がエッジノードを追加する際に、このアドレスを使用して API サーバーにアクセスする必要があります。API サーバーの 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 コマンドを実行してノードを再度追加してください。最新バージョンの edgeadm を使用していることを確認してください。

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

  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 'Please submit diagnose_1578310147.tar.gz to technical support'
    Please submit diagnose_1578310147.tar.gz to technical support
  6. ll コマンドを実行して、diagnose_1578310147.tar.gz 診断情報ファイルが存在することを確認してください。