在多部計算機上相應放大
既然 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
。
注意
只在具有 ControlPlane 角色之 Linux 節點的電腦上執行New-AksEdgeScaleConfig
。
您可以使用產生的組態檔,並執行下列命令來新增 Windows 節點:
Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json
您也可以在這裡指定 Windows VM 的參數,例如 CpuCount
和/或 MemoryInMB
。