共用方式為


單一計算機部署

您可以在單一機器或多部計算機上部署 AKS Edge Essentials。 在單一計算機 Kubernetes 部署中,Kubernetes 控制節點和背景工作角色節點都會在同一部計算機上執行。 本文說明如何在專用網的計算機上建立 Kubernetes 控制節點。

必要條件

設定主要計算機,如設定計算機中所述

步驟 1:單一計算機設定參數

您可以使用下列命令來產生建立單一電腦叢集所需的參數:

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

此命令會建立稱為 aksedge-config.json 的組態檔,其中包含使用Linux節點建立單一電腦叢集所需的組態。 檔案會建立在您目前的工作目錄中。 如需建立組態檔的詳細資訊,請參閱下列範例。

如需組態參數的詳細描述,請參閱 部署 JSON 組態。

單一電腦部署的主要參數包括:

  • DeploymentType:此參數會定義部署類型,並指定為 SingleMachineCluster
  • Network.NetworkPlugin預設為 flannel。 這是 K3S 叢集的預設值。 如果您使用 K8S 叢集,請將 CNI 變更為 calico
  • 您可以根據部署組態 來設定下列參數,如下所示LinuxNode.CpuCountLinuxNode.MemoryInMB、、 LinuxNode.DataSizeInGBWindowsNode.CpuCountWindowsNode.MemoryInMBInit.ServiceIPRangeSizeNetwork.InternetDisabled

步驟 2:建立單一計算機叢集

  1. 您現在可以執行 New-AksEdgeDeployment Cmdlet,以使用單一 Linux 控制平面節點來部署單一電腦 AKS Edge 叢集:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

重要

Kubernetes pod cidr 適用於 10.42.0.0/16 K3 和 10.244.0.0/24 K8。 Kubernetes service cidr 適用於 10.43.0.0/16 K3 和 10.96.0.0/12 K8。

步驟3:驗證叢集

執行下列命令以確認部署成功:

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

下圖顯示 K3S 叢集上的 Pod:

顯示執行中所有 Pod 的螢幕快照。

步驟 4:新增 Windows 背景工作角色節點 (選擇性)

警告

Windows 背景工作節點是此版本中的實驗性功能。 我們正積極處理這項功能。

如果您想要將 Windows 節點新增至現有的僅限 Linux 單一計算機叢集,請先使用下列命令建立組態檔:

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)

提示

如需所有可用的選項,請參閱 部署 JSON 組態 ,包括 Proxy 設定之類的網路設定。

使用 NodePort 服務建立簡單的叢集

您可以建立不含服務 IP 的簡單叢集(ServiceIPRangeSize 設為 0):

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

將資源配置給您的節點

若要使用 GitOps 連線至 Arc 並部署您的應用程式,請配置四個 CPU 或更多用於 (處理電源)、4 GB 或更多個 LinuxNode.CpuCount 用於 LinuxNode.MemoryinMB (RAM),並將大於 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
          }
       }
   ]
}

注意

如果您指定 ServiceIPRangeSize,AKS Edge Essentials 會從內部交換器配置 IP 位址,以執行 Kubernetes 服務。

您也可以選擇將參數傳遞為 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

下一步