Udostępnij za pośrednictwem


Migrowanie obciążeń usługi Azure Kubernetes Service (AKS) i serwera elastycznego MySQL do obsługi stref dostępności

W tym przewodniku opisano sposób migrowania obciążenia usługi Azure Kubernetes Service i serwera elastycznego MySQL w celu ukończenia obsługi strefy dostępności we wszystkich usługach zależnych. Aby uzyskać pełną listę wszystkich zależności obciążeń, zobacz Zależności usługi obciążenia.

Obsługa strefy dostępności dla tego obciążenia musi być włączona podczas tworzenia klastra usługi AKS lub serwera elastycznego MySQL. Jeśli potrzebujesz obsługi strefy dostępności dla istniejącego klastra usługi AKS i serwera elastycznego MySQL, musisz ponownie wdrożyć te zasoby.

Te wskazówki dotyczące migracji koncentrują się głównie na zagadnieniach dotyczących infrastruktury i dostępności związanych z uruchamianiem następującej architektury na platformie Azure:

Obraz przedstawiający pierwszą część architektury przepływu pracy

Obraz przedstawiający drugą część architektury przepływu pracy

Zależności usługi obciążenia

Aby zapewnić pełną obsługę obciążeń dla stref dostępności, każda zależność usługi w obciążeniu musi obsługiwać strefy dostępności.

Istnieją dwa typy obsługiwanych usług strefy dostępności: strefowe lub strefowo nadmiarowe. Większość usług obsługuje jedną lub drugą. Jednak w niektórych przypadkach istnieją opcje wyboru zasobu strefowego lub strefowo nadmiarowego dla tej usługi. Wskazujemy, które usługi obsługują zasoby strefowe i strefowo nadmiarowe w poniższych zaleceniach. Wskazujemy również, które usługi są globalne i regionalne.

Architektura obciążenia AKS i MySQL składa się z następujących zależności składników:

Azure Kubernetes Service (AKS)

  • Strefowe : pula węzłów systemowych i pule węzłów użytkownika są strefowe podczas wstępnego wybierania stref, w których pule węzłów są wdrażane w czasie tworzenia. Zalecamy wstępne wybranie wszystkich trzech stref w celu uzyskania lepszej odporności. Więcej pul węzłów użytkownika, które obsługują strefy dostępności, można dodać do istniejącego klastra usługi AKS i podać wartość parametru zones .

  • Strefowo nadmiarowe: składniki płaszczyzny sterowania Kubernetes, takie jak etcd, serwer interfejsu API, harmonogram i Menedżer kontrolera są automatycznie replikowane lub dystrybuowane między strefami.

    Uwaga

    Aby włączyć nadmiarowość strefową składników płaszczyzny sterowania klastra AKS, należy zdefiniować domyślną pulę węzłów systemowych ze strefami podczas tworzenia klastra usługi AKS. Dodanie większej liczby pul węzłów strefowych do istniejącego klastra bez strefowego usługi AKS nie spowoduje strefowo nadmiarowego klastra usługi AKS, ponieważ ta akcja nie dystrybuuje składników płaszczyzny sterowania między strefy po fakcie.

Usługa Azure Database for MySQL — serwer elastyczny

  • Strefowe: tryb dostępności strefowej oznacza, że serwer rezerwowy jest zawsze dostępny w tej samej strefie co serwer podstawowy. Chociaż ta opcja zmniejsza czas pracy w trybie failover i opóźnienie sieci, jest mniej odporna z powodu awarii pojedynczej strefy, która ma wpływ zarówno na serwery podstawowe, jak i rezerwowe.

  • Strefowo nadmiarowy: tryb dostępności strefowo nadmiarowej oznacza, że serwer rezerwowy jest zawsze dostępny w innej strefie w tym samym regionie co serwer podstawowy. Dla serwerów podstawowych i rezerwowych zostaną włączone dwie strefy nadmiarowości. Zalecamy tę konfigurację, aby zapewnić lepszą odporność.

Azure usługa Load Balancer w warstwie Standardowa lub aplikacja systemu Azure Gateway

Usługa Load Balancer w warstwie Standardowa

Aby zrozumieć zagadnienia związane z zasobami usługa Load Balancer w warstwie Standardowa, zobacz Moduł równoważenia obciążenia i Strefy dostępności.

  • Strefowo nadmiarowy: wybór nadmiarowości strefy jest zalecanym sposobem skonfigurowania adresu IP frontonu przy użyciu istniejącego modułu równoważenia obciążenia. Fronton strefowo nadmiarowy odpowiada puli zaplecza klastra usługi AKS, która jest dystrybuowana w wielu strefach.

  • Strefowe: jeśli przypinasz pule węzłów do określonych stref, takich jak strefa 1 i 2, możesz wstępnie wybrać strefę 1 i 2 dla adresu IP frontonu w istniejącym module równoważenia obciążenia. Powodem, dla którego warto przypiąć pule węzłów do określonych stref, może być dostępność wyspecjalizowanych serii jednostek SKU maszyn wirtualnych, takich jak seria M.

Usługa Azure Application Gateway

Używanie dodatku Kontrolera ruchu przychodzącego usługi Application Gateway z klastrem usługi AKS jest obsługiwane tylko w jednostkach SKU usługi Application Gateway w wersji 2 (Standardowa i WAF). Aby zrozumieć dalsze zagadnienia związane z usługą aplikacja systemu Azure Gateway, zobacz Scaling Application Gateway v2 and WAF v2 (Skalowanie usługi Application Gateway w wersji 2 i zapory aplikacji internetowej w wersji 2).

Strefowe: aby korzystać z zalet stref dostępności, zalecamy utworzenie zasobu usługi Application Gateway w wielu strefach, takich jak strefa 1, 2 i 3. Wybierz wszystkie trzy strefy, aby uzyskać najlepszą strategię odporności wewnątrz regionu. Jednak aby odpowiadać pulam węzłów zaplecza, możesz przypiąć pule węzłów do określonych stref, wybierając wstępnie strefę 1 i 2 podczas tworzenia zasobu usługi App Gateway. Powodem, dla którego warto przypiąć pule węzłów do określonych stref, może być dostępność wyspecjalizowanych serii jednostek SKU maszyn wirtualnych, takich jak M-series.

Magazyn strefowo nadmiarowy (ZRS)

  • Zalecamy skonfigurowanie klastra usługi AKS z zarządzanymi dyskami magazynu ZRS, ponieważ są to zasoby strefowo nadmiarowe. Woluminy można zaplanować we wszystkich strefach.

  • Platforma Kubernetes zna strefy dostępności platformy Azure od wersji 1.12. Obiekt odwołujący się do dysku zarządzanego platformy Azure można wdrożyć PersistentVolumeClaim w klastrze usługi AKS z wieloma strefami. Platforma Kubernetes zajmie się planowaniem dowolnego zasobnika, który twierdzi, że ten element PVC jest w odpowiedniej strefie dostępności.

  • W przypadku usługi Azure Database for SQL zalecamy hostowanie plików danych i dzienników w magazynie strefowo nadmiarowym (ZRS). Te pliki są replikowane na serwer rezerwowy za pośrednictwem replikacji na poziomie magazynu dostępnej z magazynem ZRS.

Azure Firewall

Strefowe: aby korzystać z zalet stref dostępności, zalecamy utworzenie zasobu usługi Azure Firewall w wielu strefach, takich jak strefa 1, 2 i 3. Zalecamy wybranie wszystkich trzech stref dla najlepszej strategii odporności wewnątrz regionu.

Azure Bastion

Regionalny: usługa Azure Bastion jest wdrażana w sieciach wirtualnych lub równorzędnych sieciach wirtualnych i jest skojarzona z regionem świadczenia usługi Azure. Aby uzyskać więcej informacji, zobacz Niezawodność w usłudze Azure Bastion.

Azure Container Registry (ACR)

Strefowo nadmiarowy: zalecamy utworzenie rejestru strefowo nadmiarowego w warstwie usługi Premium. Replikę rejestru strefowo nadmiarową można również utworzyć, ustawiając zoneRedundancy właściwość repliki. Aby dowiedzieć się, jak włączyć nadmiarowość stref dla usługi ACR, zobacz Włączanie nadmiarowości stref w usłudze Azure Container Registry w celu zapewnienia odporności i wysokiej dostępności.

Azure Cache for Redis

Strefowo nadmiarowy: usługa Azure Cache for Redis obsługuje konfiguracje strefowo nadmiarowe w warstwach Premium i Enterprise. Pamięć podręczna strefowo nadmiarowa umieszcza węzły w różnych strefach dostępności w tym samym regionie.

Microsoft Entra ID

Globalny: Microsoft Entra ID to globalna usługa z wieloma poziomami nadmiarowości wewnętrznej i automatycznej możliwości odzyskiwania. Identyfikator entra firmy Microsoft jest wdrażany w ponad 30 centrach danych na całym świecie, które zapewniają strefy dostępności tam, gdzie są obecne. Ta liczba szybko rośnie wraz z wdrażaniem większej liczby regionów.

Azure Key Vault

Regionalny: usługa Azure Key Vault jest wdrażana w regionie. Aby zachować wysoką trwałość kluczy i wpisów tajnych, zawartość magazynu kluczy jest replikowana w regionie i w regionie pomocniczym w ramach tej samej lokalizacji geograficznej.

Strefowo nadmiarowy: w przypadku regionów platformy Azure ze strefami dostępności i bez pary regionów usługa Key Vault używa magazynu strefowo nadmiarowego (ZRS) do replikacji zawartości magazynu kluczy trzy razy w ramach jednej lokalizacji/regionu.

Zagadnienia dotyczące obciążeń

Azure Kubernetes Service (AKS)

  • Zasobniki mogą komunikować się z innymi zasobnikami, niezależnie od tego, który węzeł lub strefa dostępności, w której zasobnik ląduje w węźle. Jeśli zasobniki znajdują się w różnych strefach dostępności, aplikacja może mieć większy czas odpowiedzi. Chociaż oczekuje się, że dodatkowe opóźnienia między zasobnikami będą mieścić się w akceptowalnym zakresie dla większości aplikacji, istnieją scenariusze aplikacji, które wymagają małych opóźnień, zwłaszcza w przypadku wzorca komunikacji między zasobnikami.

  • Zalecamy przetestowanie aplikacji, aby upewnić się, że działa dobrze w różnych strefach dostępności.

  • Ze względu na wydajność, takie małe opóźnienia, zasobniki mogą znajdować się w tym samym centrum danych w tej samej strefie dostępności. Aby współlokować zasobniki w tym samym centrum danych w tej samej strefie dostępności, można utworzyć pule węzłów użytkownika z unikatową strefą i grupą umieszczania w pobliżu. Grupę umieszczania w pobliżu (PPG) można dodać do istniejącego klastra usługi AKS, tworząc nową pulę węzłów agenta i określając grupę PPG. Użyj ograniczeń rozprzestrzeniania się topologii zasobników, aby kontrolować, jak zasobniki są rozmieszczone w klastrze usługi AKS w różnych strefach dostępności, węzłach i regionach.

  • Gdy zasobniki wymagające komunikacji o małych opóźnieniach znajdują się w tej samej strefie dostępności, komunikacja między zasobnikami nie jest bezpośrednia. Zamiast tego komunikacja zasobników odbywa się za pośrednictwem usługi definiującej logiczny zestaw zasobników w klastrze usługi AKS. Zasobniki można skonfigurować tak, aby komunikowały się z usługą AKS, a komunikacja z usługą będzie automatycznie wyważona pod wszystkimi zasobnikami, które są członkami usługi.

  • Aby korzystać ze stref dostępności, pule węzłów zawierają bazowe maszyny wirtualne, które są zasobami strefowymi. Aby obsługiwać aplikacje o różnych wymaganiach obliczeniowych lub magazynowych, można utworzyć pule węzłów użytkownika z określonymi rozmiarami maszyn wirtualnych podczas tworzenia puli węzłów użytkownika.

    Na przykład możesz zdecydować się na użycie Standard_M32ms elementu w obszarze M-series dla węzłów użytkownika, ponieważ mikrousługi w aplikacji wymagają wysokiej przepływności, małych opóźnień i zoptymalizowanych pod kątem pamięci rozmiarów maszyn wirtualnych, które zapewniają duże liczby procesorów wirtualnych i duże ilości pamięci. W zależności od regionu wdrożenia po wybraniu rozmiaru maszyny wirtualnej w witrynie Azure Portal może się okazać, że ten rozmiar maszyny wirtualnej jest obsługiwany tylko w strefie 1 i 2. Tę konfigurację odporności można zaakceptować jako kompromis w celu zapewnienia wysokiej wydajności.

  • Nie można zmienić rozmiaru maszyny wirtualnej puli węzłów po jej utworzeniu. Aby uzyskać więcej informacji na temat ograniczeń puli węzłów, zobacz Ograniczenia.

Usługa Azure Database for MySQL — serwer elastyczny

Implikacją wdrażania pul węzłów w określonych strefach, takich jak strefa 1 i 2, jest to, że wszystkie zależności usług klastra usługi AKS muszą również obsługiwać strefę 1 i 2. W tej architekturze obciążenia klaster usługi AKS ma zależność od usługi Azure Database for MySQL — serwery elastyczne z odpornością strefy. Należy wybrać strefę 1 dla serwera podstawowego i strefę 2, aby serwer rezerwowy znajdował się we współpracy z pulami węzłów użytkownika usługi AKS.

Obraz przedstawiający wybór strefy dla serwerów elastycznych MySQL

Azure Cache for Redis

  • Usługa Azure Cache for Redis dystrybuuje węzły w pamięci podręcznej strefowo nadmiarowej w sposób okrężny w wybranych strefach dostępności.

  • Nie można zaktualizować istniejącej pamięci podręcznej Premium w celu korzystania z nadmiarowości strefy. Aby użyć nadmiarowości strefy, należy ponownie utworzyć usługę Azure Cache for Redis.

  • Aby uzyskać optymalną odporność, zalecamy utworzenie pamięci podręcznej Azure Cache for Redis z trzema lub kilkoma replikami, aby umożliwić dystrybucję replik w trzech strefach dostępności.

Obraz przedstawiający trzy repliki dla usługi Azure Cache for Redis

Zagadnienia dotyczące odzyskiwania po awarii

Strefy dostępności są używane w celu uzyskania lepszej odporności w celu uzyskania wysokiej dostępności obciążenia w regionie podstawowym wdrożenia.

Odzyskiwanie po awarii składa się z operacji odzyskiwania i praktyk zdefiniowanych w planie ciągłości działania. Plan ciągłości działania dotyczy zarówno sposobu odzyskiwania obciążenia podczas zdarzenia powodującego zakłócenia, jak i sposobu jego pełnego odzyskiwania po zdarzeniu. Rozważ rozszerzenie wdrożenia do alternatywnego regionu.

Obraz przedstawiający architekturę wdrażania w regionie pomocniczym

W przypadku warstwy aplikacji zapoznaj się z zagadnieniami dotyczącymi ciągłości działania i odzyskiwania po awarii dla usługi AKS w tym artykule.

  • Rozważ uruchomienie wielu klastrów usługi AKS w alternatywnych regionach. Region alternatywny może używać sparowanego regionu pomocniczego. Jeśli nie ma parowania regionów dla regionu podstawowego, możesz wybrać alternatywny region w oparciu o dostępne usługi, pojemność, bliskość geograficzną i niezależność danych. Zapoznaj się z przewodnikiem po decyzjach dotyczących regionów platformy Azure. Zapoznaj się również ze wzorcem sygnatury wdrożenia.

  • Istnieje możliwość skonfigurowania klastrów usługi AKS typu active-active-active-standby, active-passive.

  • W przypadku warstwy bazy danych funkcje odzyskiwania po awarii obejmują geograficznie nadmiarowe kopie zapasowe z możliwością inicjowania przywracania geograficznego i wdrażania replik do odczytu w innym regionie.

  • Podczas awarii należy zdecydować, czy zainicjować odzyskiwanie. Należy zainicjować operacje odzyskiwania tylko wtedy, gdy awaria będzie trwać dłużej niż cel czasu odzyskiwania obciążenia (RTO). W przeciwnym razie zaczekasz na odzyskiwanie usługi, sprawdzając stan usługi na pulpicie nawigacyjnym usługi Azure Service Health. W bloku Kondycja usługi w witrynie Azure Portal możesz wyświetlić wszystkie powiadomienia skojarzone z subskrypcją.

  • Po zainicjowaniu odzyskiwania za pomocą funkcji przywracania geograficznego w usłudze Azure Database for MySQL zostanie utworzony nowy serwer bazy danych przy użyciu danych kopii zapasowej replikowanych z innego regionu.

Następne kroki

Dowiedz się więcej na następujące tematy: