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.
Podczas tworzenia aplikacji w Azure Kubernetes Service (AKS) i wybraniu regionu Azure podczas tworzenia zasobów jest to aplikacja z jednym regionem. W przypadku awarii, która powoduje niedostępność regionu, aplikacja stanie się również niedostępna. Jeśli utworzysz identyczne wdrożenie w regionie pomocniczym Azure, aplikacja stanie się mniej podatna na awarię w jednym regionie, co gwarantuje ciągłość działania, a każda replikacja danych w regionach umożliwia odzyskanie ostatniego stanu aplikacji.
Chociaż istnieje wiele wzorców, które mogą zapewnić możliwość odzyskiwania dla rozwiązania AKS, w tym przewodniku opisano zalecane rozwiązanie wysokiej dostępności aktywne-aktywne dla usługi AKS. W tym rozwiązaniu wdrażamy dwa niezależne i identyczne klastry usługi AKS w dwóch sparowanych regionach Azure z obydwoma klastrami aktywnie obsługującymi ruch.
Uwaga
Poniższy przypadek użycia może być uznawany za standardową praktykę w usłudze AKS. Zostało to poddane przeglądowi wewnętrznemu i sprawdzone w połączeniu z naszymi partnerami Microsoft.
Omówienie rozwiązania active-active o wysokiej dostępności
To rozwiązanie opiera się na dwóch identycznych klastrach usługi AKS skonfigurowanych do aktywnego obsługiwania ruchu. Umieszczasz globalnego menedżera ruchu, takiego jak Azure Front Door, przed dwoma klastrami w celu dystrybucji ruchu między nimi. Klastry należy konsekwentnie konfigurować tak, aby uruchamiały instancję wszystkich aplikacji wymaganych do działania rozwiązania.
Strefy dostępności to kolejny sposób na zapewnienie wysokiej dostępności i odporności na awarie klastra AKS w obrębie tego samego regionu. Strefy dostępności umożliwiają dystrybucję węzłów klastra w wielu izolowanych lokalizacjach w regionie Azure. W ten sposób, jeśli jedna strefa ulegnie awarii z powodu awarii zasilania, awarii sprzętu lub problemu z siecią, klaster może nadal działać i obsługiwać aplikacje. Strefy dostępności zwiększają również wydajność i skalowalność klastra, zmniejszając opóźnienia i rywalizację między węzłami. Aby skonfigurować strefy dostępności dla klastra usługi AKS, należy określić numery stref podczas tworzenia lub aktualizowania pul węzłów. Aby uzyskać więcej informacji, zobacz Co to są strefy dostępności Azure?
Uwaga
Wiele regionów obsługuje strefy dostępności. Rozważ użycie regionów ze strefami dostępności, aby zapewnić większą odporność i wyższą dostępność dla obciążeń roboczych. Aby uzyskać więcej informacji, zobacz Odzyskiwanie po przerwie w działaniu usługi obejmującej cały region.
Scenariusze i konfiguracje
To rozwiązanie najlepiej sprawdza się w przypadku hostowania aplikacji bezstanowych i/lub stosowania innych technologii, również wdrożonych w obu regionach, takich jak skalowanie horyzontalne. W scenariuszach, w których hostowana aplikacja zależy od zasobów, takich jak bazy danych, które są aktywne tylko w jednym regionie, zalecamy zamiast tego wdrożenie rozwiązania aktywne-pasywne w celu potencjalnego obniżenia kosztów, ponieważ rozwiązanie aktywno-pasywne wiąże się z większą liczbą przestojów niż rozwiązanie aktywno-aktywne.
Składniki
Rozwiązanie wysokiej dostępności typu aktywny-aktywny korzysta z wielu usług platformy Azure. W tej sekcji omówiono tylko składniki unikatowe dla tej architektury wielu klastrów. Aby uzyskać więcej informacji na temat pozostałych składników, zobacz architekturę punktu odniesienia usługi AKS.
Wiele klastrów i regionów: wdrażasz wiele klastrów usługi AKS, z których każdy jest w osobnym regionie Azure. Podczas normalnych operacji konfiguracja Azure Front Door kieruje ruch sieciowy między wszystkimi regionami. Jeśli jeden region stanie się niedostępny, ruch jest kierowany do regionu z najszybszym czasem ładowania użytkownika.
Sieć typu hub-and-spoke dla każdego regionu: Dla każdego regionalnego wystąpienia usługi AKS wdrażana jest para sieci typu hub-and-spoke. Zasady usługi Azure Firewall Manager służą do zarządzania zasadami zapory we wszystkich regionach.
Regionalny magazyn kluczy: aprowizujesz Azure Key Vault w każdym regionie, aby przechowywać poufne wartości i klucze specyficzne dla wystąpienia AKS oraz obsługiwać usługi dostępne w tym regionie.
Azure Front Door: Azure Front Door równoważy obciążenie i kieruje ruch do regionalnego wystąpienia usługi Azure Application Gateway, które znajduje się przed każdym klastrem AKS. Azure Front Door umożliwia globalne trasowanie w siódmej warstwie.
Log Analytics: Wystąpienia regionalne Log Analytics przechowują regionalne metryki sieci i dzienniki diagnostyczne. Współdzielone wystąpienie przechowuje metryki i dzienniki diagnostyczne dla wszystkich wystąpień usługi AKS.
Container Registry: obrazy kontenerów dla obciążenia są przechowywane w zarządzanym rejestrze kontenerów. W przypadku tego rozwiązania pojedyncze wystąpienie Azure Container Registry jest używane dla wszystkich wystąpień platformy Kubernetes w klastrze. Replikacja geograficzna dla Azure Container Registry umożliwia replikowanie obrazów do wybranych regionów Azure i zapewnia stały dostęp do obrazów, nawet jeśli w regionie wystąpi awaria.
Proces przełączenia awaryjnego
Jeśli usługa lub składnik usługi staną się niedostępne w jednym regionie, ruch powinien być kierowany do regionu, w którym ta usługa jest dostępna. Architektura z wieloma regionami obejmuje wiele różnych punktów awarii. W tej sekcji omówiono potencjalne punkty awarii.
Zasobniki aplikacji (regionalne)
Obiekt wdrożenia platformy Kubernetes tworzy wiele replik zasobnika (ReplicaSet). Jeśli jedna z nich jest niedostępna, ruch jest kierowany między pozostałymi replikami. Obiekt Kubernetes ReplicaSet stara się utrzymać określoną liczbę działających replik. Jeśli jedna instancja przestanie działać, powinna zostać odtworzona. Sondy żywotności mogą sprawdzać stan aplikacji lub procesu uruchomionego w podzie. Jeśli zasobnik nie odpowiada, próba żywotności usuwa zasobnik, co zmusza element ReplicaSet do utworzenia nowej instancji.
Aby uzyskać więcej informacji, zobacz Kubernetes ReplicaSet.
Zasobniki aplikacji (globalne)
Gdy cały region stanie się niedostępny, zasobniki w klastrze nie będą już dostępne do obsługi żądań. W tym przypadku instancja usługi Azure Front Door kieruje cały ruch do pozostałych zdrowych regionów. Klastry i zasobniki Kubernetes w tych regionach nadal obsługują żądania. Aby uwzględnić zwiększony ruch i liczbę żądań kierowanych do pozostałego klastra, pamiętaj o następujących wskazówkach:
- Upewnij się, że zasoby sieciowe i obliczeniowe są odpowiednio zwymiarowane, aby obsłużyć każdy nagły wzrost ruchu spowodowany przełączeniem awaryjnym do innego regionu. Na przykład podczas korzystania z Azure Container Network Interface (CNI) upewnij się, że masz podsieć, która może obsłużyć wszystkie adresy IP podów nawet przy nagłym wzroście natężenia ruchu.
- Użyj Horizontal Pod Autoscaler, aby zwiększyć liczbę replik zasobników i skompensować zwiększony popyt w danym regionie.
- Użyj narzędzia Cluster Autoscaler w usłudze AKS, aby zwiększyć liczbę węzłów instancji Kubernetes i skompensować zwiększone zapotrzebowanie w regionie.
Pule węzłów platformy Kubernetes (regionalne)
Czasami zlokalizowane awarie mogą wystąpić w przypadku zasobów obliczeniowych, takich jak niedostępność zasilania w jednym stojaku serwerów Azure. Aby zapobiec temu, by węzły AKS w tym rozwiązaniu typu active-active stały się pojedynczym punktem awarii na poziomie regionu, skorzystaj z Azure Strefy dostępności. Strefy dostępności zapewniają, że węzły usługi AKS w każdej strefie dostępności są fizycznie oddzielone od tych zdefiniowanych w innej strefie dostępności.
Pule węzłów platformy Kubernetes (globalne)
W przypadku całkowitej awarii regionalnej Azure Front Door kieruje ruch do pozostałych regionów w dobrej kondycji. Ponownie pamiętaj, aby uwzględnić zwiększony ruch i liczbę żądań w pozostałym klastrze.
Strategia testowania trybu failover
Chociaż w usłudze AKS nie ma obecnie dostępnych mechanizmów umożliwiających wyłączenie całego regionu wdrożenia na potrzeby testowania, Azure Chaos Studio oferuje możliwość utworzenia eksperymentu chaosu w klastrze.
Następne kroki
Jeśli rozważasz inne rozwiązanie, zobacz następujące artykuły: