共用方式為


單一電腦部署

您可以在單一電腦或多部電腦上部署 AKS Edge Essentials。 在單一機器 Kubernetes 部署中,Kubernetes 控制節點和背景工作節點都會在同一部電腦上執行。 本文說明如何在私人網路上在電腦上建立 Kubernetes 控制節點。

必要條件

設定電腦 一文中所述,設定主機電腦。

步驟 1:單一電腦設定參數

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

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

此命令會建立名為 aksedge-config.json 的 組態檔,其中包含使用 Linux 節點建立單一電腦叢集所需的設定。 檔案會建立在您目前的工作目錄中。 如需建立組態檔的更多選項,請參閱下列範例。 您可以 在這裡取得組態參數的詳細描述。

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

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

步驟 2:建立單一電腦叢集

  1. 您現在可以執行 New-AksEdgeDeployment Cmdlet 來部署具有單一 Linux 控制平面節點的單一機器 AKS Edge 叢集:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

步驟 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)

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

您可以建立沒有服務 IP 的簡單叢集, (ServiceIPRangeSize 設定為 0) :

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

將資源配置給您的節點

若要使用 GitOps 連線至 Arc 並部署您的應用程式,請為 LinuxNode.CpuCount (處理能力) 配置四個 CPU 或更多 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
          }
       }
   ]
}

注意

如果您指定 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

下一步