使用鄰近放置群組來減少 Azure Kubernetes Service (AKS) 叢集的延遲
注意
在 AKS 上使用鄰近放置群組時,僅會在代理程式節點上套用共置。 已經改善節點對節點,以及對應託管 Pod 對 Pod 的延遲。 共置不會對放置叢集控制平面造成影響。
在 Azure 中部署您的應用程式時,跨區域或可用性區域分散虛擬機器 (VM) 執行個體會產生網路延遲,這可能會影響應用程式的整體效能。 鄰近放置群組是邏輯群組,可用來確保 Azure 計算資源實際位於彼此接近的位置。 某些應用程式 (例如遊戲、工程模擬,以及高頻率交易 (HFT)) 需要低延遲和快速完成的工作。 針對類似的高效能運算 (HPC) 案例,請考慮針對叢集的節點集區使用鄰近放置群組 (PPG)。
開始之前
本文需要使用 Azure CLI 2.14 版或更新版本。 執行 az --version
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。
限制
- 鄰近放置群組只能對應於一個可用性區域。
- 節點集區必須使用虛擬機器擴展集來建立與鄰近放置群組的關聯。
- 節點集區只能在節點集區建立時間建立與鄰近放置群組的關聯。
節點集區和鄰近放置群組
您使用鄰近放置群組部署的第一個資源會附加至特定資料中心。 使用相同鄰近放置群組部署的其他資源會共置於相同的資料中心。 使用鄰近放置群組的全部資源都已停止 (解除配置) 或刪除之後,就不會繼續附加在資料中心上。
- 許多節點集區可以與單一鄰近放置群組相關聯。
- 一個節點集區則可能只能與單一鄰近放置群組相關聯。
使用可用性區域設定鄰近放置群組
注意
雖然鄰近放置群組只能將節點集區用於一個可用性區域,但基準 Azure VM SLA 99.9% 仍然對單一區域中的 VM 有效。
鄰近放置群組是一種節點集區概念,並與每個個別節點集區相關聯。 使用 PPG 資源不會影響 AKS 控制平面可用性,這可能會影響您應該如何使用區域設計叢集。 為了確保叢集分散到多個區域,建議使用下列設計:
- 使用三個區域佈建具有第一個系統集區的叢集,而且沒有相關聯的鄰近放置群組,以確保系統 Pod 落在專用節點集區中,如此即可分散到多個區域。
- 使用與每個集區相關聯的唯一區域和鄰近放置群組,新增其他使用者節點集區。 例如,區域 1 和 PPG1 中的 nodepool1、區域 2 和 PPG2 中的 nodepool2、具有 PPG3 的區域 3 中的 nodepool3。 此設定可確保在叢集層級,節點會分散到多個區域,而且每個個別節點集區會與專用 PPG 資源共置在指定區域。
使用鄰近放置群組建立新的 AKS 叢集
加速網路可大幅提升虛擬機器的網路效能。 在理想情況下,請搭配加速網路使用鄰近放置群組。 根據預設,AKS 會在 支援的虛擬機器執行個體上使用加速網路,其中包含大部分配置兩個以上 vCPU 的 Azure 虛擬機器。
使用
az group create
命令建立 Azure 資源群組。az group create --name myResourceGroup --location centralus
使用
az ppg create
命令建立鄰近放置群組。 務必記下輸出中的識別碼值。az ppg create --name myPPG --resource-group myResourceGroup --location centralus --type standard
此命令會產生類似下列範例輸出的輸出,其中包含即將推出的 CLI 命令所需的識別碼值。
{ "availabilitySets": null, "colocationStatus": null, "id": "/subscriptions/yourSubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG", "location": "centralus", "name": "myPPG", "proximityPlacementGroupType": "Standard", "resourceGroup": "myResourceGroup", "tags": {}, "type": "Microsoft.Compute/proximityPlacementGroups", "virtualMachineScaleSets": null, "virtualMachines": null }
使用
az aks create
命令建立 AKS 叢集,並將 myPPGResourceID 值取代為上一個步驟中的鄰近放置群組資源識別碼。az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --ppg myPPGResourceID --generate-ssh-keys
將鄰近放置群組新增至現有的叢集
您可以建立新的節點集區,將鄰近放置群組新增至現有叢集。 接著,您可以選擇將現有的工作負載移轉至新的節點集區,並且刪除原始節點集區。
使用您稍早建立的相同鄰近放置群組,確保 AKS 叢集中這兩個節點集區的代理程式節點實際位於相同的資料中心。
使用
az aks nodepool add
命令建立新的節點集區,並將 myPPGResourceID 值取代為鄰近放置群組資源識別碼。az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name mynodepool \ --node-count 1 \ --ppg myPPGResourceID
清理
使用
az group delete
命令刪除 Azure 資源群組及其資源。az group delete --name myResourceGroup --yes --no-wait
下一步
深入了解鄰近放置群組。