Share via


在多部電腦上相應放大

現在,AKS Edge Essentials 已安裝在主要電腦上,本文說明如何將叢集相應放大至其他次要電腦,以建立多部電腦部署。

注意

擴充至其他節點是實驗性功能。

必要條件

  • 設定 可調整的 Kubernetes 叢集。
  • 設定電腦一文中所述,設定次要電腦。 您無法在叢集中混合不同的 Kubernetes 散發套件。 如果主要電腦上的叢集執行 K8s,您也必須在次要電腦上安裝 K8s msi。

步驟 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 的外部交換器,並將它用於您的部署。

    注意

    在此版本中,如果您使用參數的 Wi-fi 配接器,則使用 New-AksEdgeDeployment 命令自動建立外部交換器時發生已知問題。 在此情況下,請先使用 Hyper-V 管理員 - 虛擬交換器管理員建立外部交換器,並將交換器對應至 Wi-fi 配接器。 然後提供組態 JSON 中的交換器詳細資料,如本節所述。

  • Network.NetworkPlugin預設為 flannel 。 Flannel 是 K3S 叢集的預設 CNI。 若為 K8S 叢集,請將 NetworkPlugin 變更為 calico

  • 確認次要節點的資源組態。 您可以視需要修改這些參數。 請確定您 為每個節點保留足夠的記憶體。 如果您在主要電腦上指定 MacAddress ,請確認並提供與次要電腦相關的正確 MAC 位址。

  • 唯一支援的設定是控制平面節點的奇數。 因此,如果您想要相應增加/減少控制平面,請確定您有一個、三個或五個控制平面節點。

步驟 3:在您的次要電腦上啟動節點

現在您已準備好在次要電腦上啟動節點,並將其新增至叢集。

若要在次要電腦上部署對應的節點,您現在可以使用在上一個步驟中建立的 ScaleConfig.json 檔案:

New-AksEdgeDeployment -JsonConfigFilePath .\ScaleConfig.json

步驟 4:驗證叢集設定

在叢集中的任何節點上,執行下列 Cmdlet:

kubectl get nodes -o wide

您應該可以看到叢集的所有節點。

顯示多個節點的螢幕擷取畫面。

步驟 5:新增更多節點

您可以重複步驟 1-4,根據所需的 nodeType 產生新的 ScaleConfig 檔案。 請確定您在每次新增節點時,都會提供網路中可用的 IP 位址。

步驟 6:將第二個節點 (Linux/Windows) 新增至已經有節點的電腦上, (選擇性)

您可以將另一個節點新增至已有節點的現有機器。 例如,如果您的機器正在執行 Linux 節點,您可以將 Windows 節點新增至其中:

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

您也可以指定 Windows VM 的參數,例如 CpuCount 和/或 MemoryInMB

注意

New-AksEdgeScaleConfig只在具有ControlPlane 角色之 Linux 節點的電腦上執行。

您可以使用產生的組態檔,並執行下列命令來新增 Windows 節點:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

您也可以在這裡指定 Windows VM 的參數,例如 CpuCount 和/或 MemoryInMB

下一步