Udostępnij za pośrednictwem


Samouczek: migrowanie usługi WebSphere Liberty/Open Liberty do usługi Azure Kubernetes Service (AKS) z wysoką dostępnością i odzyskiwaniem po awarii

W tym samouczku przedstawiono prosty i skuteczny sposób implementowania wysokiej dostępności i odzyskiwania po awarii (HA/DR) dla języka Java przy użyciu protokołu WebSphere Liberty/Open Liberty w usłudze Azure Kubernetes Service (AKS). Rozwiązanie ilustruje sposób osiągnięcia niskiego celu czasu odzyskiwania (RTO) i celu punktu odzyskiwania (RPO) przy użyciu prostej opartej na bazie danych aplikacji Jakarta EE działającej w sieci WebSphere Liberty/Open Liberty.

Wysoka dostępność/odzyskiwanie po awarii to złożony temat z wieloma możliwymi rozwiązaniami. Najlepsze rozwiązanie zależy od unikatowych wymagań. Aby uzyskać inne sposoby implementowania wysokiej dostępności/odzyskiwania po awarii, zobacz zasoby na końcu tego artykułu.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Użyj najlepszych rozwiązań zoptymalizowanych pod kątem platformy Azure, aby uzyskać wysoką dostępność i odzyskiwanie po awarii.
  • Skonfiguruj grupę trybu failover usługi Microsoft Azure SQL Database w sparowanych regionach.
  • Skonfiguruj podstawowy klaster WebSphere Liberty/Open Liberty w usłudze AKS.
  • Konfigurowanie odzyskiwania po awarii dla klastra przy użyciu usługi Azure Backup.
  • Skonfiguruj pomocniczy klaster usługi AKS.
  • Konfigurowanie usługi Azure Traffic Manager.
  • Przetestuj tryb failover z podstawowego do pomocniczego.

Na poniższym diagramie przedstawiono utworzoną architekturę:

Diagram architektury rozwiązania webSphere Liberty/Open Liberty w usłudze AKS z wysoką dostępnością i odzyskiwaniem po awarii.

Usługa Azure Traffic Manager sprawdza kondycję regionów i kieruje ruch odpowiednio do warstwy aplikacji. Zarówno region podstawowy, jak i region pomocniczy mają pełne wdrożenie klastra Liberty. Jednak tylko region podstawowy aktywnie obsługuje żądania sieciowe od użytkowników. Region pomocniczy jest pasywny i jest aktywowany w celu odbierania ruchu tylko wtedy, gdy region podstawowy doświadcza przerwy w działaniu usługi. Usługa Azure Traffic Manager używa funkcji sprawdzania kondycji bramy aplikacja systemu Azure w celu zaimplementowania tego routingu warunkowego. Klaster podstawowy jest uruchomiony, a klaster pomocniczy jest zamykany. Cel czasu odzyskiwania geograficznie w trybie failover warstwy aplikacji zależy od czasu uruchamiania maszyn wirtualnych i uruchamiania klastra pomocniczego. Cel punktu odzyskiwania zależy od usługi Azure SQL Database, ponieważ dane są utrwalane i replikowane w grupie trybu failover usługi Azure SQL Database.

Warstwa bazy danych składa się z grupy trybu failover usługi Azure SQL Database z serwerem podstawowym i serwerem pomocniczym. Punkt końcowy odbiornika odczytu/zapisu zawsze wskazuje serwer podstawowy i jest połączony z klastrem WebSphere Liberty/Open Liberty w każdym regionie. Tryb failover geograficznego przełącza wszystkie pomocnicze bazy danych w grupie na rolę podstawową. Aby zapoznać się z obiektem RPO trybu failover geograficznym i obiektem RTO usługi Azure SQL Database, zobacz Omówienie ciągłości działalności biznesowej w usłudze Azure SQL Database.

Ten samouczek został napisany przy użyciu usług Azure Backup i Azure SQL Database, ponieważ samouczek opiera się na funkcjach wysokiej dostępności tych usług. Inne opcje bazy danych są możliwe, ale należy wziąć pod uwagę funkcje wysokiej dostępności dowolnej wybranej bazy danych.

Wymagania wstępne

Konfigurowanie grupy trybu failover usługi Azure SQL Database w sparowanych regionach

W tej sekcji utworzysz grupę trybu failover usługi Azure SQL Database w sparowanych regionach do użycia z klastrami i aplikacjami WebSphere Liberty/Open Liberty. W późniejszej sekcji skonfigurujesz usługę WebSphere Liberty/Open Liberty, aby przechowywać dane sesji w tej bazie danych. Ta praktyka odwołuje się do tworzenia tabeli dla trwałości sesji.

Najpierw utwórz podstawową bazę danych Azure SQL Database, wykonując kroki w witrynie Azure Portal w przewodniku Szybki start: Tworzenie pojedynczej bazy danych — Azure SQL Database. Wykonaj kroki, które należy wykonać, ale nie uwzględniaj sekcji "Czyszczenie zasobów". Podczas pracy z artykułem skorzystaj z poniższych wskazówek, a następnie wróć do tego artykułu po utworzeniu i skonfigurowaniu usługi Azure SQL Database.

Po dotarciu do sekcji Tworzenie pojedynczej bazy danych wykonaj następujące kroki:

  1. W kroku 4 tworzenia nowej grupy zasobów zapisz wartość nazwy grupy zasobów — na przykład myResourceGroup.
  2. W kroku 5 dla nazwy bazy danych zapisz wartość Nazwa bazy danych — na przykład mySampleDatabase.
  3. W kroku 6 tworzenia serwera wykonaj następujące kroki:
    1. Wypełnij unikatową nazwę serwera — na przykład sqlserverprimary-mjg032524.
    2. W polu Lokalizacja wybierz pozycję (STANY USA) Wschodnie stany USA.
    3. W polu Metoda uwierzytelniania wybierz pozycję Użyj uwierzytelniania SQL.
    4. Zapisz wartość logowania administratora serwera — na przykład azureuser.
    5. Zapisz wartość Password ( Hasło ).
  4. W kroku 8 w polu Środowisko obciążenia wybierz pozycję Programowanie. Przyjrzyj się opisowi i rozważ inne opcje obciążenia.
  5. W kroku 11 w polu Nadmiarowość magazynu kopii zapasowych wybierz pozycję Magazyn kopii zapasowych lokalnie nadmiarowy. Rozważ inne opcje tworzenia kopii zapasowych. Aby uzyskać więcej informacji, zobacz sekcję Nadmiarowość magazynu kopii zapasowych w usłudze Azure SQL Database.
  6. W kroku 14 w konfiguracji reguł zapory dla pozycji Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera wybierz pozycję Tak.

Następnie utwórz grupę trybu failover usługi Azure SQL Database, wykonując kroki opisane w temacie Konfigurowanie grupy trybu failover dla usługi Azure SQL Database. Potrzebne są tylko następujące sekcje: Tworzenie grupy trybu failover i Testowanie planowanego przejścia w tryb failover. Wykonaj następujące kroki, wykonując czynności opisane w artykule, a następnie wróć do tego artykułu po utworzeniu i skonfigurowaniu grupy trybu failover usługi Azure SQL Database:

  1. Po dotarciu do sekcji Tworzenie grupy trybu failover wykonaj następujące kroki:

    1. W kroku 5 tworzenia grupy trybu failover wprowadź i zapisz unikatową nazwę grupy trybu failover — na przykład failovergroup-mjg032524.
    2. W kroku 5 konfigurowania serwera wybierz opcję utworzenia nowego serwera pomocniczego, a następnie wykonaj następujące czynności:
      1. Wprowadź unikatową nazwę serwera — na przykład sqlserversecondary-mjg032524.
      2. Wprowadź ten sam administrator serwera i hasło co serwer podstawowy.
      3. W polu Lokalizacja wybierz pozycję (STANY USA) Zachodnie stany USA.
      4. Upewnij się, że wybrano opcję Zezwalaj usługom platformy Azure na dostęp do serwera .
    3. W kroku 5 na potrzeby konfigurowania baz danych w grupie wybierz bazę danych utworzoną na serwerze podstawowym — na przykład mySampleDatabase.
  2. Po wykonaniu wszystkich kroków w sekcji Testowanie planowanego przejścia w tryb failover pozostaw otwartą stronę grupy trybu failover i użyj jej do testowania trybu failover klastrów WebSphere Liberty/Open Liberty później.

Uwaga

Ten artykuł zawiera instrukcje tworzenia pojedynczej bazy danych usługi Azure SQL Database z uwierzytelnianiem SQL w celu uproszczenia, ponieważ konfiguracja HA/DR (wysokiej dostępności i odzyskiwania po awarii), na której koncentruje się ten artykuł, jest już bardzo złożona. Bezpieczniejszą praktyką jest użycie uwierzytelniania microsoft Entra dla usługi Azure SQL do uwierzytelniania połączenia serwera bazy danych. Aby uzyskać informacje na temat konfigurowania połączenia bazy danych z uwierzytelnianiem firmy Microsoft Entra, zobacz Wdrażanie aplikacji Java z frameworkiem Open Liberty lub WebSphere Liberty w klastrze usługi Azure Kubernetes Service (AKS).

Konfigurowanie podstawowego klastra WebSphere Liberty/Open Liberty w usłudze AKS

W tej sekcji utworzysz podstawowy klaster WebSphere Liberty/Open Liberty w usłudze AKS przy użyciu oferty IBM WebSphere Liberty i Open Liberty w usłudze Azure Kubernetes Service . Klaster pomocniczy jest przywracany z klastra podstawowego podczas przechodzenia w tryb failover przy użyciu usługi Azure Backup później.

Wdrażanie podstawowego klastra WebSphere Liberty/Open Liberty

Aby wdrożyć klaster podstawowy, wykonaj następujące kroki:

  1. Otwórz ofertę IBM WebSphere Liberty i Open Liberty w usłudze Azure Kubernetes Service w przeglądarce i wybierz pozycję Utwórz. Powinno zostać wyświetlone okienko Podstawy oferty.

  2. Aby wypełnić okienko Podstawy , wykonaj następujące kroki:

    1. Upewnij się, że wartość wyświetlana dla subskrypcji jest taka sama, która ma role wymienione w sekcji wymagań wstępnych.
    2. Należy wdrożyć ofertę w pustej grupie zasobów. W polu Grupa zasobów wybierz pozycję Utwórz nową i wprowadź unikatową wartość dla grupy zasobów — na przykład liberty-aks-eastus-mjg032524.
    3. W obszarze Szczegóły wystąpienia w obszarze Region wybierz pozycję Wschodnie stany USA.
    4. Wybierz pozycję Dalej , aby przejść do okienka usługi AKS .

    Zrzut ekranu witryny Azure Portal przedstawiający okienko IBM WebSphere Liberty i Open Liberty w usłudze Azure Kubernetes Service Basics.

  3. Poczekaj chwilę. Wszystkie pola powinny być wstępnie wypełnione wartościami domyślnymi w okienku usługi AKS . Wybierz pozycję Dalej , aby przejść do okienka Równoważenie obciążenia .

    Zrzut ekranu witryny Azure Portal przedstawiający okienko IBM WebSphere Liberty i Open Liberty w usłudze Azure Kubernetes Service AKS.

  4. Aby wypełnić okienko Równoważenie obciążenia , wykonaj następujące czynności:

    1. W obszarze Połącz z bramą aplikacja systemu Azure? wybierz pozycję Tak.
    2. Pozostaw wartości domyślne dla innych pól.
    3. Wybierz pozycję Dalej , aby przejść do okienka Operator i aplikacja .

    Zrzut ekranu witryny Azure Portal przedstawiający okienko równoważenia obciążenia IBM WebSphere Liberty i Open Liberty w usłudze Azure Kubernetes Service.

  5. Wykonaj następujące kroki, aby wypełnić okienko Operator i aplikacja :

    1. Pozostaw wartości domyślne dla wszystkich pól.

      Uwaga

      W tym samouczku jest wdrażany operator Open Liberty przy użyciu ustawień domyślnych. Opcjonalnie możesz wdrożyć operator WebSphere Liberty, wybierając pozycję Tak dla obsługiwanej firmy IBM?.

    2. Wybierz pozycję Przejrzyj i utwórz.

    3. Poczekaj na pomyślne zakończenie ostatniej weryfikacji, a następnie wybierz pozycję Utwórz.

    Zrzut ekranu witryny Azure Portal przedstawiający witrynę IBM WebSphere Liberty i Open Liberty w okienku Operator i aplikacja usługi Azure Kubernetes Service.

Po pewnym czasie powinna zostać wyświetlona strona Wdrażanie , na której jest w toku wdrażanie.

Uwaga

Jeśli podczas ostatecznej weryfikacji wystąpią jakiekolwiek problemy, rozwiąż je i spróbuj ponownie.

W zależności od warunków sieciowych i innych działań w wybranym regionie wdrożenie może potrwać do około 30 minut. Następnie powinien zostać wyświetlony tekst Wdrożenie zostało ukończone na stronie wdrożenia.

Weryfikowanie wdrożenia klastra

Wdrożono klaster usługi AKS, wystąpienie usługi Azure Container Registry (ACR) i bramę aplikacja systemu Azure w regionie podstawowym. Klaster AKS to docelowa platforma obliczeniowa, na której aplikacja jest wdrażana i uruchomiona. Wystąpienie usługi ACR przechowuje obraz aplikacji ściągany przez usługę AKS podczas wdrażania aplikacji. Brama aplikacja systemu Azure działa jako moduł równoważenia obciążenia dla aplikacji wdrożonej w klastrze usługi AKS.

Przed przejściem do następnego kroku wykonaj następujące kroki, aby zweryfikować te kluczowe składniki:

  1. Wróć do strony Wdrożenie , a następnie wybierz pozycję Dane wyjściowe.

  2. Skopiuj wartość właściwości cmdToConnectToCluster. Otwórz terminal, wklej skopiowane polecenie i naciśnij Enter , aby wykonać. Powinien zostać wyświetlony komunikat podobny do poniższego przykładu zawartego w danych wyjściowych:

    Merged "cluster3984d1-admin" as current context in <your-user>\.kube\config
    
  3. Zapisz polecenie na bok, aby można było użyć go do nawiązania połączenia z klastrem później.

  4. Uruchom polecenie kubectl get pod --all-namespaces w terminalu, aby wyświetlić listę wszystkich zasobników uruchomionych w klastrze usługi AKS. Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

    NAMESPACE      NAME                                        READY   STATUS    RESTARTS      AGE
    cert-manager   cert-manager-66bc9756fd-255pk               1/1     Running   0             8m55s
    cert-manager   cert-manager-cainjector-669c9fb694-k4q88    1/1     Running   0             8m55s
    cert-manager   cert-manager-webhook-84967d556d-vj4lp       1/1     Running   0             8m55s
    kube-system    azure-ip-masq-agent-dgzkt                   1/1     Running   0             29m
    kube-system    cloud-node-manager-6x7bp                    1/1     Running   0             29m
    kube-system    coredns-789789675-6b7dh                     1/1     Running   0             28m
    kube-system    coredns-789789675-n68wt                     1/1     Running   0             29m
    kube-system    coredns-autoscaler-649b947bbd-zhdbn         1/1     Running   0             29m
    kube-system    csi-azuredisk-node-h9p7m                    3/3     Running   0             29m
    kube-system    csi-azurefile-node-jnllw                    3/3     Running   0             29m
    kube-system    ingress-appgw-deployment-69944d8fb9-v9btr   1/1     Running   5 (12m ago)   17m
    kube-system    konnectivity-agent-94878f88c-hfqng          1/1     Running   0             29m
    kube-system    konnectivity-agent-94878f88c-ln2vp          1/1     Running   0             29m
    kube-system    kube-proxy-28lkg                            1/1     Running   0             29m
    kube-system    metrics-server-5fffcb8954-549xl             2/2     Running   0             28m
    kube-system    metrics-server-5fffcb8954-fn56g             2/2     Running   0             28m
    open-liberty   olo-controller-manager-7954d76cf8-qhmxw     1/1     Running   0             8m40s
    
  5. Uruchom polecenie kubectl get secret w terminalu, aby wyświetlić listę wszystkich wpisów tajnych zainstalowanych w klastrze usługi AKS. W danych wyjściowych powinien zostać wyświetlony jeden wpis tajny, jak pokazano w poniższym przykładzie:

    NAME           TYPE                DATA   AGE
    secret3984d1   kubernetes.io/tls   2      24m
    

    Ten wpis tajny jest wpisem tajnym PROTOKOŁU TLS, który zawiera dane certyfikatu i klucza dla ruchu TLS. Skopiuj i zapisz nazwę wpisu tajnego — na przykład secret3984d1użyjesz go w wdrożeniu aplikacji później.

  6. Wróć do strony Dane wyjściowe . Skopiuj wartość właściwości cmdToLoginInRegistry. Wklej skopiowane polecenie w terminalu i naciśnij Enter , aby wykonać. W danych wyjściowych powinien zostać wyświetlony komunikat Logowanie powiodło się . Pozostaw terminal otwarty i użyj go do dalszej konfiguracji klastra WebSphere Liberty/Open Liberty później.

Wykonaj poniższe kroki, aby uzyskać nazwę i nazwę DNS publicznego adresu IP bramy aplikacja systemu Azure. Są one używane do wdrażania aplikacji i późniejszej konfiguracji usługi Azure Traffic Manager.

  1. W witrynie Azure Portal w polu wyszukiwania wprowadź ciąg Grupy zasobów i wybierz pozycję Grupy zasobów z wyników wyszukiwania.
  2. Wybierz nazwę grupy zasobów dla regionu podstawowego — na przykład liberty-aks-eastus-mjg032524.
  3. Znajdź zasób Publicznego adresu IP poprzedzony prefiksem gwip, a następnie skopiuj i zapisz jego nazwę.
  4. Wybierz zasób Publiczny adres IP, a następnie skopiuj i zapisz nazwę DNS — na przykład olgw3984d1.eastus.cloudapp.azure.com.

Włączanie replikacji geograficznej dla wystąpienia usługi ACR

Wystąpienie usługi ACR jest przeznaczone do przechowywania obrazów aplikacji zarówno dla klastrów podstawowych, jak i pomocniczych. Wykonaj następujące kroki, aby włączyć replikacje geograficzne dla wystąpienia usługi ACR:

  1. W witrynie Azure Portal w polu wyszukiwania wprowadź ciąg Grupy zasobów i wybierz pozycję Grupy zasobów z wyników wyszukiwania.

  2. Wybierz nazwę grupy zasobów dla regionu podstawowego — na przykład liberty-aks-eastus-mjg032524.

  3. Znajdź zasób rejestru kontenerów z prefiksem acr, a następnie wybierz go, aby go otworzyć.

  4. Wybierz Właściwości. W obszarze Plan cenowy wybierz pozycję Premium, a następnie wybierz pozycję Zapisz. Zaczekaj na zakończenie.

  5. Wybierz pozycję Replikacje geograficzne, a następnie wybierz pozycję Dodaj. W obszarze Lokalizacja wybierz pozycję Zachodnie stany USA, a następnie wybierz pozycję Utwórz. Zaczekaj na zakończenie.

  6. Poczekaj chwilę, wybierz pozycję Odśwież. Powtórz tę operację, dopóki nie zostaną wyświetlone dwie lokalizacje, a stan to Gotowe.

    Zrzut ekranu witryny Azure Portal przedstawiający wystąpienie usługi ACR włączone z replikacjami geograficznymi w regionach par.

Wykonaj poniższe kroki, aby uzyskać poświadczenia logowania usługi ACR. Będą one używane do późniejszego wdrożenia aplikacji.

  1. Wybierz pozycję Klucze dostępu.

  2. Skopiuj i zapisz wartości dla nazwy rejestru oraz serwera logowania.

    Uwaga

    W tym artykule użyto polecenia az acr build, aby skompilować i wypchnąć obraz platformy Docker do rejestru kontenerów bez użycia username i password usługi Container Registry. Nadal można używać nazwy użytkownika i hasła z docker login i docker push. Użycie nazwy użytkownika i hasła jest mniej bezpieczne niż uwierzytelnianie bez hasła.

Wdrażanie przykładowej aplikacji

Wykonaj następujące kroki, aby wdrożyć i uruchomić przykładową aplikację CRUD Java/Jakarta EE w klastrze WebSphere Liberty/Open Liberty w celu późniejszego przetestowania trybu failover odzyskiwania po awarii:

  1. Pobierz przykład, używając następujących poleceń:

    git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
    cd open-liberty-on-aks
    export BASE_DIR=$PWD
    git checkout 20240325
    

    Aplikacja konfiguruje źródło danych jdbc/JavaEECafeDB , które nawiązuje połączenie z wdrożoną wcześniej bazą danych Azure SQL Database. Źródło danych służy do przechowywania danych sesji HTTP, co umożliwia przechodzenie w tryb failover i równoważenie obciążenia w klastrze serwerów WebSphere Liberty/Open Liberty. Przykładowa aplikacja konfiguruje również schemat trwałości w celu utrwalania danych coffee aplikacji w tym samym źródle danych. Zwróć uwagę, że katalog główny kontekstu przykładu jest skonfigurowany tak jak / w pliku server.xml .

  2. Użyj następujących poleceń, aby zdefiniować zmienne środowiskowe z zapisanymi wcześniej wartościami:

    export DB_SERVER_NAME=<failover-group-name>.database.windows.net
    export DB_NAME=mySampleDatabase
    export DB_USER=azureuser@<failover-group-name>
    export DB_PASSWORD='<SQL-Server-admin-login-password>'
    export REGISTRY_NAME=<ACR-registry-name>
    export LOGIN_SERVER=<ACR-login-server>
    export INGRESS_TLS_SECRET=<TLS-secret-name>
    
  3. Użyj polecenia az acr build, aby skompilować i przesłać obraz Docker do rejestru kontenerów, jak pokazano w poniższym przykładzie.

    cd $BASE_DIR/java-app
    mvn clean install
    
    cd $BASE_DIR/java-app/target
    # If you deployed WebSphere Liberty Operator previously, use "Dockerfile-wlp" instead of "Dockerfile"
    az acr build \
        --registry ${REGISTRY_NAME} \
        --image javaee-cafe:v1 \
        --file Dockerfile \
        .
    
  4. Użyj następujących poleceń, aby wdrożyć przykładową aplikację w klastrze usługi AKS:

    cd $BASE_DIR/java-app/target
    kubectl apply -f db-secret.yaml
    
    # If you deployed WebSphere Liberty Operator previously, use "webspherelibertyapplication-agic.yaml" instead of "openlibertyapplication-agic.yaml"
    kubectl apply -f openlibertyapplication-agic.yaml
    
  5. Uruchom następujące polecenie, aby pobrać wdrożona przykładową aplikację:

    # If you deployed WebSphere Liberty Operator previously, use "WebSphereLibertyApplication" instead of "OpenLibertyApplication"
    kubectl get OpenLibertyApplication
    

    Powinna zostać wyświetlona jedna aplikacja READY w danych wyjściowych:

    NAME                       IMAGE                                 EXPOSED   RECONCILED   RESOURCESREADY   READY   AGE
    javaee-cafe-cluster-agic   acr3984d1.azurecr.io/javaee-cafe:v1             True         True             True    45s
    
  6. Uruchom następujące polecenie, aby uzyskać stan zasobników utworzonych podczas wdrażania:

    kubectl get pods
    

    Poniższy przykład wskazuje, że wszystkie zasobniki są uruchomione. Jeśli nie widzisz podobnych danych wyjściowych, poczekaj chwilę i powtórz operację.

    NAME                                        READY   STATUS    RESTARTS   AGE
    javaee-cafe-cluster-agic-6bbb8d6f5c-2xjc4   1/1     Running   0          1m
    javaee-cafe-cluster-agic-6bbb8d6f5c-4f449   1/1     Running   0          1m
    javaee-cafe-cluster-agic-6bbb8d6f5c-m2wg6   1/1     Running   0          1m
    
  7. Wykonaj następujące kroki, aby sprawdzić, czy aplikacja działa zgodnie z oczekiwaniami:

    1. Na nowej karcie przeglądarki otwórz nazwę DNS publicznego adresu IP bramy aplikacja systemu Azure, która została zapisana wcześniej. https Użyj protokołu — na przykład https://olgw3984d1.eastus.cloudapp.azure.com. Powinna zostać wyświetlona strona powitalna przykładowej aplikacji.

    2. Utwórz nową kawę o nazwie i cenie — na przykład Coffee 1 z ceną 10 — która jest utrwalana zarówno w tabeli danych aplikacji, jak i w tabeli sesji bazy danych. Widoczny interfejs użytkownika powinien być podobny do poniższego zrzutu ekranu:

      Zrzut ekranu przedstawiający przykładowy interfejs użytkownika aplikacji.

    Jeśli interfejs użytkownika nie wygląda podobnie, przed kontynuowaniem rozwiąż problem i rozwiąż go.

Konfigurowanie odzyskiwania po awarii dla klastra przy użyciu usługi Azure Backup

W tej sekcji skonfigurujesz odzyskiwanie po awarii dla klastra usługi AKS w regionie podstawowym przy użyciu usługi Azure Backup.

Tworzenie konta magazynu

Kopia zapasowa usługi AKS używa kontenera obiektów blob do przechowywania zasobów klastra usługi AKS. Inny kontener obiektów blob jest tworzony jako lokalizacja tymczasowa do użycia podczas przywracania między regionami.

Wykonaj poniższe kroki, aby utworzyć konto magazynu i dwa kontenery. Niektóre z tych kroków kierują Cię do innych przewodników.

  1. Zaloguj się w witrynie Azure Portal.
  2. Utwórz konto magazynu, wykonując kroki opisane w temacie Tworzenie konta magazynu. Nie musisz wykonywać wszystkich kroków opisanych w artykule. Wypełnij pola, jak pokazano w okienku Podstawy , wykonując następujące kroki:
    1. W polu Grupa zasobów wybierz istniejącą grupę zasobów, w której wdrożono klaster podstawowy — na przykład liberty-aks-eastus-mjg032524.
    2. W polu Nazwa konta magazynu wprowadź unikatową nazwę — na przykład storageeastusmjg032524.
    3. W obszarze Region wybierz pozycję Wschodnie stany USA.
    4. Wybierz pozycję Przejrzyj i utwórz , aby zaakceptować opcje domyślne.
    5. Przejdź do weryfikowania i tworzenia konta, a następnie wróć do tego artykułu.
  3. Utwórz kontener magazynu dla rozszerzenia kopii zapasowej usługi AKS, wykonując kroki opisane w temacie Tworzenie kontenera magazynu. W tym przewodniku jest używana aks-backup-ext nazwa kontenera.
  4. Utwórz inny kontener magazynu jako lokalizację tymczasową do użycia podczas przywracania. W tym przewodniku jest używana staging nazwa kontenera.

Włączanie rozszerzenia kopii zapasowej usługi AKS

Przed kontynuowaniem wykonaj następujące kroki, aby zainstalować rozszerzenie kopii zapasowej usługi AKS w klastrze w regionie podstawowym:

  1. Włącz sterowniki i migawki CSI dla klastra. W przypadku następującego az aks update polecenia zaktualizuj wartość zmiennej RG_NAME Bash do nazwy grupy zasobów — na przykład liberty-aks-eastus-mjg032524 — i uruchom polecenie w lokalnym terminalu powłoki Bash.

    export RG_NAME=<your-aks-cluster-resource-group>
    export AKS_NAME=$(az aks list \
        --resource-group ${RG_NAME} \
        --query "[0].name" \
        --output tsv | tr -d '\r')
    
    az aks update \
        --resource-group ${RG_NAME} \
        --name ${AKS_NAME} \
        --enable-disk-driver \
        --enable-file-driver \
        --enable-blob-driver \
        --enable-snapshot-controller --yes
    

    Włączenie sterowników trwa około 5 minut. Przed kontynuowanie upewnij się, że polecenia zakończą się bez błędu.

  2. Otwórz grupę zasobów z wdrożonym usługą AKS — na przykład liberty-aks-eastus-mjg032524. Wybierz klaster usługi AKS z listy zasobów.

  3. W obszarze Ustawienia strony docelowej usługi AKS wybierz pozycję Utwórz kopię zapasową, a następnie wybierz pozycję Zainstaluj rozszerzenie.

  4. Na stronie Instalowanie rozszerzenia AKS Backup wybierz pozycję Dalej. Wybierz konto storageeastusmjg032524 magazynu i kontener aks-backup-ext obiektów blob utworzony w tej samej grupie zasobów. Wybierz pozycję Dalej, a następnie wybierz pozycję Utwórz. Wykonanie tego kroku trwa około pięciu minut.

Tworzenie kopii zapasowej klastra usługi AKS

Wykonaj następujące kroki, aby utworzyć kopię zapasową klastra usługi AKS:

  1. W witrynie Azure Portal w polu wyszukiwania wyszukaj pozycję Magazyny kopii zapasowych. Zostanie on wyświetlony w obszarze Usługi. Wybierz je.

  2. Wykonaj kroki opisane w temacie Tworzenie kopii zapasowej usługi Azure Kubernetes Service przy użyciu usługi Azure Backup , aby włączyć usługę AKS Backup dla klastra podstawowego. Wykonaj kroki w górę, ale nie w tym sekcję Use hooks during AKS backup (Używanie punktów zaczepienia podczas tworzenia kopii zapasowej usługi AKS), a następnie wykonaj pozostałe kroki opisane w tej sekcji, aby wprowadzić zmiany zgodnie z rzeczywistym użyciem.

  3. Po dotarciu do sekcji Tworzenie magazynu kopii zapasowych wykonaj następujące kroki:

    1. W kroku 1 w polu Grupa zasobów wybierz istniejącą grupę zasobów, w której wdrożono klaster podstawowy — na przykład liberty-aks-eastus-mjg032524.

    2. W polu Nazwa magazynu kopii zapasowych wprowadź unikatową wartość — na przykład aks-backup-vault-eastus-mjg032524.

    3. W obszarze Region wybierz pozycję Wschodnie stany USA.

    4. W obszarze Nadmiarowość magazynu kopii zapasowych wybierz pozycję Globally-Redundant.

      Zrzut ekranu witryny Azure Portal przedstawiający okienko Magazyn kopii zapasowych w warstwie Podstawowa.

    5. W kroku 2 w obszarze Przywracanie między regionami wybierz pozycję Włącz.

  4. Po dotarciu do sekcji Tworzenie zasad tworzenia kopii zapasowych wykonaj następujące kroki:

    1. W kroku 3 wprowadź nazwę zasad tworzenia kopii zapasowych — na przykład aksbackuppolicy.

    2. Wybierz magazyn kopii zapasowych utworzony w tej samej grupie zasobów — na przykład aks-backup-vault-eastus-mjg032524.

    3. W kroku 4 dodaj regułę przechowywania, w której wybrano standard magazynu.

      Zrzut ekranu witryny Azure Portal przedstawiający stronę Tworzenie zasad kopii zapasowej z otwartym okienkiem Dodawanie przechowywania i wyróżnioną opcją Standardowa magazynu.

    4. Wybierz Dodaj.

  5. W sekcji Konfigurowanie kopii zapasowych wykonaj następujące czynności:

    1. Pomiń krok 1–5, który jest przeznaczony do instalacji rozszerzenia usługi AKS. Rozpocznij od kroku 6 dla klastra usługi AKS w regionie podstawowym.

    2. W kroku 7 w polu Magazyn wybierz magazyn kopii zapasowych utworzony w tej samej grupie zasobów — na przykład aks-backup-vault-eastus-mjg032524. Po wystąpieniu błędów uprawnień wybierz pozycję Udziel uprawnień , aby przejść dalej. Po zakończeniu wdrażania uprawnień, jeśli błąd nadal jest wyświetlany, wybierz pozycję Odwołuj , aby odświeżyć przypisania ról.

      Zrzut ekranu witryny Azure Portal przedstawiający okienko Konfigurowanie podstaw kopii zapasowej z błędami uprawnień i wyróżnionym linkiem Udziel uprawnień.

    3. W kroku 10 znajdź pozycję Wybierz zasoby do utworzenia kopii zapasowej. W polu Nazwa wystąpienia kopii zapasowej wprowadź unikatową nazwę — na przykład akseastusmjg032524. W obszarze Inne opcje wybierz wszystkie opcje. Upewnij się, że wybrano opcję Uwzględnij wpisy tajne.

      Zrzut ekranu witryny Azure Portal przedstawiający okienko Wybierz zasoby do kopii zapasowej z wyróżnioną opcją Dołącz wpisy tajne.

    4. W kroku 11 wystąpi błąd przypisania roli. Wykonaj krok 12–14, aby wyeliminować błąd.

      Zrzut ekranu witryny Azure Portal przedstawiający okienko Konfigurowanie kopii zapasowej z otwartym oknom dialogowym Udzielanie brakujących uprawnień.

    5. Po wybraniu pozycji Konfiguruj kopię zapasową w kroku 15 wróć do strony Kopia zapasowa. Poczekaj chwilę, a następnie wybierz pozycję Odśwież. Powtórz operację, dopóki nie zobaczysz, że wystąpienie kopii zapasowej jest wyświetlane, a jego stan ochrony to Ochrona skonfigurowana.

      Zrzut ekranu witryny Azure Portal przedstawiający skonfigurowaną ochronę wystąpienia kopii zapasowej usługi AKS.

Poczekaj na utworzenie standardowej kopii zapasowej magazynu

W usłudze AKS warstwa Standardowa magazynu jest jedyną warstwą, która obsługuje nadmiarowość geograficzną i przywracanie między regionami. Jak określono w sekcji Która warstwa magazynu kopii zapasowych obsługuje tworzenie kopii zapasowych usługi AKS?, "Do warstwy magazynu jest przenoszony tylko jeden zaplanowany punkt odzyskiwania dziennie". Musisz poczekać na utworzenie standardowej kopii zapasowej magazynu. Dobrą dolną granicą jest odczekać co najwyżej 24 godziny po zakończeniu poprzedniego kroku przed przywróceniem.

Wykonaj następujące kroki, aby sprawdzić, czy dostępna jest standardowa kopia zapasowa magazynu:

  1. Na stronie Kopia zapasowa podstawowego klastra usługi AKS wybierz wystąpienie kopii zapasowej.

  2. Poczekaj chwilę i wybierz pozycję Odśwież. Powtórz tę operację, dopóki nie zobaczysz, że co najmniej jeden punkt przywracania operacyjny i standardowy dla magazynu jest wymieniony w sekcji PUNKTY PRZYWRACANIA.

    Zrzut ekranu witryny Azure Portal przedstawiający sekcję Punkty przywracania z wyróżnionym punktem przywracania operacyjnym i standardowym magazynem.

Konfigurowanie pomocniczego klastra usługi AKS

Czekając na utworzenie standardowej kopii zapasowej magazynu dla podstawowego klastra usługi AKS, skonfiguruj pomocniczy klaster usługi AKS na potrzeby przywracania później.

Wykonaj te same kroki w sekcji Wdrażanie podstawowego klastra WebSphere Liberty/Open Liberty, aby skonfigurować pomocniczy klaster AKS w regionie pomocniczym, z wyjątkiem następujących różnic:

  1. W okienku Podstawy wykonaj następujące czynności:

    1. W polu Grupa zasobów wybierz pozycję Utwórz nową i wypełnij inną unikatową wartość dla grupy zasobów — na przykład liberty-aks-westus-mjg032524.
    2. W obszarze Szczegóły wystąpienia w polu Region wybierz pozycję Zachodnie stany USA.
  2. W okienku usługi AKS wykonaj następujące czynności:

    1. W obszarze Azure Container Registry (ACR) w polu Wybierz wystąpienie usługi ACR wybierz pozycję Nie.

    2. Wybierz istniejące wystąpienie usługi ACR w regionie podstawowym, które jest włączone z replikacjami geograficznymi.

      Zrzut ekranu witryny Azure Portal Tworzenie aplikacji IBM WebSphere Liberty i Open Liberty na stronie usługi Azure Kubernetes Service z wyróżnionym wystąpieniem usługi ACR.

Wykonaj te same kroki w sekcji Weryfikowanie wdrożenia klastra , aby zweryfikować wdrożenie w regionie pomocniczym, z wyjątkiem następujących różnic:

  1. Nie musisz kopiować i zapisywać nazwy wpisu tajnego PROTOKOŁU TLS. Wpis tajny TLS jest przywracany z kopii zapasowej podstawowego klastra usługi AKS.
  2. Użyj grupy zasobów klastra pomocniczego — na przykład liberty-aks-westus-mjg032524 podczas wyszukiwania nazwy i nazwy DNS publicznego adresu IP bramy aplikacja systemu Azure wdrożonej w regionie pomocniczym.

Wykonaj te same kroki w sekcji Tworzenie konta magazynu, aby utworzyć konto magazynu w regionie pomocniczym, z wyjątkiem następujących różnic:

  1. W polu Grupa zasobów wybierz istniejącą grupę zasobów, w której wdrożono klaster pomocniczy — na przykład liberty-aks-westus-mjg032524.
  2. W polu Nazwa konta magazynu wprowadź unikatową nazwę — na przykład storagewestusmjg032524.
  3. W obszarze Region wybierz pozycję Zachodnie stany USA.

Wykonaj te same kroki w sekcji Włączanie rozszerzenia kopii zapasowej usługi AKS, aby zainstalować rozszerzenie kopii zapasowej usługi AKS dla klastra w regionie pomocniczym, z wyjątkiem następujących różnic:

  1. W kroku 1 w celu włączenia sterowników i migawek CSI dla klastra pomocniczego zaktualizuj wartość zmiennej RG_NAME powłoki Bash do grupy zasobów w regionie pomocniczym — na przykład liberty-aks-westus-mjg032524.
  2. W kroku 2 wybierz klaster usługi AKS z grupy zasobów w regionie pomocniczym — na przykład liberty-aks-westus-mjg032524.
  3. W kroku 4 na potrzeby instalowania rozszerzenia kopii zapasowej usługi AKS dla klastra pomocniczego wybierz konto magazynu utworzone w tej samej grupie zasobów regionu pomocniczego — na przykład storagewestusmjg032524.

Aby zaoszczędzić koszty, zatrzymaj klaster usługi AKS w regionie pomocniczym, wykonując kroki opisane w temacie Zatrzymywanie i uruchamianie klastra usługi Azure Kubernetes Service (AKS). Należy go uruchomić przed przywróceniem klastra później.

Konfigurowanie usługi Azure Traffic Manager

Standardowa kopia zapasowa magazynu została wymieniona w sekcji Oczekiwanie na utworzenie standardowej kopii zapasowej magazynu. Gdy zobaczysz, że dostępna jest standardowa kopia zapasowa magazynu, możesz utworzyć usługę Azure Traffic Manager na potrzeby dystrybucji ruchu do publicznych aplikacji w globalnych regionach świadczenia usługi Azure. Podstawowy punkt końcowy wskazuje publiczny adres IP bramy aplikacja systemu Azure w regionie podstawowym. Pomocniczy punkt końcowy wskazuje publiczny adres IP bramy aplikacja systemu Azure w regionie pomocniczym.

Utwórz profil usługi Azure Traffic Manager, wykonując kroki opisane w przewodniku Szybki start: tworzenie profilu usługi Traffic Manager przy użyciu witryny Azure Portal. Potrzebne są tylko następujące sekcje: Tworzenie profilu usługi Traffic Manager i Dodawanie punktów końcowych usługi Traffic Manager. Wykonaj następujące kroki, przechodząc przez te sekcje, a następnie wróć do tego artykułu po utworzeniu i skonfigurowaniu usługi Azure Traffic Manager:

  1. Po dotarciu do sekcji Tworzenie profilu usługi Traffic Manager w kroku 2 w sekcji Tworzenie profilu usługi Traffic Manager wykonaj następujące kroki:

    1. W polu Nazwa wprowadź unikatową nazwę profilu usługi Traffic Manager — na przykład tmprofile-mjg032524.
    2. W polu Metoda routingu wybierz pozycję Priorytet.
    3. W polu Grupa zasobów wprowadź i zapisz nazwę nowej grupy zasobów — na przykład myResourceGroupTM1.
  2. Po dotarciu do sekcji Dodawanie punktów końcowych usługi Traffic Manager wykonaj następujące kroki:

    1. Po otwarciu profilu usługi Traffic Manager w kroku 2 na stronie Konfiguracja wykonaj następujące kroki:
      1. W przypadku czasu wygaśnięcia (TTL) dns wprowadź wartość 10.
      2. W obszarze Ustawienia monitora punktu końcowego w polu Protokół wybierz pozycję https, a w polu Port wprowadź wartość 443.
      3. W obszarze Ustawienia trybu failover szybkiego punktu końcowego użyj następujących wartości:
        • W obszarze Sondowanie wewnętrzne wybierz pozycję 10.
        • W polu Tolerowana liczba awarii wprowadź wartość 3.
        • W polu Limit czasu sondy wprowadź wartość 5.
      4. Wybierz pozycję Zapisz. Zaczekaj na jego zakończenie.
    2. W kroku 4 dodawania podstawowego punktu końcowego myPrimaryEndpointwykonaj następujące kroki:
      1. W polu Typ zasobu docelowego wybierz pozycję Publiczny adres IP.
      2. Wybierz listę rozwijaną Wybierz publiczny adres IP i wprowadź nazwę publicznego adresu IP bramy aplikacja systemu Azure w regionie Wschodnie stany USA, które zostały zapisane wcześniej. Powinien zostać wyświetlony jeden wpis dopasowany. Wybierz go jako publiczny adres IP.
    3. W kroku 6 dodawania punktu końcowego myFailoverEndpointtrybu failover/pomocniczego wykonaj następujące kroki:
      1. W polu Typ zasobu docelowego wybierz pozycję Publiczny adres IP.
      2. Wybierz listę rozwijaną Wybierz publiczny adres IP i wprowadź nazwę publicznego adresu IP bramy aplikacja systemu Azure w regionie Zachodnie stany USA, które zostały zapisane wcześniej. Powinien zostać wyświetlony jeden wpis dopasowany. Wybierz go jako publiczny adres IP.
    4. Poczekaj chwilę. Wybierz pozycję Odśwież, dopóki stan monitora punktu końcowego to Online, a myPrimaryEndpoint monitora punktu końcowego ma obniżoną myFailoverEndpoint.

Następnie wykonaj następujące kroki, aby sprawdzić, czy przykładowa aplikacja wdrożona w klastrze podstawowym jest dostępna z profilu usługi Traffic Manager:

  1. Wybierz pozycję Przegląd utworzonego profilu usługi Traffic Manager.

  2. Sprawdź i skopiuj nazwę DNS profilu usługi Traffic Manager, zastępując protokół http ciąg .https Na przykład https://tmprofile-mjg032524.trafficmanager.net.

  3. Otwórz adres URL na nowej karcie przeglądarki. Na stronie powinna zostać wyświetlona utworzona wcześniej kawa.

  4. Utwórz inną kawę o innej nazwie i cenie — na przykład Kawa 2 z ceną 20 — która jest utrwalana zarówno w tabeli danych aplikacji, jak i w tabeli sesji bazy danych. Widoczny interfejs użytkownika powinien być podobny do poniższego zrzutu ekranu:

    Zrzut ekranu przedstawiający przykładowy interfejs użytkownika aplikacji z drugą kawą.

Jeśli interfejs użytkownika nie wygląda podobnie, przed kontynuowaniem rozwiąż problem i rozwiąż go. Pozostaw konsolę otwartą i użyj jej na potrzeby testu trybu failover później.

Konfiguracja profilu usługi Traffic Manager została ukończona. Pozostaw otwartą stronę i użyj jej do monitorowania zmian stanu punktu końcowego w zdarzeniu trybu failover później.

Testowanie trybu failover z podstawowego do pomocniczego

W tej sekcji, aby przetestować tryb failover, ręcznie przełącz serwer usługi Azure SQL Database w tryb failover i przywróć kopię zapasową klastra usługi AKS, a następnie wróć po awarii przy użyciu witryny Azure Portal.

Przechodzenie w tryb failover do lokacji dodatkowej

Aby zasymulować awarię regionu podstawowego, zatrzymaj podstawowy klaster usługi AKS, wykonując kroki opisane w temacie Zatrzymywanie i uruchamianie klastra usługi Azure Kubernetes Service (AKS).

Następnie uruchom pomocniczy klaster usługi AKS, aby można go było przywrócić z kopii zapasowej klastra podstawowego.

Uwaga

Jeśli masz aplikacje WebSphere Liberty/Open Liberty uruchomione w klastrze docelowym przywracania, aby uniknąć konfliktów, wykonaj następujące kroki, aby wyczyścić aplikacje WebSphere Liberty/Open Liberty:

  • Połącz się z klastrem docelowym, uruchamiając polecenie dla cmdToConnectToCluster tego zapisanego wcześniej.

  • W przypadku aplikacji Open Liberty uruchom następujące polecenie:

    kubectl delete OpenLibertyApplication --all --all-namespaces
    
  • W przypadku aplikacji WebSphere Liberty uruchom następujące polecenie:

    kubectl delete WebSphereLibertyApplication --all --all-namespaces
    

Następnie przejdź do karty przeglądarki profilu usługi Traffic Manager i sprawdź, czy stan monitora dla obu punktów końcowych myPrimaryEndpoint i myFailoverEndpoint ma obniżoną wydajność.

Teraz wykonaj następujące kroki, aby przejść w tryb failover usługi Azure SQL Database z serwera podstawowego do serwera pomocniczego:

  1. Przejdź do karty przeglądarki grupy trybu failover usługi Azure SQL Database — na przykład failovergroup-mjg032524.
  2. Wybierz pozycję Tryb failover, a następnie wybierz pozycję Tak.
  3. Zaczekaj na jego zakończenie.

Następnie wykonaj następujące kroki, aby przywrócić kopię zapasową podstawowego klastra usługi AKS do pomocniczego klastra usługi AKS:

  1. W witrynie Azure Portal w polu wyszukiwania wpisz Centrum kopii zapasowej i wybierz pozycję Centrum kopii zapasowej w wynikach wyszukiwania.

  2. W obszarze Zarządzanie wybierz pozycję Wystąpienia kopii zapasowej. Filtruj według typu źródła danych Kubernetes Services. Znajdź wystąpienie kopii zapasowej utworzone w poprzedniej sekcji — na przykład <aks-cluster-name>\akseastusmjg032524.

  3. Wybierz wystąpienie kopii zapasowej.

  4. Wybierz przycisk Przywróć.

  5. Na stronie Przywracanie domyślne okienko to Punkt przywracania. Wybierz pozycję Wstecz , aby przejść do okienka Podstawy . W obszarze Region przywracania wybierz pozycję Region pomocniczy, a następnie wybierz pozycję Dalej: Punkt przywracania.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Przywróć podstawowe informacje.

  6. W okienku Punkt przywracania wybrano najnowszy punkt przywracania w warstwie Operacyjnej i Standardowej magazynu. Zachowaj wartości domyślne i wybierz pozycję Dalej: Przywróć parametry.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Punkt przywracania.

  7. W okienku Parametry przywracania wykonaj następujące kroki:

    1. W obszarze Wybierz klaster docelowy wybierz pomocniczy klaster usługi AKS utworzony w regionie Zachodnie stany USA. Napotkasz problem z uprawnieniami, jak pokazano na poniższym zrzucie ekranu. Wybierz pozycję Udziel uprawnienia , aby wyeliminować błędy.

    2. W obszarze Lokalizacja tymczasowa kopii zapasowej wybierz konto magazynu utworzone w regionie Zachodnie stany USA. Napotkasz problem z uprawnieniami, jak pokazano na poniższym zrzucie ekranu. Wybierz pozycję Przypisz brakujące role , aby wyeliminować błędy.

      Zrzut ekranu witryny Azure Portal przedstawiający okienko Parametry przywracania.

    3. Jeśli błędy nadal występują po zakończeniu przypisań ról, wybierz pozycję Odśwież , aby odświeżyć uprawnienia.

    4. W przypadku udzielania brakujących uprawnień, jeśli zostanie wyświetlony monit o określenie zakresu, zaakceptuj wartość domyślną.

    5. Wybierz Potwierdź. Powinien zostać wyświetlony komunikat Validation completed successfully. W przeciwnym razie rozwiąż problem, zanim przejdziesz dalej.

  8. Wybierz pozycję Dalej: Przejrzyj i przywróć. Następnie wybierz pozycję Przywróć. Przywracanie klastra trwa około 10 minut.

  9. Proces przywracania można monitorować z >>zadań tworzenia kopii zapasowej, jak pokazano na poniższym zrzucie ekranu:

    Zrzut ekranu witryny Azure Portal przedstawiający w toku magazyn CrossRegionRestore.

  10. Poczekaj chwilę, a następnie wybierz pozycję Odśwież. Powtarzaj operację, aż zobaczysz, że stan zostanie ukończony.

Następnie wykonaj następujące kroki, aby sprawdzić, czy przywracanie działa zgodnie z oczekiwaniami:

  1. Przejdź do terminalu, w którym nawiązaliśmy połączenie z pomocniczym klastrem usługi AKS.

  2. Uruchom następujące polecenie, aby pobrać przykładową aplikację przywróconą z kopii zapasowej:

    kubectl get OpenLibertyApplication
    

    Powinna zostać wyświetlona jedna aplikacja READY w danych wyjściowych:

    NAME                       IMAGE                                 EXPOSED   RECONCILED   RESOURCESREADY   READY   AGE
    javaee-cafe-cluster-agic   acr3984d1.azurecr.io/javaee-cafe:v1             True         True             True    3m
    
  3. Uruchom następujące polecenie, aby uzyskać stan zasobników utworzonych podczas wdrażania:

    kubectl get pods
    

    W danych wyjściowych powinny zostać wyświetlone trzy uruchomione zasobniki:

    NAME                                        READY   STATUS    RESTARTS   AGE
    javaee-cafe-cluster-agic-7bb57dd945-6ljll   1/1     Running   0          3m
    javaee-cafe-cluster-agic-7bb57dd945-h2xdf   1/1     Running   0          3m
    javaee-cafe-cluster-agic-7bb57dd945-k744w   1/1     Running   0          3m
    
  4. Przejdź do karty przeglądarki profilu usługi Traffic Manager, a następnie odśwież stronę, aż zobaczysz, że stan monitora punktu końcowego myFailoverEndpoint to Online , a stan monitora punktu końcowego myPrimaryEndpoint ma obniżoną wydajność.

  5. Przejdź do karty przeglądarki z nazwą DNS profilu usługi Traffic Manager — na przykład https://tmprofile-mjg032524.trafficmanager.net. Odśwież stronę i powinny być widoczne te same dane utrwalone w tabeli danych aplikacji i wyświetlonej tabeli sesji. Widoczny interfejs użytkownika powinien być podobny do poniższego zrzutu ekranu:

    Zrzut ekranu przedstawiający przykładowy interfejs użytkownika aplikacji po przejściu w tryb failover.

    Jeśli nie obserwujesz tego zachowania, może to być spowodowane tym, że aktualizacja dns przez usługę Traffic Manager zajmuje więcej czasu, aby wskazywała lokację trybu failover. Problem może być również taki, że przeglądarka buforowała wynik rozpoznawania nazw DNS wskazujący witrynę, która zakończyła się niepowodzeniem. Poczekaj chwilę i odśwież stronę ponownie.

    Uwaga

    Aplikacja konfiguruje limit czasu sesji jako 1 godzinę. W zależności od tego, ile czasu zajęło przejście w tryb failover, dane sesji mogą nie być wyświetlane w sekcji Nowa kawa przykładowego interfejsu użytkownika aplikacji, jeśli upłynął więcej niż jedną godzinę wcześniej.

Ponowne włączanie ochrony lokacji trybu failover

Teraz, gdy region pomocniczy jest lokacją trybu failover i jest aktywny, należy ponownie chronić ją za pomocą usługi Azure Backup.

Najpierw wykonaj te same kroki w sekcji Tworzenie kopii zapasowej klastra usługi AKS, aby utworzyć kopię zapasową pomocniczego klastra usługi AKS, z wyjątkiem następujących różnic:

  1. W przypadku tworzenia magazynu kopii zapasowych wykonaj następujące kroki:
    1. W obszarze Grupa zasobów wybierz istniejącą grupę zasobów wdrożona w regionie pomocniczym — na przykład liberty-aks-westus-mjg032524.
    2. W polu Nazwa magazynu kopii zapasowych wprowadź unikatową wartość — na przykład aks-backup-vault-westus-mjg032524.
    3. W obszarze Region wybierz pozycję Zachodnie stany USA.
  2. W przypadku tworzenia zasad tworzenia kopii zapasowych wykonaj następujące kroki:
    1. Wybierz magazyn kopii zapasowych utworzony w regionie pomocniczym — na przykład aks-backup-vault-westus-mjg032524.
  3. W przypadku konfigurowania kopii zapasowych wykonaj następujące kroki:
    1. Wybierz magazyn kopii zapasowych utworzony w regionie pomocniczym — na przykład aks-backup-vault-westus-mjg032524.
    2. W polu Nazwa wystąpienia kopii zapasowej wprowadź unikatową nazwę — na przykład akswestusmjg032524.

Następnie wykonaj te same kroki w sekcji Oczekiwanie na utworzenie standardowej kopii zapasowej magazynu, aż będzie dostępna standardowa kopia zapasowa pomocniczego klastra usługi AKS, z wyjątkiem wybrania wystąpienia kopii zapasowej na stronie Kopia zapasowa pomocniczego klastra usługi AKS.

Powrót po awarii do lokacji głównej

Wykonaj te same kroki w sekcji Tryb failover w lokacji dodatkowej, aby powrócić po awarii do lokacji głównej, w tym do serwera bazy danych i klastra usługi AKS, z wyjątkiem następujących różnic:

  1. Podczas przygotowywania do powrotu po awarii wykonaj następujące kroki:

    1. Zatrzymaj pomocniczy klaster usługi AKS, aby zasymulować awarię regionu pomocniczego.
    2. Uruchom podstawowy klaster usługi AKS.
    3. Połącz się z podstawowym klastrem usługi AKS i wyczyść aplikacje WebSphere Liberty/Open Liberty.
  2. Po przywróceniu kopii zapasowej pomocniczego klastra usługi AKS do podstawowego klastra usługi AKS wykonaj następujące kroki:

    1. Wybierz wystąpienie kopii zapasowej w regionie pomocniczym — na przykład <aks-cluster-name>\akswestusmjg032524.
    2. W okienku Parametry przywracania wykonaj następujące czynności:
      1. W obszarze Wybierz klaster docelowy wybierz podstawowy klaster usługi AKS utworzony w regionie Wschodnie stany USA.
      2. W obszarze Lokalizacja tymczasowa kopii zapasowej wybierz konto magazynu utworzone w regionie Wschodnie stany USA.
  3. Po sprawdzeniu, czy przywracanie działa zgodnie z oczekiwaniami, wykonaj następujące kroki:

    1. Przejdź do terminalu, w którym nawiązaliśmy połączenie z podstawowym klastrem usługi AKS, i sprawdź, czy aplikacja została pomyślnie przywrócona.
    2. Przejdź do karty przeglądarki profilu usługi Traffic Manager, a następnie odśwież stronę, aż zobaczysz, że stan monitora punktu końcowego myPrimaryEndpoint to Online , a stan monitora punktu końcowego myFailoverEndpoint ma obniżoną wydajność.

Czyszczenie zasobów

Jeśli nie zamierzasz nadal korzystać z klastrów WebSphere Liberty/Open Liberty i innych składników, wykonaj następujące kroki, aby usunąć grupy zasobów, aby wyczyścić zasoby używane w tym samouczku:

  1. W witrynie Azure Portal w polu wyszukiwania wprowadź nazwę grupy zasobów serwerów usługi Azure SQL Database — na przykład myResourceGroup — i wybierz dopasowaną grupę zasobów z wyników wyszukiwania.
  2. Wybierz pozycję Usuń grupę zasobów.
  3. W polu Wprowadź nazwę grupy zasobów, aby potwierdzić usunięcie, wprowadź nazwę grupy zasobów.
  4. Wybierz Usuń.
  5. Powtórz kroki 1–4 dla grupy zasobów usługi Traffic Manager — na przykład myResourceGroupTM1.
  6. W witrynie Azure Portal w polu wyszukiwania wpisz Magazyny kopii zapasowych i wybierz pozycję Magazyny kopii zapasowych z wyników wyszukiwania. Powinny zostać wyświetlone dwa magazyny usługi Backup — na przykład aks-backup-vault-eastus-mjg032524 i aks-backup-vault-westus-mjg032524. Dla każdego z nich wykonaj następujące czynności:
    1. Wybierz, aby otworzyć magazyn kopii zapasowych.
    2. Wybierz pozycję >Aktualizacji usuwania>nietrwałego. Obok pozycji Włącz usuwanie nietrwałe usuń zaznaczenie pola wyboru, a następnie wybierz pozycję Aktualizuj.
    3. Wybierz pozycję Zarządzaj>wystąpieniami kopii zapasowych. Filtruj według typu źródła danych Kubernetes Services. Wybierz utworzone wystąpienie, a następnie usuń je.
  7. Poczekaj na usunięcie dwóch wystąpień kopii zapasowej.
  8. Powtórz kroki 1–4 dla grupy zasobów klastra podstawowego — na przykład liberty-aks-eastus-mjg032524.
  9. Powtórz kroki 1–4 dla grupy zasobów klastra pomocniczego — na przykład liberty-aks-westus-mjg032524.

Następne kroki

W tym samouczku skonfigurowaliśmy rozwiązanie WebSphere Liberty/Open Liberty HA/DR składające się z warstwy infrastruktury aplikacji aktywne-pasywne z warstwą bazy danych aktywne-pasywne i w których obie warstwy obejmują dwie lokacje geograficznie różne. W pierwszej lokacji zarówno warstwa infrastruktury aplikacji, jak i warstwa bazy danych są aktywne. W drugiej lokacji domena pomocnicza jest przywracana za pomocą usługi Azure Backup, a pomocnicza baza danych jest w stanie wstrzymania.

Zapoznaj się z następującymi odwołaniami, aby uzyskać więcej opcji tworzenia rozwiązań wysokiej dostępności/odzyskiwania po awarii i uruchamiania platformy WebSphere na platformie Azure: