次の方法で共有


単一コンピューターのデプロイ

AKS Edge Essentials は、1 台のコンピューターまたは複数のマシンにデプロイできます。 単一コンピューターの Kubernetes デプロイでは、Kubernetes 制御ノードとワーカー ノードの両方が同じコンピューター上で実行されます。 この記事では、プライベート ネットワーク上のマシンで Kubernetes 制御ノードを作成する方法について説明します。

前提条件

マシンのセットアップに関する記事の説明に従って、プライマリ コンピューターを設定 します。

手順 1: 単一コンピューター構成パラメーター

次のコマンドを使用して、単一のマシン クラスターを作成するために必要なパラメーターを生成できます。

New-AksEdgeConfig -DeploymentType SingleMachineCluster -outFile .\aksedge-config.json | Out-Null

このコマンドは、Linux ノードを使用して単一マシン クラスターを作成するために必要な構成を含む aksedge-config.json という構成ファイルを作成します。 ファイルは、現在の作業ディレクトリに作成されます。 構成ファイルを作成するためのその他のオプションについては、次の例を参照してください。 構成パラメーターの詳細については 、こちらを参照してください

単一コンピューターのデプロイの主なパラメーターは次のとおりです。

  • DeploymentType: このパラメーターはデプロイの種類を定義し、 として SingleMachineCluster指定します。
  • 既定では Network.NetworkPlugin 、 は です flannel。 これは K3S クラスターの既定値です。 K8S クラスターを使用している場合は、CNI を に calico変更します。
  • 次の説明LinuxNode.CpuCountに従って、デプロイ構成に従って、、、LinuxNode.MemoryInMBLinuxNode.DataSizeInGBWindowsNode.CpuCount、、WindowsNode.MemoryInMBInit.ServiceIPRangeSizeおよび の各パラメーターをNetwork.InternetDisabled設定できます。

手順 2: 単一のマシン クラスターを作成する

  1. コマンドレットを New-AksEdgeDeployment 実行して、単一の Linux コントロール プレーン ノードを持つ単一コンピューターの AKS Edge クラスターをデプロイできるようになりました。
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

手順 3: クラスターを検証する

次を実行して、デプロイが成功したことを確認します。

kubectl get nodes -o wide
kubectl get pods -A -o wide

次の図は、K3S クラスター上のポッドを示しています。

実行中のすべてのポッドを示すスクリーンショット。

手順 4: Windows ワーカー ノードを追加する (省略可能)

注意事項

Windows ワーカー ノードは、このリリースの試験的な機能です。 この機能に積極的に取り組んでいます。

既存の Linux のみの単一マシン クラスターに Windows ノードを追加する場合は、まず次のコマンドを使用して構成ファイルを作成します。

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

これにより、現在の作業ディレクトリに構成ファイル ScaleConfig.json が作成されます。 構成ファイルの Windows ノード パラメーターを変更して、Windows ノードに割り当てる必要があるリソースを指定することもできます。 構成ファイルを使用すると、次のコマンドを実行して、ノードを単一マシン クラスターに追加できます。

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

デプロイ オプションの例

構成パラメーターを使用して JSON オブジェクトを作成する

JSON オブジェクトをプログラムで編集し、文字列として渡すことができます。

$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096

New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)

NodePort サービスを使用して単純なクラスターを作成する

サービス IP を持たない単純なクラスターを作成できます (ServiceIPRangeSize 0 に設定)。

New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)

ノードにリソースを割り当てる

Arc に接続し、GitOps を使用してアプリをデプロイするには、 (処理能力) に LinuxNode.CpuCount 4 つ以上の CPU を割り当て、(RAM) に 4 GB 以上 LinuxNode.MemoryinMB を割り当て、0 より大きい数を に ServiceIpRangeSize割り当てます。 ここでは、Kubernetes サービスに 10 個の IP アドレスを割り当てます。

{
  "SchemaVersion": "1.5",
  "Version": "1.0",
  "DeploymentType": "SingleMachineCluster",
  "Init": {
    "ServiceIPRangeSize": 10
  },
  "Network": {
      "NetworkPlugin": "flannel"
  },
  "User": {
      "AcceptEula": true,
      "AcceptOptionalTelemetry": true
  },
  "Machines": [
       {
         "LinuxNode": {
              "CpuCount": 4,
              "MemoryInMB": 4096
          }
       }
   ]
}

注意

を指定した場合、AKS Edge Essentials は内部スイッチから IP アドレスを割り当てて Kubernetes サービスを ServiceIPRangeSize実行します。

前に説明したように、パラメーターを JSON 文字列として渡すこともできます。

$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096

New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)

混合ワークロード クラスターを作成する

Linux ノードと Windows ノードの両方を使用してクラスターを作成できます。 構成ファイルは、次のコマンドを使用して作成できます。

New-AksEdgeConfig -DeploymentType SingleMachineCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null

構成ファイルが作成されたら、次のコマンドを使用してクラスターをデプロイできます。

New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

次のステップ