Container Service for Kubernetes (ACK) Edge クラスターは、他のリージョンの Elastic Compute Service (ECS) インスタンス、オンプレミスの IDC サーバー、他のクラウドプロバイダーのノード、工場、小売店、車両、船舶にデプロイされたサーバーなど、さまざまな環境の物理マシンや仮想マシンをエッジノードとして追加することをサポートしています。
このトピックでは、既存のノードを ACK Edge クラスターのエッジノードプールに追加する方法について説明します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
ACK Edge クラスターがすでに作成されていること
クラスターに十分なノードクォータがあること。クォータの引き上げをリクエストするには、クォータセンターに移動してください。クォータ制限については、「クォータと制限」をご参照ください
ノードのセキュリティグループは、必要なドメイン名へのアクセスを許可するように構成されています。詳細については、「エッジノードへのアクセス用のドメイン名およびIPルーティング構成」をご参照ください。
ノードがサポートされているオペレーティングシステムを実行していること
サポートされているオペレーティングシステム
| システムアーキテクチャ | OS バージョン | カーネルバージョン | ACK Edge クラスターバージョン |
|---|---|---|---|
| AMD64/x86_64 | Anolis7.9, Anolis8.6 | 4.19.X | ≥ 1.16.9-aliyunedge.1 |
| AMD64/x86_64 | Alibaba Cloud Linux 2.1903 | 4.19.X | ≥ 1.20.11-aliyunedge.1 |
| AMD64/x86_64 | Alibaba Cloud Linux 3 | 5.10.X | ≥ 1.20.11-aliyunedge.1 |
| AMD64/x86_64 | CentOS 7.4, 7.5, 7.6, 7.7, 7.8, and 7.9 | 3.10.X | 1.12.6-aliyunedge.1 ≤ version ≤ 1.30.7-aliyun.1 |
| AMD64/x86_64 | CentOS 8.0, CentOS 8.2 | 4.18.X | 1.18.8-aliyunedge.1 ≤ version ≤ 1.30.7-aliyun.1 |
| AMD64/x86_64 | Ubuntu 16.04 | 4.4.X | 1.18.8-aliyunedge.1 ≤ version ≤ 1.30.7-aliyun.1 |
| AMD64/x86_64 | Ubuntu 18.04 | 4.15.X | 1.12.6-aliyunedge.1 ≤ version ≤ 1.30.7-aliyun.1 |
| AMD64/x86_64 | Ubuntu 18.04 | 5.4.X | ≥ 1.16.9-aliyunedge.1 |
| AMD64/x86_64 | Ubuntu 18.04 | 5.11.X | ≥ 1.18.8-aliyunedge.1 |
| AMD64/x86_64 | Ubuntu 20.04 | 5.4.X | ≥ 1.18.8-aliyunedge.1 |
| AMD64/x86_64 | Ubuntu 20.04 and Ubuntu 22.04 | 5.15.X | ≥ 1.26.3-aliyun.1 |
| AMD64/x86_64 | Ubuntu 24.04 | 6.8.X | ≥ 1.30.7-aliyun.1 |
| AMD64/x86_64 | Red Hat Enterprise Linux 8.8, Red Hat Enterprise Linux 8.10 | 4.18.X | 1.26.3-aliyun.1 ≤ version ≤ 1.30.7-aliyun.1 |
| AMD64/x86_64 | Kylin V10 | 4.19.X | ≥ 1.26.3-aliyun.1 |
| AMD64/x86_64 | UnionTech OS Server 20 | 4.19.X | ≥ 1.26.3-aliyun.1 |
| AMD64/x86_64 | Red Hat Enterprise Linux 9.3 | 5.14.X | ≥ 1.30.7-aliyun.1 |
| Arm64 | CentOS 8.0 | 4.19.X | ≥ 1.14.8-aliyunedge.1 |
| Arm64 | Ubuntu 18.04 | 4.9.X | 1.14.8-aliyunedge.1 ≤ version ≤ 1.30.7-aliyun.1 |
| Arm64 | Ubuntu 18.04 | 4.19.X | ≥ 1.14.8-aliyunedge.1 |
| Arm64 | Ubuntu 20.04 | 5.10.X | ≥ 1.22.15-aliyunedge.1 |
GPU ノードを追加するには、「GPU ノードの追加」をご参照ください。
エッジノードの追加
手順はクラスターのバージョンによって異なります。ご利用のクラスターに対応するセクションをご参照ください。
Kubernetes 1.26 以降を実行しているクラスター
ACK コンソールにログインし、左側のナビゲーションウィンドウで [クラスター] をクリックします。
[クラスター] ページで、対象クラスターの名前をクリックします。左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。
[ノードプール] ページで、対象のノードプールを見つけ、[操作] 列の  > [既存ノードの追加] をクリックします。
[既存ノードの追加] ページで、クラウドとエッジ間の通信パラメーターと詳細オプションを設定します。
コンソールのパラメーターが要件を満たさない場合は、生成されたスクリプトで edgeadm パラメーターを直接編集してください。下記の「edgeadm パラメーターリファレンス」をご参照ください。
クラウドとエッジ間の通信設定
パラメーター 説明 トークンの有効期間 生成されたスクリプトが有効である期間。デフォルト:1 時間。長期間にわたってノードをバッチで追加する場合に便利な、有効期限が切れないスクリプトにするには、0 時間に設定します。 サイレントモードを有効にする デフォルト:はい。サイレントモードでは、edgeadm はすべてのプロンプトに自動的に yesと応答します (たとえば、既存のランタイムを再インストールするかどうかを尋ねられた場合)。各プロンプトを手動で確認するには、いいえに設定します。詳細オプション
パラメーター 説明 ノードラベル ノードに適用するラベル。ラベルキーがノードプールに設定されたラベルと競合する場合、ノードプールのラベルが優先されます。 テイント ノードに適用する Taint。 アノテーション ノードに適用するアノテーション。アノテーションキーがノードプールに設定されたアノテーションと競合する場合、ノードプールのアノテーションが優先されます。 時刻の自動同期 有効にすると、edgeadm はノードのシステムクロックを自動的に同期します。 ノードネットワークポート `kubelet` がノード IP を取得するために使用し、`flannel` がコンテナネットワークのために使用するネットワークインターフェースカード (NIC) の名前。デフォルトルートに関連付けられた NIC を使用するには、空白のままにします。 コンポーネントのダウンロード元 システムコンポーネントイメージのソース。デフォルト:パブリックネットワーク。プライベートネットワークを選択するには、ノードが専用線のノードプールに接続されている必要があります。 ランタイムの作業ディレクトリ コンテナランタイムの作業ディレクトリ。 manageRuntimeがtrueに設定されている場合にのみ有効になります。`containerd` のデフォルト:/var/lib/containerd。
[OK] をクリックします。送信結果ページで [コピー] をクリックし、スクリプトをご利用のエッジノードに貼り付けて実行します。次の結果が返された場合、エッジノードはクラスターに追加されます。

Kubernetes 1.26 より前のバージョンを実行しているクラスター
ACK コンソールにログインし、左側のナビゲーションウィンドウで [クラスター] をクリックします。
[クラスター] ページで、対象クラスターの名前をクリックします。左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。
「[ノードプール]」ページで、対象のノードプールを見つけ、「[その他]」をクリックし、「> [既存ノードの追加]」を選択します(「[操作]」列)。
[ノードの追加] ページでは、デフォルトで [手動] モードが選択されています。手動モードは、ECS インスタンス、ENS インスタンス、およびエッジノードをサポートしています。[次のステップ] をクリックして [インスタンス情報] ページに移動し、ノードのアクセス設定を構成します。
スクリプトの有効期間はデフォルトで 1 時間です。長期間にわたってノードをバッチで追加する場合に便利な、有効期限が切れないスクリプトにするには、0 時間に設定します。

[次のステップ] をクリックします。[完了] ページで [コピー] をクリックし、スクリプトをご利用のエッジノードに貼り付けて実行します。次の結果が返された場合、エッジノードはクラスターに追加されます。

edgeadm パラメーターリファレンス
コンソールのオプションがシナリオをカバーしていない場合は、生成されたスクリプトで edgeadm パラメーターを直接変更してください。以下の表に、利用可能なすべてのパラメーターを示します。
| パラメーター | 必須 | コンソールでの対応項目 | デフォルト | 説明 |
|---|---|---|---|---|
quiet | いいえ | サイレントモードを有効にする | true | edgeadm がすべてのプロンプトに自動的に yes と応答するかどうかを制御します。各プロンプトを確認するには false に設定します。これにより、ノードの参加プロセスが一時停止または中断される可能性があることにご注意ください。 |
manageRuntime | いいえ | N/A | true | edgeadm がコンテナランタイムを検出してインストールするかどうかを制御します。ノードにランタイムをすでにインストールしている場合は false に設定します。 |
nodeNameOverride | いいえ | N/A | "" | ノード名。"" はホスト名を使用します。"XXX" は名前を XXX に設定します。"*" はランダムな 6 文字の文字列を生成します。"*.XXX" は XXX サフィックス付きのランダムな 6 文字の文字列を生成します。 |
allowedClusterAddons | いいえ | N/A | ["kube-proxy","flannel","coredns"] | ノードにインストールするコンポーネント。 |
gpuVersion | いいえ | N/A | "" | GPU アクセラレーションノードを追加する際に GPU モデルを指定します。サポートされている GPU モデルについては、「GPU モデル」をご参照ください。ACK Edge クラスター 1.26 以降では、NVIDIA GPU モデルは自動検出されるため、このパラメーターは不要です。 |
labels | いいえ | ノードラベル | {} | ノードに適用するラベル。ラベルキーがノードプールのラベルと競合する場合、ノードプールのラベルが優先されます。 |
annotations | いいえ | アノテーション | {} | ノードに適用するアノテーション。アノテーションキーがノードプールのアノテーションと競合する場合、ノードプールのアノテーションが優先されます。 |
taints | いいえ | テイント | [] | ノードに適用する Taint。 |
nodeIface | いいえ | N/A | "" | `kubelet` がノード IP を取得するために使用し、`flannel` がコンテナネットワークのために使用する NIC。空白のままにすると、`kubelet` はまず /etc/hosts でホスト名に一致するレコードを確認し、次にデフォルトルートの NIC にフォールバックします。`Flannel` もデフォルトルートの NIC を使用します。 |
runtimeRootDir | いいえ | ランタイムの作業ディレクトリ | "" | コンテナランタイムの作業ディレクトリ。manageRuntime が true の場合にのみ有効になります。Docker のデフォルト:/var/lib/docker。`containerd` のデフォルト:/var/lib/containerd。 |
imageRepoType | いいえ | コンポーネントのダウンロード元 | "" | システムコンポーネントイメージのソース。"" は自動選択します:専用線のノードプールのノードは内部ネットワークを使用し、通常のノードプールのノードはパブリックネットワークを使用します。public はパブリックネットワークを強制します。private は内部ネットワークを強制し、専用線のノードプールが必要です。 |
selfHostNtpServer | いいえ | 時刻の自動同期 | false | 時刻同期を制御します。false:edgeadm はシステムクロックを自動的に同期します。true:時刻はすでに手動で同期されているため、自動同期をスキップします。 |
flannelIface | いいえ | ノードネットワークポート | "" | `flannel` の NIC 名。推奨されません — 代わりに nodeIface を使用してください。デフォルトでは、ノードのデフォルトルートにある NIC になります。 |
enableIptables | いいえ | N/A | false | `edgehub` が `iptables` の最適化を有効にするかどうかを制御します。バージョン 1.22 以降では非推奨です。 |
次のステップ
ノードの参加に失敗した場合、「エッジノードの問題を診断する」をご参照ください。
不要になったノードを削除するには、「エッジノードの削除」をご参照ください。
クラウドとエッジ間のネットワークが切断されたときにノードでワークロードを実行し続けるには、「エッジノードの自律性の設定」をご参照ください。