Używanie grup umieszczania w pobliżu w celu zmniejszenia opóźnienia klastrów Azure Kubernetes Service (AKS)

Uwaga

W przypadku korzystania z grup umieszczania w pobliżu w usłudze AKS kolokacja ma zastosowanie tylko do węzłów agenta. Ulepszono opóźnienie węzła do węzła i odpowiedniego hostowanego zasobnika do zasobnika. Kolokacja nie ma wpływu na umieszczanie płaszczyzny sterowania klastra.

Podczas wdrażania aplikacji na platformie Azure możesz utworzyć opóźnienie sieci, rozpowszechniając wystąpienia maszyn wirtualnych w różnych regionach lub strefach dostępności, co może mieć wpływ na ogólną wydajność aplikacji. Grupa umieszczania w pobliżu to logiczne grupowanie używane do upewnienia się, że zasoby obliczeniowe platformy Azure znajdują się fizycznie blisko siebie. Niektóre aplikacje, takie jak gry, symulacje inżynieryjne i transakcje o wysokiej częstotliwości (HFT) wymagają małego opóźnienia i zadań, które mogą być wykonywane szybko. W przypadku podobnych scenariuszy obliczeń o wysokiej wydajności (HPC) rozważ użycie grup umieszczania w pobliżu (PPG) dla pul węzłów klastra.

Zanim rozpoczniesz

Ten artykuł wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.14 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Ograniczenia

  • Grupa umieszczania w pobliżu może mapować tylko na jedną strefę dostępności.
  • Pula węzłów musi używać Virtual Machine Scale Sets do skojarzenia grupy umieszczania w pobliżu.
  • Pula węzłów może skojarzyć grupę umieszczania w pobliżu tylko w puli węzłów.

Pule węzłów i grupy umieszczania w pobliżu

Pierwszy zasób wdrażany z grupą umieszczania w pobliżu jest dołączany do określonego centrum danych. Wszystkie dodatkowe zasoby wdrażane z tą samą grupą umieszczania w pobliżu są colocowane w tym samym centrum danych. Gdy wszystkie zasoby korzystające z grupy umieszczania w pobliżu zostaną zatrzymane (cofnięto przydział) lub usunięte, nie są już dołączone.

  • Można skojarzyć wiele pul węzłów z pojedynczą grupą umieszczania w pobliżu.
  • Pulę węzłów można skojarzyć tylko z pojedynczą grupą umieszczania w pobliżu.

Konfigurowanie grup umieszczania w pobliżu ze strefami dostępności

Uwaga

Grupy umieszczania w pobliżu wymagają, aby pula węzłów korzystała tylko z jednej strefy dostępności, jednak podstawowa umowa SLA maszyny wirtualnej platformy Azure o wartości 99,9% jest nadal obowiązująca dla maszyn wirtualnych w jednej strefie.

Grupy umieszczania w pobliżu to koncepcja puli węzłów i skojarzona z każdą pulą węzłów. Korzystanie z zasobu PPG nie ma wpływu na dostępność płaszczyzny sterowania usługi AKS, co może mieć wpływ na sposób projektowania klastra ze strefami. Aby zapewnić rozproszenie klastra w wielu strefach, zalecamy użycie następującego projektu:

  • Aprowizowanie klastra przy użyciu pierwszej puli systemu przy użyciu trzech stref i grupy umieszczania w pobliżu skojarzonej w celu zapewnienia, że zasobniki systemowe znajdują się w dedykowanej puli węzłów, która rozprzestrzenia się w wielu strefach.
  • Dodaj dodatkowe pule węzłów użytkownika z unikatową strefą i grupą umieszczania w pobliżu skojarzona z każdą pulą. Przykładem jest pula węzłów1 w strefie 1 i PPG1, pula węzłów w strefie 2 i PPG2 oraz pula węzłów3 w strefie 3 z ppG3. Ta konfiguracja gwarantuje, że na poziomie klastra węzły są rozmieszczone w wielu strefach, a każda pojedyncza pula węzłów jest colokowana w wyznaczonej strefie z dedykowanym zasobem PPG.

Tworzenie nowego klastra usługi AKS z grupą umieszczania w pobliżu

Przyspieszona sieć znacznie poprawia wydajność sieci maszyn wirtualnych. Najlepiej używać grup umieszczania w pobliżu z przyspieszoną siecią. Domyślnie usługa AKS używa przyspieszonej sieci w obsługiwanych wystąpieniach maszyn wirtualnych, które obejmują większość maszyn wirtualnych platformy Azure z co najmniej dwoma procesorami wirtualnymi.

  1. Utwórz grupę zasobów platformy az group create Azure przy użyciu polecenia .

    az group create --name myResourceGroup --location centralus
    
  2. Utwórz grupę umieszczania w pobliżu przy użyciu az ppg create polecenia . Pamiętaj, aby zanotować wartość identyfikatora w danych wyjściowych.

    az ppg create -n myPPG -g myResourceGroup -l centralus -t standard
    

    Polecenie generuje dane wyjściowe podobne do poniższych przykładowych danych wyjściowych, które zawierają wartość identyfikatora potrzebną do przyszłych poleceń interfejsu wiersza polecenia.

    {
      "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
    }
    
  3. Utwórz klaster usługi AKS przy użyciu az aks create polecenia i zastąp wartość myPPGResourceID identyfikatorem zasobu grupy umieszczania w pobliżu z poprzedniego kroku.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --ppg myPPGResourceID
    

Dodawanie grupy umieszczania w pobliżu do istniejącego klastra

Grupę umieszczania w pobliżu można dodać do istniejącego klastra, tworząc nową pulę węzłów. Następnie możesz opcjonalnie przeprowadzić migrację istniejących obciążeń do nowej puli węzłów i usunąć oryginalną pulę węzłów.

Użyj tej samej utworzonej wcześniej grupy umieszczania w pobliżu, aby upewnić się, że węzły agenta w obu pulach węzłów w klastrze usługi AKS znajdują się fizycznie w tym samym centrum danych.

  • Utwórz nową pulę węzłów przy użyciu az aks nodepool add polecenia i zastąp wartość myPPGResourceID identyfikatorem zasobu grupy umieszczania w pobliżu.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 1 \
        --ppg myPPGResourceID
    

Czyszczenie

  • Usuń grupę zasobów platformy Azure wraz z jej zasobami az group delete przy użyciu polecenia .

    az group delete --name myResourceGroup --yes --no-wait
    

Następne kroki

Dowiedz się więcej o grupach umieszczania w pobliżu.