複数のマシンでのスケールアウト

AKS Edge Essentials がプライマリ コンピューターにインストールされたので、この記事では、クラスターを他のセカンダリ マシンにスケールアウトしてマルチマシンデプロイを作成する方法について説明します。

注意事項

追加のノードへのスケーリングは試験的な機能です。

前提条件

手順 1: プライマリ コンピューターからクラスター構成を取得する

スケーラブルなデプロイを作成したプライマリ コンピューターで、管理者特権の PowerShell ウィンドウで次の手順を実行して、要件に基づいて適切な構成ファイルを作成します。

  • Linux 専用ワーカー ノードを追加してスケーリングするには、次のコマンドを使用して必要な構成ファイルを作成し、 NodeType を "Linux" として指定し、このノードに一意で使用可能な IP アドレスを指定します。

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Linux コントロール プレーン ノードを追加してスケーリングするには、 NodeType を "Linux" として指定し、 ControlPlane フラグを true に設定し、Linux ノードの一意の IP アドレスを指定します。

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -ControlPlane -outFile .\ScaleConfig.json | Out-Null
    
  • Windows 専用ワーカー ノードを追加してスケーリングするには、 NodeType を "Windows" として指定し、Windows ノードに一意の IP アドレスを指定します。

      New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Windows -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Linux および Windows ワーカー ノードを追加するには、 NodeType を "LinuxAndWindows" として指定し、Linux ノードと Windows ノードの両方に一意の IP アドレスを指定します。

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Linux コントロール プレーン ノードと Windows ワーカー ノードを追加するには、 NodeType を "LinuxAndWindows" として指定し、 ControlPlane フラグを true として設定し、Linux ノードと Windows ノードの両方に一意の IP アドレスを指定します。

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x  -ControlPlane -outFile .\ScaleConfig.json | Out-Null
    

これらのコマンドは、クラスターを JSON 形式で結合するために必要なデータをエクスポートし、JSON 文字列として返し、 outFile パラメーターで指定されたファイルに格納します。

注意事項

New-AksEdgeScaleConfig コマンドを実行するたびに、以前に作成したClusterJoinTokenが無効になるため、以前に作成したScaleConfig.json ファイルを使用することはできません。 また、 ClusterJoinToken は 24 時間のみ有効です。

手順 2: 構成パラメーターを検証する

.\ScaleConfig.json構成ファイルには、プライマリ コンピューターからの構成が含まれています。 必要なセクションを確認して更新し、スケーリング対象のマシンに関連する詳細を指定します。

  • セカンダリ マシンを参照して NetworkConnection.AdapterName を確認します。 セカンダリ コンピューター上の Hyper-V に外部スイッチを作成した場合は、 ScaleConfig.json ファイルで vswitch の詳細を指定することを選択できます。 Hyper-V マネージャーで外部スイッチを作成して New-AksEdgeDeployment コマンドを実行しない場合、AKS Edge Essentials によって aksedgesw-ext という名前の外部スイッチが自動的に作成され、展開に使用されます。

    Note

    このリリースでは、スイッチに Wi-Fi アダプターを使用している場合、 New-AksEdgeDeployment コマンドを使用した外部スイッチの自動作成に既知の問題があります。 この場合は、まず Hyper-V マネージャー - 仮想スイッチ マネージャーを使用して外部スイッチを作成し、スイッチを Wi-Fi アダプターにマップします。 次に、このセクションの説明に従って、構成 JSON にスイッチの詳細を指定します。

  • Network.NetworkPluginは既定でflannel。 Flannel は、K3S クラスターの既定の CNI です。 K8S クラスターの場合は、 NetworkPlugincalico に変更します。

  • セカンダリ ノードのリソース構成を確認します。 これらのパラメーターは必要に応じて変更できます。 ノードごとに十分なメモリを確保。 プライマリ コンピューターで MacAddress を指定した場合は、セカンダリ コンピューターに関連する適切な MAC アドレスを確認して指定します。

  • サポートされている設定は、奇数のコントロール プレーン ノードだけです。 したがって、コントロール プレーンをスケールアップまたはスケールダウンする場合は、コントロール プレーン ノードが 1 つ、3 つ、または 5 つあることを確認します。

手順 3: セカンダリ コンピューター上のノードを起動する

これで、セカンダリ マシン上のノードを起動し、クラスターに追加する準備ができました。

セカンダリ マシンに対応するノードをデプロイするには、前の手順で作成した ScaleConfig.json ファイルを使用できるようになりました。

New-AksEdgeDeployment -JsonConfigFilePath .\ScaleConfig.json

手順 4: クラスターのセットアップを検証する

クラスター内の任意のノードで、次のコマンドレットを実行します。

kubectl get nodes -o wide

クラスターのすべてのノードを表示できる必要があります。

複数のノードを示すスクリーンショット。

手順 5: ノードを追加する

手順 1 から 4 を繰り返すことで必要な nodeType に基づいて、新しい ScaleConfig ファイルを生成できます。 ノードを追加するたびに、ネットワークで使用可能な IP アドレスを指定してください。

手順 6: ノードが既に存在するマシンに 2 番目のノード (Linux/Windows) を追加する (省略可能)

ノードが既に存在する既存のマシンに別のノードを追加できます。 たとえば、マシンが Linux ノードを実行している場合は、Windows ノードを追加できます。

New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -WindowsNodeIp "xxx" -outFile .\ScaleConfig.json | Out-Null

Windows VM の CpuCountMemoryInMB などのパラメーターを指定することもできます。

Note

New-AksEdgeScaleConfigは、ControlPlane ロールを持つ Linux ノードを持つマシンでのみ実行します。

生成された構成ファイルを使用し、次のコマンドを実行して Windows ノードを追加できます。

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

ここで、Windows VM の CpuCountMemoryInMB などのパラメーターを指定することもできます。

次のステップ