Udostępnij za pośrednictwem


Omówienie stref dostępności w usłudze Azure Kubernetes Service (AKS)

Ten artykuł zawiera omówienie używania stref dostępności w usłudze Azure Kubernetes Service (AKS) w celu zwiększenia dostępności aplikacji.

Klaster usługi AKS dystrybuuje zasoby, takie jak węzły i magazyn, w logicznych sekcjach podstawowej infrastruktury platformy Azure. Użycie stref dostępności fizycznie oddziela węzły od innych węzłów wdrożonych w różnych strefach dostępności. Klastry usługi AKS wdrożone z wieloma strefami dostępności skonfigurowanymi w klastrze zapewniają wyższy poziom dostępności, aby chronić przed awarią sprzętu lub zdarzeniem planowanej konserwacji.

Co to są strefy dostępności?

Strefy dostępności pomagają chronić aplikacje i dane przed awariami centrum danych. Strefy to unikatowe lokalizacje fizyczne w regionie świadczenia usługi Azure. Każda strefa obejmuje co najmniej jedno centrum danych wyposażone w niezależne zasilanie, chłodzenie i sieć. Aby zapewnić odporność, zawsze istnieje więcej niż jedna strefa we wszystkich regionach z włączoną strefą. Fizyczna separacja stref dostępności w ramach regionu chroni aplikacje i dane przed awariami centrum danych.

Klastry usługi AKS wdrożone przy użyciu stref dostępności mogą dystrybuować węzły między wieloma strefami w jednym regionie. Na przykład klaster w regionie Wschodnie stany USA 2 może tworzyć węzły we wszystkich trzech strefach dostępności w regionie Wschodnie stany USA 2. Ta dystrybucja zasobów klastra usługi AKS zwiększa dostępność klastra, ponieważ są odporne na awarie określonej strefy.

Diagram przedstawiający dystrybucję węzłów usługi AKS w różnych strefach dostępności.

Jeśli jedna strefa stanie się niedostępna, aplikacje będą nadal działać w klastrach skonfigurowanych do rozłożenia w wielu strefach.

Aby uzyskać więcej informacji, zobacz Korzystanie ze stref dostępności platformy Azure.

Uwaga

Podczas implementowania stref dostępności za pomocą narzędzia do automatycznego skalowania klastra zalecamy użycie pojedynczej puli węzłów dla każdej strefy. Parametr można ustawić --balance-similar-node-groups tak, aby true zachować zrównoważony rozkład węzłów między strefami dla obciążeń podczas operacji skalowania w górę. Jeśli takie podejście nie jest zaimplementowane, operacje skalowania w dół mogą zakłócać równowagę węzłów między strefami. Ta konfiguracja nie gwarantuje, że podobne grupy węzłów będą miały taką samą liczbę węzłów:

  • Obecnie równoważenie odbywa się tylko podczas operacji skalowania w górę. Narzędzie do automatycznego skalowania klastra skaluje w dół niedostatecznie wykorzystywane węzły niezależnie od względnych rozmiarów grup węzłów.
  • Narzędzie do automatycznego skalowania klastra dodaje tylko tyle węzłów, ile jest wymaganych do uruchamiania wszystkich istniejących zasobników. Niektóre grupy mogą mieć więcej węzłów niż inne, jeśli mają więcej zasobników zaplanowanych.
  • Narzędzie do automatycznego skalowania klastra równoważy tylko między grupami węzłów, które mogą obsługiwać ten sam zestaw oczekujących zasobników.

Możesz również użyć dysków magazynu strefowo nadmiarowego platformy Azure (ZRS), aby replikować magazyn w trzech strefach dostępności w wybranym regionie. Dysk ZRS umożliwia odzyskiwanie po awarii strefy dostępności bez utraty danych. Aby uzyskać więcej informacji, zobacz magazyn ZRS dla dysków zarządzanych.

Ograniczenia

Podczas tworzenia klastra usługi AKS przy użyciu stref dostępności obowiązują następujące ograniczenia:

  • Strefy dostępności można definiować tylko podczas tworzenia klastra lub puli węzłów.
  • Nie można zaktualizować istniejącego klastra strefy innej niż dostępność, aby używał stref dostępności po utworzeniu klastra.
  • Wybrany rozmiar węzła (JEDNOSTKA SKU maszyny wirtualnej) musi być dostępny we wszystkich wybranych strefach dostępności.
  • Klastry z włączonymi strefami dostępności wymagają użycia usługa Load Balancer w warstwie Standardowa platformy Azure do dystrybucji między strefami. Ten typ modułu równoważenia obciążenia można zdefiniować tylko w czasie tworzenia klastra. Aby uzyskać więcej informacji i ograniczeń standardowego modułu równoważenia obciążenia, zobacz Ograniczenia jednostki SKU usługi Azure Load Balancer w warstwie Standardowa.

Obsługa stref dostępności dysków platformy Azure

Woluminy korzystające z dysków LRS zarządzanych przez platformę Azure nie są zasobami strefowo nadmiarowymi i dołączanie między strefami nie jest obsługiwane. Należy kolokować woluminy w tej samej strefie co określony węzeł hostującym zasobnik docelowy. Woluminy korzystające z dysków magazynu ZRS zarządzanego przez platformę Azure są zasobami strefowo nadmiarowymi. Te woluminy można zaplanować na wszystkich węzłach agenta strefy i bez strefy. W poniższym przykładzie pokazano, jak utworzyć klasę magazynu przy użyciu dysku StandardSSD_ZRS :

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: managed-csi-zrs
provisioner: disk.csi.azure.com
parameters:
  skuName: StandardSSD_ZRS  # or Premium_ZRS
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true

Platforma Kubernetes w wersji 1.12 lub nowszej uwzględnia strefy dostępności platformy Azure. Można wdrożyć obiekt PersistentVolumeClaim odwołujący się do dysku zarządzanego platformy Azure w klastrze usługi AKS z wieloma strefami, a platforma Kubernetes zajmuje się planowaniem dowolnego zasobnika, który twierdzi, że ten element PVC znajduje się w odpowiedniej strefie dostępności.

Począwszy od platformy Kubernetes w wersji 1.29, podczas wdrażania klastrów usługi Azure Kubernetes Service (AKS) w wielu strefach dostępności usługa AKS używa teraz magazynu strefowo nadmiarowego (ZRS) do tworzenia dysków zarządzanych w wbudowanych klasach magazynu. Magazyn ZRS zapewnia synchroniczną replikację dysków zarządzanych platformy Azure w wielu strefach dostępności platformy Azure w wybranym regionie. Ta strategia nadmiarowości zwiększa odporność aplikacji i zabezpiecza dane przed awariami centrum danych.

Należy jednak pamiętać, że magazyn strefowo nadmiarowy (ZRS) jest bardziej kosztowny w porównaniu z magazynem lokalnie nadmiarowym (LRS). Jeśli optymalizacja kosztów jest priorytetem, możesz utworzyć nową klasę magazynu z parametrem ustawionym skuname na LRS. Następnie możesz użyć nowej klasy magazynu w trwałym oświadczeniu woluminu (PVC).

Następne kroki