在多部電腦上相應放大
現在,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
。
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應