Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Automatyczny dobór stref w usłudze Azure Kubernetes Service (AKS) dynamicznie wybiera optymalny zestaw stref dostępności dla puli węzłów. Nie musisz ręcznie określać stref dla każdej kombinacji regionu i SKU maszyny wirtualnej. Podczas tworzenia lub aktualizowania puli węzłów za pomocą --zones auto usługa AKS umieszcza maszyny wirtualne w strefach dostępności, które dysponują zasobami dla żądanej jednostki SKU w regionie docelowym, i stosuje maksymalny udział wystąpień na poziomie 50% w każdej strefie.
W tym artykule przedstawiono sposób tworzenia lub aktualizowania pul węzłów usługi AKS korzystających z automatycznego umieszczania stref.
Jak działa automatyczne umieszczanie stref
Po określeniu --zones auto (lub availabilityZones: ["auto"] w profilu puli agentów) usługa AKS używa zasad automatycznego umieszczania stref obliczeniowych Azure do wybierania stref i dystrybucji węzłów. Nie musisz określać numerów stref ani utrzymywać różnych konfiguracji stref dla każdego regionu i jednostki SKU maszyn wirtualnych.
Automatyczne rozmieszczanie stref działa w następujący sposób:
- Usługa AKS ocenia, które strefy dostępności w regionie docelowym mogą obsługiwać żądaną jednostkę SKU maszyny wirtualnej.
- AKS początkowo wybiera maksymalnie trzy dostępne strefy i rozmieszcza węzły zgodnie z zasadą automatycznego rozmieszczania w strefach. Żadna strefa nie może zawierać więcej niż 50% puli węzłów.
- Podczas późniejszych operacji skalowania w poziomie usługa AKS ponownie ocenia dostępność stref. Jeśli Azure dodaje strefę do regionu lub udostępnia jednostkę SKU maszyny wirtualnej w innej strefie, usługa AKS może umieścić nowe węzły w tej strefie, gdy zasady umieszczania i dostępna pojemność na to zezwalają. Nie trzeba aktualizować konfiguracji puli węzłów.
Ważna
Limit 50% jest maksymalną koncentracją na strefę, a nie gwarancją, że węzły są zawsze równomiernie rozłożone. Rzeczywista dystrybucja zależy od liczby węzłów, stref obsługujących wybraną jednostkę SKU maszyny wirtualnej oraz pojemności dostępnej po aprowizacji węzłów. Operacja tworzenia lub skalowania nadal może zakończyć się niepowodzeniem, jeśli Azure nie może przydzielić żądanych węzłów podczas przestrzegania limitu dla strefy.
Takie podejście dotyczy typowych punktów bólu przy ręcznym określaniu stref:
- Wdrożenia niezależne od regionów: używaj spójnych konfiguracji w różnych regionach bez obaw o różnice dostępności strefy.
- Zwiększona odporność: Automatyczne zapewnianie nadmiarowości wielostrefowej, aby zwiększyć dostępność aplikacji.
- Automatyczne rozszerzanie strefy: bezproblemowo korzystaj z nowych stref dostępności po rozwinięciu regionów (na przykład z trzech do czterech stref).
- Ograniczenie liczby niepowodzeń wdrożenia: zmniejsz liczbę niepowodzeń alokacji podczas tworzenia i skalowania spowodowanych ograniczeniami zasobów w określonej strefie, w zależności od tego, na ile dane obciążenie toleruje równoważenie między strefami.
Ograniczenia i zagadnienia
- Automatyczne przypisywanie do stref jest obsługiwane tylko w regionach obsługujących strefy dostępności. Aby uzyskać więcej informacji, zobacz Listę regionów świadczenia usługi Azure.
- Automatyczne rozmieszczanie w strefach obsługuje tworzenie i aktualizację zarówno pul węzłów opartych na Virtual Machine Scale Sets, jak i pul węzłów opartych na Virtual Machines.
- Limit dla strefy to 50% węzłów. Operacja tworzenia lub skalowania nadal może zakończyć się niepowodzeniem, jeśli Azure nie może przydzielić żądanych węzłów podczas przestrzegania limitu dla strefy.
- Automatyczne rozmieszczanie w strefach jest przeznaczone dla obciążeń rozciągających się na wiele stref. W przypadku obciążeń przypisanych do stref (gdy każda pula węzłów jest przypięta do jednej strefy) nadal określaj strefę jawnie, używając
--zones 1,--zones 2itd.
Prerequisites
Ważna
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
- Region obsługujący strefy dostępności. Aby uzyskać więcej informacji, zobacz Listę regionów świadczenia usługi Azure.
- Rozszerzenie CLI
aks-previeww wersji 22.0.0b4 lub nowszej. Jeśli go nie masz, zobacz Instalowanie rozszerzenia CLIaks-preview. - Flaga funkcji
VmssAutomaticZonePlacementzarejestrowana w Twojej subskrypcji. Jeśli flaga funkcji nie została zarejestrowana, zobacz Zarejestruj flagęVmssAutomaticZonePlacementfunkcji.
Zainstaluj rozszerzenie CLI aks-preview
Zainstaluj rozszerzenie interfejsu wiersza polecenia aks-preview za pomocą polecenia az extension add.
az extension add --name aks-preview
Zaktualizuj rozszerzenie, aby upewnić się, że masz zainstalowaną najnowszą wersję przy użyciu az extension update polecenia .
az extension update --name aks-preview
Zarejestruj flagę funkcji VmssAutomaticZonePlacement
Zarejestruj flagę funkcji przy użyciu az feature register polecenia :
az feature register \
--namespace Microsoft.Compute \
--name VmssAutomaticZonePlacement
Sprawdź stan rejestracji przy użyciu az feature show polecenia :
az feature show \
--namespace Microsoft.Compute \
--name VmssAutomaticZonePlacement \
--query properties.state \
--output tsv
Zaczekaj, aż polecenie powróci Registered przed kontynuowaniem.
Utwórz klaster AKS z automatycznym rozmieszczaniem w strefach (wersja zapoznawcza)
Utwórz nowy klaster AKS z pulą węzłów systemowych opartą na Virtual Machine Scale Sets lub Virtual Machines, która używa automatycznego rozmieszczania w strefach, przy użyciu polecenia az aks create z --zones auto:
az aks create \
--resource-group example-rg \
--name example-cluster \
--node-vm-size Standard_D8s_v5 \
--node-count 10 \
--zones auto
Usługa AKS wybiera w regionie docelowym strefy, które mają dostępną pojemność dla Standard_D8s_v5, i rozmieszcza między nimi 10 węzłów, przy czym żadna pojedyncza strefa nie zawiera więcej niż 50% węzłów.
Dodaj pulę węzłów z automatycznym rozmieszczaniem w strefach (wersja zapoznawcza)
Dodaj do istniejącego klastra nową pulę węzłów opartą na zestawach skali maszyn wirtualnych lub na Virtual Machines-based, używając polecenia az aks nodepool add z parametrem --zones auto:
az aks nodepool add \
--resource-group example-rg \
--cluster-name example-cluster \
--name userpoolauto \
--node-vm-size Standard_D8s_v5 \
--node-count 6 \
--zones auto
Aktualizowanie istniejącej puli węzłów pod kątem korzystania z automatycznego rozmieszczania w strefach (wersja zapoznawcza)
Zaktualizuj istniejącą pulę węzłów opartą na zestawach skalowania maszyn wirtualnych lub maszynach wirtualnych, aby używać automatycznego rozmieszczania w strefach za pomocą polecenia az aks nodepool update z parametrem --zones auto:
az aks nodepool update \
--resource-group example-rg \
--cluster-name example-cluster \
--name nodepool1 \
--zones auto
Usługa AKS aktualizuje istniejącą pulę węzłów za pomocą operacji stopniowej:
- AKS dodaje dodatkowe węzły korzystające z automatycznego rozmieszczania w strefach.
- Usługa AKS oznacza istniejące węzły jako niedostępne do planowania i opróżnia je.
- Usługa AKS usuwa istniejące węzły po przeniesieniu ich obciążeń roboczych do dodatkowych węzłów.
Operacja uwzględnia następujące ustawienia aktualizacji skonfigurowane dla puli węzłów:
-
Maksymalny wzrost (
--max-surge): określa liczbę dodatkowych węzłów dodanych przez usługę AKS podczas aktualizacji. Wyższa wartość przyspiesza aktualizację, ale wymaga większej liczby przydziałów obliczeniowych i pojemności adresów IP podsieci. -
Limit czasu opróżniania węzła (
--drain-timeout): określa, jak długo usługa AKS czeka na eksmisję zasobnika w węźle, zanim operacja opróżniania zakończy się niepowodzeniem. -
Czas trwania moczenia węzła (
--node-soak-duration): określa, jak długo usługa AKS czeka po dokonaniu gotowości nowego węzła przed kontynuowaniem kolejnej partii.
Przed rozpoczęciem aktualizacji upewnij się, że masz wystarczający limit zasobów obliczeniowych i wystarczającą liczbę adresów IP w podsieci dla dodatkowych węzłów oraz że budżety zakłóceń podów pozwalają na opróżnienie węzłów.
Zweryfikować położenie strefy
Po utworzeniu lub zaktualizowaniu klastra lub puli węzłów zweryfikuj strefy wybrane przez usługę AKS za pomocą polecenia az aks show.
az aks show \
--name example-cluster \
--resource-group example-rg \
--query agentPoolProfiles[].availabilityZones \
--output tsv
Można również użyć polecenia kubectl, aby potwierdzić rozmieszczenie węzłów w strefach.
kubectl get nodes -o custom-columns='NAME:metadata.name, REGION:metadata.labels.topology\.kubernetes\.io/region, ZONE:metadata.labels.topology\.kubernetes\.io/zone'
Przykładowy wynik:
NAME REGION ZONE
aks-nodepool1-12345678-vmss000000 eastus eastus-1
aks-nodepool1-12345678-vmss000001 eastus eastus-2
aks-nodepool1-12345678-vmss000002 eastus eastus-3
...