單一電腦部署
您可以在單一電腦或多部電腦上部署 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.CpuCount
、LinuxNode.MemoryInMB
、LinuxNode.DataSizeInGB
、WindowsNode.CpuCount
、WindowsNode.MemoryInMB
、Init.ServiceIPRangeSize
和Network.InternetDisabled
。
步驟 2:建立單一電腦叢集
- 您現在可以執行
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:
步驟 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
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應