gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
In deze zelfstudie ziet u een eenvoudige en effectieve manier om hoge beschikbaarheid en herstel na noodgevallen (HA/DR) voor Java te implementeren met behulp van WebSphere Liberty/Open Liberty in Azure Kubernetes Service (AKS). De oplossing illustreert hoe u een lage RTO (Recovery Time Objective) en Recovery Point Objective (RPO) kunt bereiken met behulp van een eenvoudige databasegestuurde Jakarta EE-toepassing die wordt uitgevoerd op WebSphere Liberty/Open Liberty.
HA/DR is een complex onderwerp, met veel mogelijke oplossingen. De beste oplossing is afhankelijk van uw unieke vereisten. Zie de resources aan het einde van dit artikel voor andere manieren om HA/DR te implementeren.
In deze zelfstudie leert u het volgende:
In het volgende diagram ziet u de architectuur die u bouwt:
Azure Traffic Manager controleert de status van uw regio's en routeert het verkeer dienovereenkomstig naar de toepassingslaag. Zowel de primaire regio als de secundaire regio hebben een volledige implementatie van het Liberty-cluster. Alleen de primaire regio onderhoudt echter actief netwerkaanvragen van de gebruikers. De secundaire regio is passief en wordt alleen geactiveerd om verkeer te ontvangen wanneer de primaire regio een serviceonderbreking ondervindt. Azure Traffic Manager maakt gebruik van de statuscontrolefunctie van de Azure-toepassing Gateway om deze voorwaardelijke routering te implementeren. Het primaire cluster wordt uitgevoerd en het secundaire cluster wordt afgesloten. De RTO voor geo-failover van de toepassingslaag is afhankelijk van de tijd voor het starten van virtuele machines (VM's) en het uitvoeren van het secundaire cluster. De RPO is afhankelijk van de Azure SQL Database, omdat de gegevens worden bewaard en gerepliceerd in de Azure SQL Database-failovergroep.
De databaselaag bestaat uit een Azure SQL Database-failovergroep met een primaire server en een secundaire server. Het eindpunt van de lees-/schrijflistener verwijst altijd naar de primaire server en is verbonden met een WebSphere Liberty/Open Liberty-cluster in elke regio. Met een geo-failover worden alle secundaire databases in de groep overgeschakeld naar de primaire rol. Zie Overzicht van bedrijfscontinuïteit met Azure SQL Database voor de geo-failover RPO en RTO van Azure SQL Database.
Deze zelfstudie is geschreven met de Azure Backup- en Azure SQL Database-services, omdat de zelfstudie afhankelijk is van de ha-functies van deze services. Andere databasekeuzen zijn mogelijk, maar u moet rekening houden met de hoge beschikbaarheidsfuncties van elke database die u kiest.
Owner
rol of de Contributor
User Access Administrator
rollen in het abonnement hebt toegewezen. U kunt de toewijzing controleren door de stappen in Azure-roltoewijzingen weergeven te volgen met behulp van Azure Portal.In deze sectie maakt u een Azure SQL Database-failovergroep in gekoppelde regio's voor gebruik met uw WebSphere Liberty/Open Liberty-clusters en -app. In een latere sectie configureert u WebSphere Liberty/Open Liberty om de sessiegegevens op te slaan in deze database. In deze praktijk wordt verwezen naar het maken van een tabel voor sessiepersistentie.
Maak eerst de primaire Azure SQL Database door de stappen in de Azure-portal in quickstart te volgen: Een individuele database maken - Azure SQL Database. Volg de stappen tot, maar niet inclusief, de sectie Resources opschonen. Gebruik de volgende aanwijzingen terwijl u het artikel doorloopt en ga vervolgens terug naar dit artikel nadat u de Azure SQL Database hebt gemaakt en geconfigureerd.
Wanneer u bij de sectie Een individuele database maakt, gebruikt u de volgende stappen:
myResourceGroup
bijvoorbeeld.mySampleDatabase
bijvoorbeeld.sqlserverprimary-mjg032524
in.azureuser
.Maak vervolgens een Azure SQL Database-failovergroep door de Stappen in Azure Portal te volgen in Een failovergroep configureren voor Azure SQL Database. U hebt alleen de volgende secties nodig: Een failovergroep maken en geplande failover testen. Gebruik de volgende stappen tijdens het doorlopen van het artikel en ga vervolgens terug naar dit artikel nadat u de Azure SQL Database-failovergroep hebt gemaakt en geconfigureerd:
Wanneer u de sectie Failovergroep maken bereikt, voert u de volgende stappen uit:
failovergroup-mjg032524
bijvoorbeeld.sqlserversecondary-mjg032524
bijvoorbeeld.mySampleDatabase
bijvoorbeeld.Nadat u alle stappen in de sectie Geplande failover testen hebt voltooid, houdt u de pagina failovergroep open en gebruikt u deze voor de failovertest van de WebSphere Liberty/Open Liberty-clusters later.
Notitie
In dit artikel wordt u begeleid bij het maken van een enkele Azure SQL Database met SQL-verificatie vanwege de eenvoud, omdat de HA/DR-configuratie waar dit artikel op focust al erg complex is. Een veiligere procedure is het gebruik van Microsoft Entra-verificatie voor Azure SQL voor verificatie van de databaseserververbinding. Zie Een Java-toepassing implementeren met Open Liberty of WebSphere Liberty op een AKS-cluster (Azure Kubernetes Service)voor meer informatie over het configureren van de databaseverbinding met Microsoft Entra-verificatie.
In deze sectie maakt u het primaire WebSphere Liberty/Open Liberty-cluster op AKS met behulp van de AANBIEDING IBM WebSphere Liberty en Open Liberty in Azure Kubernetes Service . Het secundaire cluster wordt hersteld vanuit het primaire cluster tijdens de failover met behulp van Azure Backup later.
Gebruik de volgende stappen om het primaire cluster te implementeren:
Open de aanbieding IBM WebSphere Liberty en Open Liberty in Azure Kubernetes Service in uw browser en selecteer Maken. U ziet het deelvenster Basisbeginselen van de aanbieding.
Gebruik de volgende stappen om het deelvenster Basisbeginselen in te vullen:
Wacht even. Alle velden worden vooraf ingevuld met de standaardwaarden in het AKS-deelvenster . Selecteer Volgende om naar het deelvenster Taakverdeling te gaan.
Gebruik de volgende stappen om het taakverdelingsvenster in te vullen:
Gebruik de volgende stappen om het deelvenster Operator en toepassing in te vullen:
Laat de standaardwaarden voor alle velden staan.
Notitie
In deze zelfstudie wordt Open Liberty Operator geïmplementeerd met behulp van de standaardinstellingen. U kunt WebSphere Liberty Operator desgewenst implementeren door Ja voor IBM te selecteren.
Selecteer Controleren + maken.
Wacht totdat de laatste validatie wordt uitgevoerd... is voltooid en selecteer vervolgens Maken.
Na een tijdje ziet u de implementatiepagina waar de implementatie wordt uitgevoerd, wordt weergegeven.
Notitie
Als er problemen optreden tijdens het uitvoeren van de definitieve validatie..., lost u deze op en probeert u het opnieuw.
Afhankelijk van netwerkvoorwaarden en andere activiteiten in uw geselecteerde regio kan het tot ongeveer 30 minuten duren voordat de implementatie is voltooid. Daarna ziet u de tekst die uw implementatie is voltooid op de implementatiepagina.
U hebt een AKS-cluster, een ACR-exemplaar (Azure Container Registry) en een Azure-toepassing Gateway in de primaire regio geïmplementeerd. Het AKS-cluster is het doelcomputingplatform waarop uw app wordt geïmplementeerd en uitgevoerd. In het ACR-exemplaar wordt de toepassingsinstallatiekopie opgeslagen die AKS ophaalt tijdens de implementatie van de app. De Azure-toepassing Gateway fungeert als load balancer voor de toepassing die is geïmplementeerd in het AKS-cluster.
Gebruik de volgende stappen om deze belangrijke onderdelen te controleren voordat u naar de volgende stap gaat:
Ga terug naar de pagina Implementatie en selecteer vervolgens Uitvoer.
Kopieer de waarde van de eigenschap cmdToConnectToCluster. Open een terminal, plak de gekopieerde opdracht en druk op Enter om uit te voeren. Er wordt een bericht weergegeven dat lijkt op het volgende voorbeeld dat in de uitvoer is opgenomen:
Merged "cluster3984d1-admin" as current context in <your-user>\.kube\config
Sla de opdracht op zodat u deze later kunt gebruiken om verbinding te maken met het cluster.
Voer kubectl get pod --all-namespaces
in de terminal uit om alle pods weer te geven die worden uitgevoerd op het AKS-cluster. Als het goed is, ziet u uitvoer die lijkt op het volgende voorbeeld:
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
Voer kubectl get secret
in de terminal uit om alle geheimen weer te geven die zijn geïnstalleerd op het AKS-cluster. U ziet nu één geheim in de uitvoer, zoals wordt weergegeven in het volgende voorbeeld:
NAME TYPE DATA AGE
secret3984d1 kubernetes.io/tls 2 24m
Dit geheim is een TLS-geheim met certificaat- en sleutelgegevens voor TLS-verkeer. Kopieer en sla de naam van het geheim op, bijvoorbeeld secret3984d1
, u gebruikt het later in de app-implementatie.
Ga terug naar de pagina Uitvoer. Kopieer de waarde van de eigenschap cmdToLoginInRegistry. Plak de gekopieerde opdracht in de terminal en druk op Enter om uit te voeren. Als het goed is, ziet u Aanmelden voltooid in de uitvoer. Houd de terminal open en gebruik deze voor verdere configuratie van het WebSphere Liberty/Open Liberty-cluster later.
Gebruik de volgende stappen om de naam en DNS-naam van het openbare IP-adres van de Azure-toepassing-gateway op te halen. U gebruikt deze later voor app-implementatie en de Azure Traffic Manager-installatie.
Het ACR-exemplaar is ontworpen voor het opslaan van toepassingsinstallatiekopieën voor zowel primaire als secundaire clusters. Gebruik de volgende stappen om geo-replicaties in te schakelen voor het ACR-exemplaar:
Voer in azure Portal in het zoekvak Resourcegroepen in en selecteer Resourcegroepen in de zoekresultaten.
Selecteer de naam van de resourcegroep voor uw primaire regio, bijvoorbeeld liberty-aks-eastus-mjg032524.
Zoek de containerregister resource met de prefix acren selecteer deze om deze te openen.
Selecteer Eigenschappen. Voor een prijsplan selecteert u Premium en vervolgens Opslaan. Wachten tot het proces is voltooid.
Selecteer Geo-replicaties en selecteer vervolgens Toevoegen. Voor Locatie selecteert u VS - west en selecteert u Vervolgens Maken. Wachten tot het proces is voltooid.
Wacht even en selecteer Vernieuwen. Herhaal de bewerking totdat er twee locaties worden weergegeven en status gereed is.
Gebruik de volgende stappen om de aanmeldingsreferenties van ACR op te halen. U gebruikt deze later voor app-implementatie.
Selecteer Toegangssleutels.
Kopieer en bewaar de waarden voor registernaam en aanmeldingsserver.
Notitie
In dit artikel wordt de opdracht az acr build
gebruikt om de Docker-installatiekopieën te bouwen en naar het Container Registry te pushen, zonder username
en password
van het Container Registry te gebruiken. Het is nog steeds mogelijk om gebruikersnaam en wachtwoord te gebruiken met docker login
en docker push
. Het gebruik van gebruikersnaam en wachtwoord is minder veilig dan verificatie zonder wachtwoord.
Gebruik de volgende stappen om later een CRUD Java/Jakarta EE-voorbeeldtoepassing te implementeren en uit te voeren op webSphere Liberty/Open Liberty-cluster voor failovertest voor herstel na noodgevallen:
Download het voorbeeld met behulp van de volgende opdrachten:
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20240325
De toepassing configureert een gegevensbron jdbc/JavaEECafeDB die verbinding maakt met de Azure SQL Database die u eerder hebt geïmplementeerd. De gegevensbron wordt gebruikt voor het opslaan van HTTP-sessiegegevens, waardoor failover en taakverdeling mogelijk is in een cluster van WebSphere Liberty/Open Liberty-servers. De voorbeeld-app configureert ook een persistentieschema om toepassingsgegevens coffee
in dezelfde gegevensbron te behouden. U ziet dat de contexthoofdmap van het voorbeeld is geconfigureerd zoals /
in het server.xml-bestand .
Gebruik de volgende opdrachten om omgevingsvariabelen te definiëren met de waarden die u eerder hebt opgeslagen:
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>
Gebruik de opdracht az acr build
om de Docker-installatiekopieën te bouwen en naar het Container Registry te pushen, zoals wordt weergegeven in het volgende voorbeeld:
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 \
.
Gebruik de volgende opdrachten om de voorbeeld-app te implementeren in het AKS-cluster:
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
Voer de volgende opdracht uit om de voorbeeld-app op te halen die u hebt geïmplementeerd:
# If you deployed WebSphere Liberty Operator previously, use "WebSphereLibertyApplication" instead of "OpenLibertyApplication"
kubectl get OpenLibertyApplication
In de uitvoer ziet u één READY-toepassing :
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY AGE
javaee-cafe-cluster-agic acr3984d1.azurecr.io/javaee-cafe:v1 True True True 45s
Voer de volgende opdracht uit om de status op te halen van de pods die tijdens de implementatie zijn gemaakt:
kubectl get pods
In het volgende voorbeeld wordt aangegeven dat alle pods worden uitgevoerd. Als u vergelijkbare uitvoer niet ziet, wacht u even en herhaalt u de bewerking.
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
Gebruik de volgende stappen om te controleren of de app wordt uitgevoerd zoals verwacht:
Open op een nieuw browsertabblad de DNS-naam van het openbare IP-adres van de Azure-toepassing-gateway die u eerder hebt opgeslagen. Gebruik het https
protocol, bijvoorbeeld https://olgw3984d1.eastus.cloudapp.azure.com
. U ziet nu de welkomstpagina van de voorbeeld-app.
Maak een nieuwe koffie met naam en prijs, bijvoorbeeld Koffie 1 met prijs 10 , die wordt bewaard in zowel de tabel met toepassingsgegevens als de sessietabel van de database. De gebruikersinterface die u ziet, moet er ongeveer uitzien als in de volgende schermopname:
Als uw gebruikersinterface er niet op lijkt, kunt u het probleem oplossen voordat u doorgaat.
In deze sectie stelt u herstel na noodgevallen in voor het AKS-cluster in de primaire regio met behulp van Azure Backup.
AKS-back-up maakt gebruik van een blobcontainer voor het opslaan van de AKS-clusterbronnen. U maakt een andere blobcontainer als faseringslocatie voor gebruik tijdens het herstellen van meerdere regio's.
Gebruik de volgende stappen om een opslagaccount en twee containers te maken. Sommige van deze stappen leiden u naar andere handleidingen.
liberty-aks-eastus-mjg032524
bijvoorbeeld.storageeastusmjg032524
bijvoorbeeld.aks-backup-ext
.staging
.Voordat u doorgaat, gebruikt u de volgende stappen om de AKS-back-upextensie te installeren in het cluster in de primaire regio:
Schakel de CSI-stuurprogramma's en momentopnamen voor uw cluster in. Werk voor de volgende az aks update
opdracht de waarde van de Bash-variabele RG_NAME
bij naar de naam van uw resourcegroep, bijvoorbeeld liberty-aks-eastus-mjg032524
, en voer deze uit in uw lokale Bash-terminal.
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
Het duurt ongeveer 5 minuten om de stuurprogramma's in te schakelen. Zorg ervoor dat de opdrachten zonder fouten zijn voltooid voordat u doorgaat.
Open de resourcegroep waarop AKS is geïmplementeerd, liberty-aks-eastus-mjg032524
bijvoorbeeld. Selecteer het AKS-cluster in de lijst met resources.
Selecteer Onder Instellingen van de AKS-landingspagina back-up en selecteer vervolgens Extensie installeren.
Selecteer Volgende op de pagina AKS Backup-extensie installeren. Selecteer het opslagaccount storageeastusmjg032524
en de blobcontainer aks-backup-ext
die in dezelfde resourcegroep is gemaakt. Selecteer Volgende en vervolgens Maken. Het duurt ongeveer vijf minuten om deze stap te voltooien.
Gebruik de volgende stappen om een back-up te maken van het AKS-cluster:
Zoek in Azure Portal in het zoekvak naar Back-upkluizen. U ziet het onder Services. Selecteer het.
Volg de stappen in Back-up van Azure Kubernetes Service met behulp van Azure Backup om AKS Backup in te schakelen voor het primaire cluster. Voer de stappen uit tot, maar niet inclusief, de sectie Use hooks tijdens de back-upsectie van AKS en gebruik de rest van de stappen in deze sectie om wijzigingen aan te brengen.
Wanneer u bij de sectie Een back-upkluis maken komt, voert u de volgende stappen uit:
Voor stap 1 selecteert u voor de resourcegroep de bestaande resourcegroep waarin het primaire cluster is geïmplementeerd, liberty-aks-eastus-mjg032524
bijvoorbeeld.
Voer voor de naam van de Backup-kluis een unieke waarde in, aks-backup-vault-eastus-mjg032524
bijvoorbeeld.
Selecteer bij RegioVS - oost.
Voor redundantie van back-upopslag selecteert u Globaal redundant.
Voor stap 2 selecteert u Inschakelen voor herstel tussen regio's.
Wanneer u bij het gedeelte Back-upbeleid maken bent, voert u de volgende stappen uit:
Gebruik in de sectie Back-ups configureren de volgende stappen:
Sla stap 1-5 over. Dit zijn voor de installatie van de AKS-extensie. Begin bij stap 6 voor het AKS-cluster in de primaire regio.
Voor stap 7 selecteert u voor Vault de back-upkluis die u hebt gemaakt in dezelfde resourcegroep, aks-backup-vault-eastus-mjg032524
bijvoorbeeld. Wanneer u machtigingsfouten krijgt, selecteert u Machtigingen verlenen om door te gaan. Nadat de implementatie van de machtiging is voltooid, selecteert u Opnieuwvalidate om de roltoewijzingen te vernieuwen als de fout nog steeds wordt weergegeven.
Voor stap 10 zoekt u Resources selecteren om een back-up te maken. van het back-upexemplaren. Voor Andere opties selecteert u alle opties. Zorg ervoor dat Geheimen opnemen is geselecteerd.
Voor stap 11 treedt er een roltoewijzingsfout op. Volg stap 12-14 om de fout te verhelpen.
Nadat u back-up configureren in stap 15 hebt geselecteerd, keert u terug naar de pagina Back-up. Wacht even en selecteer Vernieuwen. Herhaal de bewerking totdat u ziet dat het back-upexemplaren wordt vermeld en de beveiligingsstatus is geconfigureerd.
In AKS is de Vault-Standard-laag de enige laag die ondersteuning biedt voor georedundantie en herstel tussen regio's. Zoals aangegeven in welke opslaglaag voor back-ups wordt AKS-back-up ondersteund?, 'Er wordt slechts één gepland herstelpunt per dag verplaatst naar de kluislaag'. U moet wachten tot er een standaardback-up van de kluis plaatsvindt. Een goede ondergrens is om maximaal 24 uur na het voltooien van de vorige stap te wachten voordat u herstelt.
Gebruik de volgende stappen om te controleren of er een standaardback-up van de kluis beschikbaar is:
Selecteer op de pagina Back-up van het primaire AKS-cluster het back-upexemplaren.
Wacht even en selecteer Vernieuwen. Herhaal de bewerking totdat u ziet dat ten minste één operationeel en kluisstandaard herstelpunt wordt vermeld in de sectie HERSTELPUNTEN .
Stel uw secundaire AKS-cluster in voor later herstel terwijl u wacht tot er een standaardback-up van de kluis is voordat het primaire AKS-cluster wordt uitgevoerd.
Gebruik dezelfde stappen in de sectie Het primaire WebSphere Liberty/Open Liberty-cluster implementeren om het secundaire AKS-cluster in te stellen in de secundaire regio, met uitzondering van de volgende verschillen:
Gebruik in het deelvenster Basisbeginselen de volgende stappen:
Gebruik in het AKS-deelvenster de volgende stappen:
Gebruik dezelfde stappen in de sectie Controleer de implementatie van het cluster om de implementatie in de secundaire regio te controleren, met uitzondering van de volgende verschillen:
liberty-aks-westus-mjg032524
wanneer u de naam en DNS-naam van het openbare IP-adres van de Azure-toepassing-gateway opzoekt die in de secundaire regio is geïmplementeerd.Gebruik dezelfde stappen in de sectie Een opslagaccount maken om een opslagaccount in secundaire regio te maken, met uitzondering van de volgende verschillen:
liberty-aks-westus-mjg032524
bijvoorbeeld.storagewestusmjg032524
bijvoorbeeld.Gebruik dezelfde stappen in de sectie De AKS-back-upextensie inschakelen om de AKS-back-upextensie voor het cluster in de secundaire regio te installeren, met uitzondering van de volgende verschillen:
RG_NAME
bij naar de resourcegroep in de secundaire regio, liberty-aks-westus-mjg032524
bijvoorbeeld.liberty-aks-westus-mjg032524
bijvoorbeeld.storagewestusmjg032524
bijvoorbeeld.Als u kosten wilt besparen, stopt u het AKS-cluster in de secundaire regio door de stappen in Stoppen en starten van een AKS-cluster (Azure Kubernetes Service) uit te voeren. U moet het starten voordat u het cluster later herstelt.
De standaardback-up van de kluis is vermeld in de sectie Wacht tot er een standaardback-up van de kluis plaatsvindt. Nadat u hebt gezien dat er een standaardback-up beschikbaar is, kunt u een Azure Traffic Manager maken voor het distribueren van verkeer naar uw openbare toepassingen in de wereldwijde Azure-regio's. Het primaire eindpunt verwijst naar het openbare IP-adres van de Azure-toepassing-gateway in de primaire regio. Het secundaire eindpunt verwijst naar het openbare IP-adres van de Azure-toepassing-gateway in de secundaire regio.
Maak een Azure Traffic Manager-profiel door de stappen in quickstart te volgen: Een Traffic Manager-profiel maken met behulp van Azure Portal. U hebt alleen de volgende secties nodig: Een Traffic Manager-profiel maken en Traffic Manager-eindpunten toevoegen. Gebruik de volgende stappen tijdens het doorlopen van deze secties en ga vervolgens terug naar dit artikel nadat u Azure Traffic Manager hebt gemaakt en geconfigureerd:
Wanneer u bij de sectie Een Traffic Manager-profiel maken, in stap 2, voor traffic manager-profiel maken, gebruikt u de volgende stappen:
tmprofile-mjg032524
bijvoorbeeld.myResourceGroupTM1
bijvoorbeeld.Wanneer u de sectie Traffic Manager-eindpunten toevoegt, gebruikt u de volgende stappen:
myFailoverEndpoint
de volgende stappen: myPrimaryEndpoint
online is en de status Controleren voor eindpunt myFailoverEndpoint
is gedegradeerd.Gebruik vervolgens de volgende stappen om te controleren of de voorbeeld-app die is geïmplementeerd in het primaire cluster, toegankelijk is vanuit het Traffic Manager-profiel:
Selecteer Overzicht van het Traffic Manager-profiel dat u hebt gemaakt.
Controleer en kopieer de DNS-naam van het Traffic Manager-profiel en vervang het protocol http
door https
. Bijvoorbeeld: https://tmprofile-mjg032524.trafficmanager.net
.
Open de URL in een nieuw browsertabblad. U ziet dat de koffie die u eerder hebt gemaakt, wordt weergegeven op de pagina.
Maak nog een koffie met een andere naam en prijs, bijvoorbeeld Koffie 2 met prijs 20 , die wordt bewaard in zowel de tabel met toepassingsgegevens als de sessietabel van de database. De gebruikersinterface die u ziet, moet er ongeveer uitzien als in de volgende schermopname:
Als uw gebruikersinterface er niet op lijkt, kunt u het probleem oplossen voordat u doorgaat. Houd de console open en gebruik deze later voor de failovertest.
U hebt de configuratie van het Traffic Manager-profiel voltooid. Houd de pagina open en u gebruikt deze voor het controleren van de wijziging van de eindpuntstatus in een failover-gebeurtenis later.
In deze sectie voert u handmatig een failover uit van uw Azure SQL Database-server en herstelt u de back-up van uw AKS-cluster en voert u een failback uit met behulp van Azure Portal.
Als u een storing in de primaire regio wilt simuleren, stopt u het primaire AKS-cluster door de stappen te volgen in Stoppen en een AKS-cluster (Azure Kubernetes Service) te starten.
Start vervolgens het secundaire AKS-cluster, zodat het kan worden hersteld vanuit de back-up van het primaire cluster.
Notitie
Als u WebSphere Liberty/Open Liberty-toepassingen hebt die worden uitgevoerd op het doelcluster voor herstel, gebruikt u de volgende stappen om WebSphere Liberty/Open Liberty-toepassingen op te schonen:
Maak verbinding met het doelcluster door de opdracht uit te voeren die cmdToConnectToCluster
u eerder hebt opgeslagen.
Voer voor Open Liberty-toepassingen de volgende opdracht uit:
kubectl delete OpenLibertyApplication --all --all-namespaces
Voer voor WebSphere Liberty-toepassingen de volgende opdracht uit:
kubectl delete WebSphereLibertyApplication --all --all-namespaces
Ga vervolgens naar het browsertabblad van uw Traffic Manager-profiel en controleer of de monitorstatus voor beide eindpunten myPrimaryEndpoint
en myFailoverEndpoint
gedegradeerd is.
Gebruik nu de volgende stappen om een failover uit te voeren van de Azure SQL Database van de primaire server naar de secundaire server:
failovergroup-mjg032524
bijvoorbeeld.Gebruik vervolgens de volgende stappen om de back-up van het primaire AKS-cluster te herstellen naar het secundaire AKS-cluster:
Voer in azure Portal in het zoekvak Back-upcentrum in en selecteer Back-upcentrum in de zoekresultaten.
Selecteer back-upexemplaren onder Beheren. Filter op het gegevensbrontype Kubernetes Services. Zoek het back-upexemplaar dat u in de vorige sectie hebt gemaakt, bijvoorbeeld <aks-clusternaam>\akseastusmjg032524.
Selecteer het back-upexemplaren.
Selecteer Terugzetten.
Op de pagina Herstellen is het standaarddeelvenster Herstelpunt. Selecteer Vorige om naar het deelvenster Basisbeginselen te gaan. Selecteer secundaire regio voor Herstelregio en selecteer vervolgens Volgende: Herstelpunt.
In het deelvenster Herstelpunt is het meest recente operationele en kluisstandaard herstelpunt geselecteerd. Behoud de standaardwaarden en selecteer Volgende: Parameters herstellen.
Gebruik in het deelvenster Parameters herstellen de volgende stappen:
Selecteer voor Doelcluster selecteren het secundaire AKS-cluster dat u hebt gemaakt in de regio VS - west. U treedt op een machtigingsprobleem op, zoals wordt weergegeven in de volgende schermopname. Selecteer Machtiging verlenen om de fouten te beperken.
Selecteer voor back-uplocatie voor fasering het opslagaccount dat u hebt gemaakt in de regio VS - west. U treedt op een machtigingsprobleem op, zoals wordt weergegeven in de volgende schermopname. Selecteer Ontbrekende rollen toewijzen om de fouten te beperken.
Als de fouten nog steeds optreden nadat de roltoewijzingen zijn voltooid, selecteert u Opnieuwvalidate om de machtigingen te vernieuwen.
Wanneer u ontbrekende machtigingen verleent, als u wordt gevraagd om een bereik op te geven, accepteert u de standaardwaarde.
Selecteer Valideren. Als het goed is, ziet u het bericht. Validation completed successfully
Anders kunt u het probleem oplossen en oplossen voordat u doorgaat.
Selecteer Volgende: Controleren en herstellen. Selecteer Vervolgens Herstellen. Het duurt ongeveer 10 minuten om het cluster te herstellen.
U kunt het herstelproces bewaken vanuit back-upcentrumbewaking>en rapportageback-uptaken>, zoals wordt weergegeven in de volgende schermopname:
Wacht even en selecteer Vernieuwen. Herhaal de bewerking totdat u ziet dat de status is voltooid.
Gebruik vervolgens de volgende stappen om te controleren of het herstellen werkt zoals verwacht:
Schakel over naar de terminal waar u verbinding hebt gemaakt met het secundaire AKS-cluster.
Voer de volgende opdracht uit om de voorbeeld-app te herstellen vanuit de back-up:
kubectl get OpenLibertyApplication
In de uitvoer ziet u één READY-toepassing :
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY AGE
javaee-cafe-cluster-agic acr3984d1.azurecr.io/javaee-cafe:v1 True True True 3m
Voer de volgende opdracht uit om de status op te halen van de pods die tijdens de implementatie zijn gemaakt:
kubectl get pods
Als het goed is, ziet u drie actieve pods in de uitvoer:
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
Ga naar het browsertabblad van uw Traffic Manager-profiel en vernieuw de pagina totdat u ziet dat de status Controleren voor eindpunt myFailoverEndpoint
online is en de status controleren voor eindpunt myPrimaryEndpoint
is gedegradeerd.
Ga naar het browsertabblad met de DNS-naam van het Traffic Manager-profiel, https://tmprofile-mjg032524.trafficmanager.net
bijvoorbeeld. Vernieuw de pagina en u ziet dezelfde gegevens die in de tabel met toepassingsgegevens en de sessietabel worden weergegeven. De gebruikersinterface die u ziet, moet er ongeveer uitzien als in de volgende schermopname:
Als u dit gedrag niet ziet, kan het zijn dat traffic manager de tijd neemt om DNS bij te werken om naar de failoversite te verwijzen. Het probleem kan ook zijn dat uw browser het resultaat van de DNS-naamomzetting in de cache heeft opgeslagen die verwijst naar de mislukte site. Wacht even en vernieuw de pagina opnieuw.
Notitie
De app configureert sessietime-out als 1 uur. Afhankelijk van de tijd die het kostte om een failover uit te voeren, ziet u mogelijk niet dat sessiegegevens worden weergegeven in de sectie Nieuwe koffie van de gebruikersinterface van de voorbeeld-app als deze meer dan één uur eerder is verlopen.
Nu de secundaire regio de failoversite is en actief is, moet u deze opnieuw beveiligen met Azure Backup.
Gebruik eerst dezelfde stappen in de sectie Back-up van het AKS-cluster om een back-up te maken van het secundaire AKS-cluster, met uitzondering van de volgende verschillen:
liberty-aks-westus-mjg032524
bijvoorbeeld.aks-backup-vault-westus-mjg032524
bijvoorbeeld.aks-backup-vault-westus-mjg032524
bijvoorbeeld.aks-backup-vault-westus-mjg032524
bijvoorbeeld.Gebruik vervolgens dezelfde stappen in de sectie Wacht tot er een standaardback-up van de kluis plaatsvindt totdat een standaardback-up van de kluis van het secundaire AKS-cluster beschikbaar is, behalve dat u het back-upexemplaren selecteert op de pagina Back-up van het secundaire AKS-cluster .
Gebruik dezelfde stappen in de sectie Failover naar de secundaire site om een failback uit te voeren naar de primaire site, inclusief databaseserver en het AKS-cluster, met uitzondering van de volgende verschillen:
Wanneer u zich voorbereidt op de failback, gebruikt u de volgende stappen:
Wanneer u de back-up van het secundaire AKS-cluster herstelt naar het primaire AKS-cluster, gebruikt u de volgende stappen:
<aks-cluster-name>\akswestusmjg032524
bijvoorbeeld.Wanneer u controleert of het herstellen werkt zoals verwacht, gebruikt u de volgende stappen:
myPrimaryEndpoint
online is en de status controleren voor eindpunt myFailoverEndpoint
is gedegradeerd.Als u de WebSphere Liberty/Open Liberty-clusters en andere onderdelen niet meer gaat gebruiken, gebruikt u de volgende stappen om de resourcegroepen te verwijderen om de resources op te schonen die in deze zelfstudie worden gebruikt:
myResourceGroup
bijvoorbeeld, en selecteer de overeenkomende resourcegroep in de zoekresultaten.myResourceGroupTM1
bijvoorbeeld.liberty-aks-eastus-mjg032524
bijvoorbeeld.liberty-aks-westus-mjg032524
bijvoorbeeld.In deze zelfstudie stelt u een WebSphere Liberty/Open Liberty HA/DR-oplossing in die bestaat uit een actief-passieve toepassingsinfrastructuurlaag met een actief-passieve databaselaag en waarin beide lagen twee geografisch verschillende sites omvatten. Op de eerste site zijn zowel de infrastructuurlaag van de toepassing als de databaselaag actief. Op de tweede site wordt het secundaire domein hersteld met Azure Backup en is de secundaire database stand-by.
Ga door met het verkennen van de volgende verwijzingen voor meer opties voor het bouwen van HA/DR-oplossingen en het uitvoeren van WebSphere in Azure:
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registreren