Kurz: Migrace WebSphere Liberty/Open Liberty do služby Azure Kubernetes Service (AKS) s vysokou dostupností a zotavením po havárii
Tento kurz ukazuje jednoduchý a efektivní způsob implementace vysoké dostupnosti a zotavení po havárii (HA/DR) pro Javu pomocí WebSphere Liberty/Open Liberty ve službě Azure Kubernetes Service (AKS). Řešení ukazuje, jak dosáhnout nízkého cíle doby obnovení (RTO) a cíle bodu obnovení (RPO) pomocí jednoduché aplikace Jakarta EE řízené databází běžící na WebSphere Liberty/Open Liberty.
Ha/DR je komplexní téma s mnoha možnými řešeními. Nejlepší řešení závisí na vašich jedinečných požadavcích. Další způsoby implementace vysoké dostupnosti a zotavení po havárii najdete v prostředcích na konci tohoto článku.
V tomto kurzu se naučíte:
- Využijte osvědčené postupy optimalizované pro Azure, abyste dosáhli vysoké dostupnosti a zotavení po havárii.
- Nastavte skupinu převzetí služeb při selhání služby Microsoft Azure SQL Database ve spárovaných oblastech.
- Nastavte primární cluster WebSphere Liberty/Open Liberty v AKS.
- Nastavte zotavení po havárii pro cluster pomocí služby Azure Backup.
- Nastavte sekundární cluster AKS.
- Nastavte Azure Traffic Manager.
- Otestujte převzetí služeb při selhání z primárního na sekundární.
Následující diagram znázorňuje architekturu, kterou vytvoříte:
Azure Traffic Manager kontroluje stav vašich oblastí a směruje provoz odpovídajícím způsobem do aplikační vrstvy. Primární i sekundární oblast mají úplné nasazení clusteru Liberty. Pouze primární oblast ale aktivně obsluhuje síťové požadavky od uživatelů. Sekundární oblast je pasivní a aktivuje se pro příjem provozu pouze v případě, že primární oblast dojde k přerušení služby. Azure Traffic Manager používá k implementaci tohoto podmíněného směrování funkci kontroly stavu brány Aplikace Azure lication. Primární cluster je spuštěný a sekundární cluster je vypnutý. Rto geografického převzetí služeb při selhání aplikační vrstvy závisí na době spouštění virtuálních počítačů a spouštění sekundárního clusteru. Cíl bodu obnovení závisí na službě Azure SQL Database, protože data se uchovávají a replikují ve skupině převzetí služeb při selhání služby Azure SQL Database.
Databázová vrstva se skládá ze skupiny převzetí služeb při selhání azure SQL Database s primárním serverem a sekundárním serverem. Koncový bod naslouchacího procesu pro čtení a zápis vždy odkazuje na primární server a je připojený ke clusteru WebSphere Liberty/Open Liberty v každé oblasti. Geograficky převzetí služeb při selhání přepne všechny sekundární databáze ve skupině na primární roli. Informace o cílech bodu obnovení geografického převzetí služeb při selhání a RTO služby Azure SQL Database najdete v tématu Přehled kontinuity podnikových procesů se službou Azure SQL Database.
Tento kurz byl napsán se službami Azure Backup a Azure SQL Database, protože tento kurz spoléhá na funkce vysoké dostupnosti těchto služeb. Jiné možnosti databáze jsou možné, ale musíte zvážit funkce vysoké dostupnosti libovolné databáze, kterou zvolíte.
Požadavky
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
- Ujistěte se, že máte přiřazenou
Owner
roli neboContributor
User Access Administrator
role v předplatném. Přiřazení můžete ověřit pomocí postupu v části Výpis přiřazení rolí Azure pomocí webu Azure Portal. - Připravte místní počítač s nainstalovaným systémem Windows, Linux nebo macOS.
-
nainstalujte Azure CLI 2.62.0 nebo novější a spusťte příkazy Azure CLI.
- Přihlaste se pomocí Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených v terminálu. Další možnosti přihlášení najdete v tématu Přihlášení k Azure pomocí azure CLI.
- Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí azure CLI.
- Spuštěním příkazu az version vyhledejte nainstalované verze a závislé knihovny. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Nainstalujte a nastavte Git.
- Nainstalujte implementaci Java SE verze 17 nebo novější – například build Microsoft OpenJDK.
- Nainstalujte Maven verze 3.9.3 nebo novější.
Nastavení skupiny převzetí služeb při selhání služby Azure SQL Database ve spárovaných oblastech
V této části vytvoříte skupinu převzetí služeb při selhání služby Azure SQL Database ve spárovaných oblastech pro použití s clustery a aplikacemi WebSphere Liberty/Open Liberty. V další části nakonfigurujete WebSphere Liberty/Open Liberty tak, aby ukládaly data relace do této databáze. Tento postup odkazuje na vytvoření tabulky pro trvalost relace.
Nejprve vytvořte primární službu Azure SQL Database podle kroků na webu Azure Portal v rychlém startu: Vytvoření izolované databáze – Azure SQL Database. Postupujte podle kroků uvedených v části "Vyčištění prostředků", ale nikoli jejich zahrnutí. Při procházení článku použijte následující pokyny a po vytvoření a konfiguraci služby Azure SQL Database se vraťte k tomuto článku.
Až se dostanete do části Vytvoření izolované databáze, postupujte následovně:
- V kroku 4 pro vytvoření nové skupiny prostředků uložte hodnotu názvu skupiny prostředků – například
myResourceGroup
. - V kroku 5 pro název databáze uložte hodnotu název databáze – například
mySampleDatabase
. - V kroku 6 pro vytvoření serveru použijte následující kroky:
- Zadejte jedinečný název serveru , například
sqlserverprimary-mjg032524
. - Jako umístění vyberte USA – východ.
- Jako metodu ověřování vyberte Použít ověřování SQL.
- Uložte si kromě přihlašovací hodnoty správce serveru ,
azureuser
například . - Uložte si hodnotu Heslo.
- Zadejte jedinečný název serveru , například
- V kroku 8 pro prostředí úloh vyberte Vývoj. Podívejte se na popis a zvažte další možnosti pro vaši úlohu.
- V kroku 11 vyberte jako redundanci úložiště zálohování místně redundantní úložiště zálohování. Zvažte další možnosti zálohování. Další informace najdete v části Redundance úložiště zálohování automatizovaných záloh ve službě Azure SQL Database.
- V kroku 14 v konfiguraci pravidel brány firewall u možnosti Povolit službám a prostředkům Azure přístup k tomuto serveru vyberte Ano.
Potom podle kroků na webu Azure Portal v části Konfigurace skupiny převzetí služeb při selhání pro Azure SQL Database vytvořte skupinu převzetí služeb při selhání služby Azure SQL Database. Potřebujete jenom následující části: Vytvoření skupiny převzetí služeb při selhání a testovacího plánovaného převzetí služeb při selhání. Při procházení článku použijte následující kroky a po vytvoření a konfiguraci skupiny převzetí služeb při selhání služby Azure SQL Database se vraťte k tomuto článku:
Až se dostanete do části Vytvoření skupiny převzetí služeb při selhání, postupujte následovně:
- V kroku 5 pro vytvoření skupiny převzetí služeb při selhání zadejte a uložte si jedinečný název skupiny převzetí služeb při selhání , například
failovergroup-mjg032524
. - V kroku 5 pro konfiguraci serveru vyberte možnost vytvoření nového sekundárního serveru a pak postupujte následovně:
- Zadejte jedinečný název serveru , například
sqlserversecondary-mjg032524
. - Zadejte stejný správce serveru a heslo jako primární server.
- V části Umístění vyberte (USA) USA – západ.
- Ujistěte se, že je vybraná možnost Povolit službám Azure přístup k serveru .
- Zadejte jedinečný název serveru , například
- V kroku 5 pro konfiguraci databází v rámci skupiny vyberte databázi, kterou jste vytvořili na primárním serveru , například
mySampleDatabase
.
- V kroku 5 pro vytvoření skupiny převzetí služeb při selhání zadejte a uložte si jedinečný název skupiny převzetí služeb při selhání , například
Po dokončení všech kroků v části Testování plánovaného převzetí služeb při selhání ponechte stránku skupiny převzetí služeb při selhání otevřenou a použijte ji pro test převzetí služeb při selhání clusterů WebSphere Liberty/Open Liberty později.
Poznámka:
Tento článek vás provede vytvořením samostatné databáze Azure SQL Database s ověřováním SQL pro zjednodušení, protože nastavení vysoké dostupnosti a zotavení po havárii, na které se tento článek zaměřuje, je již velmi složité. Bezpečnějším postupem je použití ověřování Microsoft Entra pro azure SQL pro ověřování připojení k databázovému serveru. Informace o tom, jak nakonfigurovat připojení k databázi pomocí ověřování Microsoft Entra, najdete v tématu Nasazení aplikace v Javě s platformou Open Liberty nebo WebSphere Liberty v clusteru Azure Kubernetes Service (AKS).
Nastavení primárního clusteru WebSphere Liberty/Open Liberty v AKS
V této části vytvoříte primární cluster WebSphere Liberty/Open Liberty v AKS pomocí nabídky IBM WebSphere Liberty a Open Liberty ve službě Azure Kubernetes Service . Sekundární cluster se během převzetí služeb při selhání obnoví z primárního clusteru pomocí služby Azure Backup později.
Nasazení primárního clusteru WebSphere Liberty/Open Liberty
K nasazení primárního clusteru použijte následující postup:
Otevřete nabídku IBM WebSphere Liberty a Open Liberty v Azure Kubernetes Service v prohlížeči a vyberte Vytvořit. Mělo by se zobrazit podokno Základy nabídky.
Pomocí následujících kroků vyplňte podokno Základy :
- Ujistěte se, že hodnota zobrazená pro předplatné je stejná jako u rolí uvedených v části Požadavky.
- Nabídku musíte nasadit do prázdné skupiny prostředků.
V poli Skupina prostředků vyberte Vytvořit nový a vyplňte jedinečnou hodnotu skupiny prostředků , například
liberty-aks-eastus-mjg032524
. - V části Podrobnosti o instanci vyberte oblast USA – východ.
- Výběrem možnosti Další přejdete do podokna AKS .
Chvíli počkejte. V podokně AKS by se měla zobrazit všechna předem vyplněná pole s výchozími hodnotami. Výběrem možnosti Další přejdete do podokna vyrovnávání zatížení.
Pomocí následujících kroků vyplňte podokno vyrovnávání zatížení:
- Chcete-li se připojit k Aplikace Azure lication Gateway?, vyberte Ano.
- U ostatních polí ponechte výchozí hodnoty.
- Výběrem možnosti Další přejdete do podokna Operátor a aplikace .
K vyplnění podokna Operátor a aplikace použijte následující postup:
U všech polí ponechte výchozí hodnoty.
Poznámka:
Tento kurz nasadí operátor Open Liberty pomocí výchozích hodnot. Volitelně můžete nasadit operátor WebSphere Liberty tak, že vyberete Ano pro podporu IBM?.
Vyberte Zkontrolovat a vytvořit.
Počkejte, až se dokončí konečné ověření... úspěšně se dokončí, a pak vyberte Vytvořit.
Po chvíli by se měla zobrazit stránka Nasazení , ve které probíhá nasazení .
Poznámka:
Pokud se při spuštění konečného ověření zobrazí nějaké problémy, opravte je a zkuste to znovu.
V závislosti na podmínkách sítě a dalších aktivitách ve vybrané oblasti může dokončení nasazení trvat až 30 minut. Potom by se na stránce nasazení měl zobrazit text Dokončení nasazení .
Ověření nasazení clusteru
Nasadili jste cluster AKS, instanci služby Azure Container Registry (ACR) a bránu Aplikace Azure lication v primární oblasti. Cluster AKS je cílová výpočetní platforma, na které je vaše aplikace nasazená a spuštěná. Instance ACR ukládá image aplikace, kterou AKS stáhne během nasazování aplikace. Brána Aplikace Azure lication funguje jako nástroj pro vyrovnávání zatížení pro aplikaci nasazenou do clusteru AKS.
Před přechodem k dalšímu kroku pomocí následujících kroků ověřte tyto klíčové komponenty:
Vraťte se na stránku Nasazení a pak vyberte Výstupy.
Zkopírujte hodnotu vlastnosti cmdToConnectToCluster. Otevřete terminál, vložte zkopírovaný příkaz a stisknutím klávesy Enter spusťte příkaz. Ve výstupu by se měla zobrazit zpráva podobná následujícímu příkladu:
Merged "cluster3984d1-admin" as current context in <your-user>\.kube\config
Uložte si příkaz stranou, abyste ho mohli použít k pozdějšímu připojení ke clusteru.
Spuštěním
kubectl get pod --all-namespaces
v terminálu zobrazíte seznam všech podů spuštěných v clusteru AKS. Měl by se zobrazit výstup podobný následujícímu příkladu: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
Spuštěním
kubectl get secret
v terminálu zobrazíte seznam všech tajných kódů nainstalovaných v clusteru AKS. Ve výstupu by se měl zobrazit jeden tajný klíč, jak je znázorněno v následujícím příkladu:NAME TYPE DATA AGE secret3984d1 kubernetes.io/tls 2 24m
Tento tajný klíč je tajný klíč TLS, který obsahuje data certifikátu a klíče pro přenosy protokolu TLS. Zkopírujte a uložte si název tajného kódu – například
secret3984d1
ho použijete v nasazení aplikace později.Přepněte zpět na stránku Výstupy . Zkopírujte hodnotu vlastnosti cmdToLoginInRegistry. Vložte zkopírovaný příkaz do terminálu a stisknutím klávesy Enter spusťte příkaz. Ve výstupu by se mělo zobrazit přihlášení bylo úspěšné . Nechte terminál otevřený a použijte ho k další konfiguraci clusteru WebSphere Liberty/Open Liberty později.
Pomocí následujícího postupu získáte název a název DNS veřejné IP adresy brány Aplikace Azure lication. Použijete je k nasazení aplikací a později se nastaví Azure Traffic Manager.
- Na webu Azure Portal do vyhledávacího pole zadejte skupiny prostředků a ve výsledcích hledání vyberte skupiny prostředků.
- Vyberte název skupiny prostředků pro vaši primární oblast , například
liberty-aks-eastus-mjg032524
. -
Najděte prostředek veřejné IP adresy s předponou
gwip
, pak zkopírujte a uložte jeho název. -
Vyberte prostředek veřejné IP adresy a pak zkopírujte a uložte název DNS – například
olgw3984d1.eastus.cloudapp.azure.com
.
Povolení geografických replikací pro instanci služby ACR
Instance ACR je navržená k ukládání imagí aplikací pro primární i sekundární clustery. Pomocí následujících kroků povolte geografickou replikaci pro instanci služby ACR:
Na webu Azure Portal do vyhledávacího pole zadejte skupiny prostředků a ve výsledcích hledání vyberte skupiny prostředků.
Vyberte název skupiny prostředků pro vaši primární oblast , například
liberty-aks-eastus-mjg032524
.Vyhledejte prostředek registru kontejneru s předponou
acr
a vyberte ho a otevřete ho.Vyberte Vlastnosti. V případě cenového plánu vyberte Premium a pak vyberte Uložit. Počkejte na dokončení.
Vyberte Geografické replikace a pak vyberte Přidat. V části Umístění vyberte USA – západ a pak vyberte Vytvořit. Počkejte na dokončení.
Chvíli počkejte a vyberte Aktualizovat. Opakujte operaci, dokud neuvidíte seznam dvou umístění a stav je připravený.
Pomocí následujícího postupu získáte přihlašovací údaje ACR. Použijete je pro pozdější nasazení aplikace.
Vyberte Přístupové klíče.
Zkopírujte a uložte si hodnoty pro název registru a přihlašovacího serveru.
Poznámka:
Tento článek používá příkaz
az acr build
k sestavení a nasdílení image Dockeru do služby Container Registry bez použitíusername
apassword
služby Container Registry. Stále je možné použít uživatelské jméno a heslo sdocker login
adocker push
. Použití uživatelského jména a hesla je méně bezpečné než ověřování bez hesla.
Nasazení ukázkové aplikace
Pomocí následujících kroků nasaďte a spusťte ukázkovou aplikaci CRUD Java/Jakarta EE na clusteru WebSphere Liberty/Open Liberty pro testování převzetí služeb při selhání zotavení po havárii později:
Stáhněte si ukázku pomocí následujících příkazů:
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git cd open-liberty-on-aks export BASE_DIR=$PWD git checkout 20240325
Aplikace nakonfiguruje zdroj dat jdbc/JavaEECafeDB , který se připojí ke službě Azure SQL Database, kterou jste nasadili dříve. Zdroj dat se používá k ukládání dat relace HTTP, což umožňuje převzetí služeb při selhání a vyrovnávání zatížení v clusteru serverů WebSphere Liberty/Open Liberty. Ukázková aplikace také nakonfiguruje schéma trvalosti pro zachování dat
coffee
aplikace ve stejném zdroji dat. Všimněte si, že kořen kontextu ukázky je nakonfigurovaný jako / v souboru server.xml .Pomocí následujících příkazů definujte proměnné prostředí s hodnotami, které jste si uložili dříve:
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>
Pomocí příkazu
az acr build
sestavte a nasdílejte image Dockeru do služby Container Registry, jak je znázorněno v následujícím příkladu: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 \ .
Pomocí následujících příkazů nasaďte ukázkovou aplikaci do clusteru 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
Spuštěním následujícího příkazu získejte nasazenou ukázkovou aplikaci:
# If you deployed WebSphere Liberty Operator previously, use "WebSphereLibertyApplication" instead of "OpenLibertyApplication" kubectl get OpenLibertyApplication
Ve výstupu by se měla zobrazit jedna aplikace READY :
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY AGE javaee-cafe-cluster-agic acr3984d1.azurecr.io/javaee-cafe:v1 True True True 45s
Spuštěním následujícího příkazu získejte stav podů vytvořených během nasazení:
kubectl get pods
Následující příklad označuje, že jsou spuštěné všechny pody. Pokud podobný výstup nevidíte, chvíli počkejte a operaci opakujte.
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
Pomocí následujících kroků ověřte, že aplikace běží podle očekávání:
Na nové kartě prohlížeče otevřete název DNS veřejné IP adresy brány Aplikace Azure lication, kterou jste si uložili dříve.
https
Použijte protokol ,https://olgw3984d1.eastus.cloudapp.azure.com
například . Měla by se zobrazit úvodní stránka ukázkové aplikace.Vytvořte novou kávu s názvem a cenou , například Káva 1 s cenou 10 , která se zachová v tabulce dat aplikace i v tabulce relací databáze. Zobrazené uživatelské rozhraní by mělo vypadat podobně jako na následujícím snímku obrazovky:
Pokud vaše uživatelské rozhraní nevypadá podobně, před pokračováním problém vyřešte a vyřešte ho.
Nastavení zotavení po havárii pro cluster pomocí služby Azure Backup
V této části nastavíte zotavení po havárii pro cluster AKS v primární oblasti pomocí služby Azure Backup.
Vytvoření účtu úložiště
Zálohování AKS používá kontejner objektů blob k uložení prostředků clusteru AKS. Jako pracovní umístění pro obnovení mezi oblastmi vytvoříte další kontejner objektů blob.
Pomocí následujícího postupu vytvořte účet úložiště a dva kontejnery. Některé z těchtokrokůch
- Přihlaste se k portálu Azure.
- Podle kroků v části Vytvoření účtu úložiště vytvořte účet úložiště. Nemusíte dělat všechny kroky v článku. Vyplňte pole, jak je znázorněno v podokně Základy , pomocí následujících kroků:
- V části Skupina prostředků vyberte existující skupinu prostředků, ve které je nasazený primární cluster ,
liberty-aks-eastus-mjg032524
například . - Jako název účtu úložiště zadejte jedinečný název ,
storageeastusmjg032524
například . - Jako oblast vyberte USA – východ.
- Výběrem možnosti Zkontrolovat a vytvořit přijměte výchozí možnosti.
- Pokračujte ověřením a vytvořením účtu a vraťte se k tomuto článku.
- V části Skupina prostředků vyberte existující skupinu prostředků, ve které je nasazený primární cluster ,
- Podle kroků v části Vytvoření kontejneru úložiště vytvořte kontejner úložiště pro rozšíření AKS Backup. Tato příručka se používá
aks-backup-ext
jako název kontejneru. - Vytvořte jiný kontejner úložiště jako pracovní umístění pro použití během obnovování. Tato příručka se používá
staging
jako název kontejneru.
Povolení rozšíření AKS Backup
Než budete pokračovat, pomocí následujícího postupu nainstalujte rozšíření AKS Backup do clusteru v primární oblasti:
Povolte ovladače a snímky csI pro váš cluster. V následujícím
az aks update
příkazu aktualizujte hodnotu proměnnéRG_NAME
Bash na název vaší skupiny prostředků –liberty-aks-eastus-mjg032524
například – a spusťte ji v místním terminálu 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
Povolení ovladačů trvá asi 5 minut. Než budete pokračovat, ujistěte se, že se příkazy dokončí bez chyby.
Otevřete skupinu prostředků s nasazenou službou AKS ,
liberty-aks-eastus-mjg032524
například . Ze seznamu prostředků vyberte cluster AKS.V části Nastavení cílové stránky AKS vyberte Zálohovat a pak vyberte Nainstalovat rozšíření.
Na stránce Instalace rozšíření AKS Backup vyberte Další. Vyberte účet
storageeastusmjg032524
úložiště a kontejneraks-backup-ext
objektů blob vytvořený ve stejné skupině prostředků. Vyberte Další a pak vyberte Vytvořit. Dokončení tohoto kroku trvá asi pět minut.
Zálohování clusteru AKS
Pomocí následujících kroků zálohujte cluster AKS:
Na webu Azure Portal ve vyhledávacím poli vyhledejte trezory služby Backup. Zobrazí se v části Služby. Vyberte ji.
Postupujte podle kroků v tématu Zálohování služby Azure Kubernetes Service pomocí služby Azure Backup a povolte zálohování AKS pro primární cluster. Proveďte kroky až do oddílu Použití háků během zálohování AKS, ale nezapomněli je, a zbytek kroků v této části proveďte při provádění úprav.
Když se dostanete do části Vytvoření trezoru služby Backup, postupujte následovně:
V kroku 1 vyberte pro skupinu prostředků existující skupinu prostředků, ve které je nasazený primární cluster ,
liberty-aks-eastus-mjg032524
například .Jako název trezoru služby Backup zadejte jedinečnou hodnotu,
aks-backup-vault-eastus-mjg032524
například .Jako oblast vyberte USA – východ.
V případě redundance úložiště zálohování vyberte globálně redundantní.
V kroku 2 vyberte v případě obnovení mezi oblastmi možnost Povolit.
Když se dostanete do části Vytvořit zásadu zálohování, postupujte následovně:
V kroku 3 zadejte název zásady zálohování ,
aksbackuppolicy
například .Vyberte trezor služby Backup, který jste vytvořili ve stejné skupině prostředků ,
aks-backup-vault-eastus-mjg032524
například .Pro krok 4 přidejte pravidlo uchovávání informací, ve kterém je vybrána možnost Vault-Standard.
Vyberte Přidat.
V části Konfigurace záloh použijte následující kroky:
Přeskočte krok 1 až 5, který se používá pro instalaci rozšíření AKS. Začněte od kroku 6 pro cluster AKS v primární oblasti.
V kroku 7 vyberte trezor záloh, který jste vytvořili ve stejné skupině prostředků ,
aks-backup-vault-eastus-mjg032524
například . Když narazíte na chyby oprávnění, vyberte Udělit oprávnění , abyste mohli pokračovat. Po dokončení nasazení oprávnění vyberte možnost Znovu aktualizovat přiřazení rolí, pokud se chyba stále zobrazuje.V kroku 10 vyhledejte výběr prostředků, které chcete zálohovat. Jako název instance zálohování zadejte jedinečný název, například
akseastusmjg032524
. V části Další možnosti vyberte všechny možnosti. Ujistěte se, že je vybraná možnost Zahrnout tajné kódy .V kroku 11 narazíte na chybu přiřazení role. Pokud chcete tuto chybu zmírnit, postupujte podle kroku 12 až 14.
Po výběru možnosti Konfigurovat zálohování v kroku 15 se vrátíte na stránku Zálohování . Chvíli počkejte a pak vyberte Aktualizovat. Opakujte operaci, dokud neuvidíte, že je uvedená instance zálohování a že je nakonfigurovaná ochrana .
Počkejte, až dojde k zálohování trezoru úrovně Standard.
V AKS je úroveň Vault-Standard jedinou úrovní, která podporuje geografickou redundanci a obnovení mezi oblastmi. Jak je uvedeno v části Která úroveň úložiště zálohování AKS podporuje?, "Do úrovně trezoru se přesune pouze jeden plánovaný bod obnovení za den.". Musíte počkat, až dojde k zálohování trezoru úrovně Standard. Dobrou dolní mez je počkat maximálně 24 hodin po dokončení předchozího kroku před obnovením.
Pomocí následujících kroků ověřte, že je k dispozici záloha trezoru úrovně Standard:
Na stránce Zálohování primárního clusteru AKS vyberte instanci zálohování.
Chvíli počkejte a vyberte Aktualizovat. Opakujte operaci, dokud neuvidíte, že v části BODY OBNOVENÍ je uveden alespoň jeden bod obnovení úrovně Operational a Vault-Standard.
Nastavení sekundárního clusteru AKS
Při čekání na obnovení sekundárního clusteru AKS nastavte sekundární cluster AKS pro pozdější obnovení.
Stejný postup použijte v části Nasazení primárního clusteru WebSphere Liberty/Open Liberty k nastavení sekundárního clusteru AKS v sekundární oblasti s výjimkou následujících rozdílů:
V podokně Základy použijte následující kroky:
-
V poli Skupina zdrojů vyberte Vytvořit novou a vyplňte jinou jedinečnou hodnotu pro skupinu prostředků , například
liberty-aks-westus-mjg032524
. - V části Podrobnosti o instanci vyberte oblast USA – západ.
-
V poli Skupina zdrojů vyberte Vytvořit novou a vyplňte jinou jedinečnou hodnotu pro skupinu prostředků , například
V podokně AKS použijte následující kroky:
Stejný postup použijte v části Ověření nasazení clusteru k ověření nasazení v sekundární oblasti s výjimkou následujících rozdílů:
- Nemusíte kopírovat a ukládat kromě názvu tajného kódu TLS. Tajný klíč TLS se obnoví ze zálohy primárního clusteru AKS.
- Použijte skupinu prostředků sekundárního clusteru – například
liberty-aks-westus-mjg032524
– když vyhledáte název a název DNS veřejné IP adresy Aplikace Azure lication Gateway nasazené v sekundární oblasti.
Stejný postup použijte v části Vytvoření účtu úložiště k vytvoření účtu úložiště v sekundární oblasti s výjimkou následujících rozdílů:
- V poli Skupina prostředků vyberte existující skupinu prostředků, ve které je nasazen sekundární cluster ,
liberty-aks-westus-mjg032524
například . - Jako název účtu úložiště zadejte jedinečný název ,
storagewestusmjg032524
například . - Jako oblast vyberte USA – západ.
Stejný postup použijte v části Povolení rozšíření zálohování AKS k instalaci rozšíření AKS Backup pro cluster v sekundární oblasti s výjimkou následujících rozdílů:
- V kroku 1 pro povolení ovladačů a snímků csI pro sekundární cluster aktualizujte hodnotu proměnné
RG_NAME
Bash na skupinu prostředků v sekundární oblasti , napříkladliberty-aks-westus-mjg032524
. - V kroku 2 vyberte cluster AKS ze skupiny prostředků v sekundární oblasti , například
liberty-aks-westus-mjg032524
. - V kroku 4 pro instalaci rozšíření AKS Backup pro sekundární cluster vyberte účet úložiště, který jste vytvořili ve stejné skupině prostředků sekundární oblasti – například
storagewestusmjg032524
.
Pokud chcete ušetřit náklady, zastavte cluster AKS v sekundární oblasti podle pokynů v tématu Zastavení a spuštění clusteru Azure Kubernetes Service (AKS). Před pozdějším obnovením clusteru ho musíte spustit.
Nastavení Azure Traffic Manageru
V části Čekání na zálohování úrovně Vault-Standard jsme se zmínili v části Čekání na zálohování úrovně Vault-Standard. Jakmile zjistíte, že je k dispozici záloha standardu Vault, můžete vytvořit Azure Traffic Manager pro distribuci provozu do veřejných aplikací napříč globálními oblastmi Azure. Primární koncový bod odkazuje na veřejnou IP adresu brány Aplikace Azure lication v primární oblasti. Sekundární koncový bod odkazuje na veřejnou IP adresu Aplikace Azure lication Gateway v sekundární oblasti.
Pomocí postupu v rychlém startu vytvořte profil Azure Traffic Manageru: Vytvořte profil Traffic Manageru pomocí webu Azure Portal. Potřebujete jenom následující části: Vytvořte profil Traffic Manageru a přidejte koncové body Traffic Manageru. Při procházení těchto částí použijte následující kroky a po vytvoření a konfiguraci Azure Traffic Manageru se vraťte k tomuto článku:
Když se dostanete do části Vytvoření profilu Traffic Manageru v kroku 2 pro vytvoření profilu Traffic Manageru, postupujte takto:
- Do pole Název zadejte jedinečný název profilu traffic manageru , například
tmprofile-mjg032524
. - Pro metodu směrování vyberte Priorita.
- Jako skupinu prostředků zadejte a uložte název nové skupiny prostředků – například
myResourceGroupTM1
.
- Do pole Název zadejte jedinečný název profilu traffic manageru , například
Když se dostanete do části Přidání koncových bodů Traffic Manageru, postupujte následovně:
- Po otevření profilu Traffic Manageru v kroku 2 na stránce Konfigurace použijte následující kroky:
- Jako hodnotu TTL (Time To Live) dns zadejte 10.
- V části Nastavení monitorování koncového bodu v části Protokol vyberte https a jako port zadejte 443.
- V části Nastavení převzetí služeb při selhání rychlého koncového bodu použijte následující hodnoty:
- V případě interního testování vyberte 10.
- Pro tolerovaný počet selhání zadejte 3.
- V případě časového limitu sondy zadejte 5.
- Zvolte Uložit. Počkejte, až se dokončí.
- V kroku 4 pro přidání primárního koncového bodu
myPrimaryEndpoint
použijte následující kroky:- Jako typ cílového prostředku vyberte Veřejnou IP adresu.
- Vyberte rozevírací seznam Zvolit veřejnou IP adresu a zadejte název veřejné IP adresy Aplikace Azure lication Gateway v oblasti USA – východ, kterou jste si předtím uložili. Měla by se zobrazit shoda s jednou položkou. Vyberte ji pro veřejnou IP adresu.
- V kroku 6 pro přidání koncového bodu převzetí služeb při selhání nebo sekundárního koncového bodu
myFailoverEndpoint
postupujte takto:- Jako typ cílového prostředku vyberte Veřejnou IP adresu.
- Vyberte rozevírací seznam Zvolit veřejnou IP adresu a zadejte název veřejné IP adresy Aplikace Azure lication Gateway v oblasti USA – západ, kterou jste si předtím uložili. Měla by se zobrazit shoda s jednou položkou. Vyberte ji pro veřejnou IP adresu.
- Chvíli počkejte. Vyberte Aktualizovat, dokud není stav Monitorování pro koncový bod
myPrimaryEndpoint
online a stav Monitorování pro koncový bodmyFailoverEndpoint
je degradovaný.
- Po otevření profilu Traffic Manageru v kroku 2 na stránce Konfigurace použijte následující kroky:
Dále pomocí následujícího postupu ověřte, že ukázková aplikace nasazená do primárního clusteru je přístupná z profilu Traffic Manageru:
Vyberte Přehled profilu Traffic Manageru, který jste vytvořili.
Zkontrolujte a zkopírujte název DNS profilu Traffic Manageru a nahraďte protokol .
http
https
Napříkladhttps://tmprofile-mjg032524.trafficmanager.net
.Otevřete adresu URL na nové kartě prohlížeče. Měli byste vidět, že káva, kterou jste vytvořili dříve, je uvedená na stránce.
Vytvořte jinou kávu s jiným názvem a cenou , například Káva 2 s cenou 20, která se zachová v tabulce dat aplikace i v tabulce relací databáze. Zobrazené uživatelské rozhraní by mělo vypadat podobně jako na následujícím snímku obrazovky:
Pokud vaše uživatelské rozhraní nevypadá podobně, před pokračováním problém vyřešte a vyřešte ho. Nechte konzolu otevřenou a používejte ji pro test převzetí služeb při selhání později.
Dokončili jste nastavení profilu Traffic Manageru. Nechte stránku otevřenou a použijete ji k monitorování změny stavu koncového bodu v události převzetí služeb při selhání později.
Testování převzetí služeb při selhání z primárního do sekundárního
V této části k otestování převzetí služeb při selhání ručně převzetí služeb při selhání serveru Azure SQL Database a obnovení zálohy clusteru AKS a následné navrácení služeb po obnovení pomocí webu Azure Portal.
Převzetí služeb při selhání do sekundární lokality
Pokud chcete simulovat výpadek primární oblasti, zastavte primární cluster AKS podle kroků v tématu Zastavení a spuštění clusteru Azure Kubernetes Service (AKS).
Dále spusťte sekundární cluster AKS, abyste ho mohli obnovit ze zálohy primárního clusteru.
Poznámka:
Pokud máte aplikace WebSphere Liberty/Open Liberty spuštěné v cílovém clusteru pro obnovení, abyste se vyhnuli konfliktům, pomocí následujících kroků vyčistíte aplikace WebSphere Liberty/Open Liberty:
Připojte se k cílovému clusteru spuštěním příkazu, který
cmdToConnectToCluster
jste si uložili dříve.V případě aplikací Open Liberty spusťte následující příkaz:
kubectl delete OpenLibertyApplication --all --all-namespaces
V případě aplikací WebSphere Liberty spusťte následující příkaz:
kubectl delete WebSphereLibertyApplication --all --all-namespaces
Pak přepněte na kartu prohlížeče vašeho profilu Traffic Manageru a ověřte, jestli je stav Monitorování pro oba koncové body myPrimaryEndpoint
snížený a myFailoverEndpoint
že je snížený výkon.
Teď pomocí následujících kroků převzetí služeb při selhání služby Azure SQL Database z primárního serveru na sekundární server:
- Přepněte na kartu prohlížeče ve skupině převzetí služeb při selhání služby Azure SQL Database ,
failovergroup-mjg032524
například . - Vyberte Převzetí služeb při selhání a pak vyberte Ano.
- Počkejte, až se dokončí.
Potom pomocí následujících kroků obnovte zálohu primárního clusteru AKS do sekundárního clusteru AKS:
Na webu Azure Portal do vyhledávacího pole zadejte Centrum zálohování a ve výsledcích hledání vyberte Centrum zálohování.
V části Spravovat vyberte Zálohovat instance. Vyfiltrujte typ zdroje dat Kubernetes Services. Vyhledejte instanci zálohování, kterou jste vytvořili v předchozí části , například
<aks-cluster-name>\akseastusmjg032524
.Vyberte instanci zálohování.
Vyberte Obnovit.
Na stránce Obnovit je výchozí podokno Bod obnovení. Chcete-li změnit podokno Základy, vyberte Předchozí. V části Obnovit oblast vyberte Sekundární oblast a pak vyberte Další: Bod obnovení.
V podokně Bod obnovení je vybrán nejnovější bod obnovení úrovně Operational a Vault-Standard. Ponechte výchozí hodnoty a vyberte Další: Obnovit parametry.
V podokně Obnovit parametry použijte následující kroky:
V části Vybrat cílový cluster vyberte sekundární cluster AKS, který jste vytvořili v oblasti USA – západ. Narazíte na problém s oprávněním, jak je znázorněno na následujícím snímku obrazovky. Výběrem možnosti Udělit oprávnění zmírníte chyby.
Pro pracovní umístění zálohování vyberte účet úložiště, který jste vytvořili v oblasti USA – západ. Narazíte na problém s oprávněním, jak je znázorněno na následujícím snímku obrazovky. Výběrem možnosti Přiřadit chybějící role zmírníte chyby.
Pokud se chyby po dokončení přiřazení rolí stále zobrazují, aktualizujte oprávnění výběrem možnosti Znovu aktualizovat.
Pokud se při udělování chybějících oprávnění zobrazí výzva k zadání oboru, přijměte výchozí hodnotu.
Vyberte Ověřit. Měla by se zobrazit zpráva.
Validation completed successfully
V opačném případě problém před pokračováním vyřešte a vyřešte ho.
Vyberte Další: Zkontrolovat a obnovit. Pak vyberte Obnovit. Obnovení clusteru trvá přibližně 10 minut.
Proces obnovení můžete monitorovat z >>úloh zálohování, jak je znázorněno na následujícím snímku obrazovky:
Chvíli počkejte a pak vyberte Aktualizovat. Opakujte operaci, dokud neuvidíte, že se stav dokončil.
Potom pomocí následujícího postupu ověřte, že obnovení funguje podle očekávání:
Přepněte do terminálu, kde jste se připojili k sekundárnímu clusteru AKS.
Spuštěním následujícího příkazu získejte ukázkovou aplikaci obnovenou ze zálohy:
kubectl get OpenLibertyApplication
Ve výstupu by se měla zobrazit jedna aplikace READY :
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY AGE javaee-cafe-cluster-agic acr3984d1.azurecr.io/javaee-cafe:v1 True True True 3m
Spuštěním následujícího příkazu získejte stav podů vytvořených během nasazení:
kubectl get pods
Ve výstupu by se měly zobrazit tři spuštěné pody:
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
Přepněte na kartu prohlížeče vašeho profilu Traffic Manageru a pak aktualizujte stránku, dokud neuvidíte, že stav Monitorování pro koncový bod
myFailoverEndpoint
je Online a Stav Monitorování pro koncový bodmyPrimaryEndpoint
je Snížený výkon.Přepněte na kartu prohlížeče s názvem DNS profilu Traffic Manageru ,
https://tmprofile-mjg032524.trafficmanager.net
například . Aktualizujte stránku a měla by se zobrazit stejná data uložená v tabulce dat aplikace a zobrazená tabulka relací. Zobrazené uživatelské rozhraní by mělo vypadat podobně jako na následujícím snímku obrazovky:Pokud toto chování nevidíte, může to být proto, že aktualizace DNS na lokalitu s podporou převzetí služeb při selhání chvíli trvá. Problémem může být také to, že váš prohlížeč ukadl výsledek překladu názvů DNS do mezipaměti, který odkazuje na web, který selhal. Chvíli počkejte a aktualizujte stránku znovu.
Poznámka:
Aplikace nakonfiguruje časový limit relace jako 1 hodinu. V závislosti na tom, kolik času trvalo převzetí služeb při selhání, se nemusí zobrazit data relace zobrazená v části Nová káva v uživatelském rozhraní ukázkové aplikace, pokud vypršela déle než jedna hodina dříve.
Opětovná ochrana lokality s podporou převzetí služeb při selhání
Teď, když je sekundární oblast lokalitou převzetí služeb při selhání a aktivní, byste ji měli znovu chránit pomocí služby Azure Backup.
Nejprve použijte stejný postup v části Zálohování clusteru AKS k zálohování sekundárního clusteru AKS s výjimkou následujících rozdílů:
- K vytvoření trezoru služby Backup použijte následující kroky:
- V části Skupina prostředků vyberte existující skupinu prostředků nasazenou v sekundární oblasti , například
liberty-aks-westus-mjg032524
. - Jako název trezoru služby Backup zadejte jedinečnou hodnotu,
aks-backup-vault-westus-mjg032524
například . - Jako oblast vyberte USA – západ.
- V části Skupina prostředků vyberte existující skupinu prostředků nasazenou v sekundární oblasti , například
- Pro vytvoření zásady zálohování použijte následující kroky:
- Vyberte trezor služby Backup, který jste vytvořili v sekundární oblasti , například
aks-backup-vault-westus-mjg032524
.
- Vyberte trezor služby Backup, který jste vytvořili v sekundární oblasti , například
- Ke konfiguraci záloh použijte následující kroky:
- Vyberte trezor služby Backup, který jste vytvořili v sekundární oblasti , například
aks-backup-vault-westus-mjg032524
. - Jako název instance zálohování zadejte jedinečný název, například
akswestusmjg032524
.
- Vyberte trezor služby Backup, který jste vytvořili v sekundární oblasti , například
Potom použijte stejný postup v části Čekání na zálohování standardní zálohy trezoru, až bude k dispozici záloha sekundárního clusteru AKS úrovně Vault standard, s výjimkou výběru instance zálohování ze stránky Zálohování sekundárního clusteru AKS.
Navrácení služeb po obnovení do primární lokality
Stejným postupem v části Převzetí služeb při selhání do sekundární lokality proveďte navrácení služeb po obnovení do primární lokality, včetně databázového serveru a clusteru AKS s výjimkou následujících rozdílů:
Při přípravě na navrácení služeb po obnovení použijte následující kroky:
- Zastavte sekundární cluster AKS pro simulaci výpadku sekundární oblasti.
- Spusťte primární cluster AKS.
- Připojte se k primárnímu clusteru AKS a vyčistěte aplikace WebSphere Liberty/Open Liberty.
Při obnovení zálohy sekundárního clusteru AKS do primárního clusteru AKS postupujte takto:
- Vyberte instanci zálohování v sekundární oblasti , například
<aks-cluster-name>\akswestusmjg032524
. -
V podokně Obnovit parametry použijte následující kroky:
- V části Vybrat cílový cluster vyberte primární cluster AKS, který jste vytvořili v oblasti USA – východ.
- Pro pracovní umístění zálohování vyberte účet úložiště, který jste vytvořili v oblasti USA – východ.
- Vyberte instanci zálohování v sekundární oblasti , například
Pokud ověříte, že obnovení funguje podle očekávání, postupujte následovně:
- Přepněte do terminálu, kde jste se připojili k primárnímu clusteru AKS, a zkontrolujte, jestli se aplikace úspěšně obnovila.
- Přepněte na kartu prohlížeče vašeho profilu Traffic Manageru a pak aktualizujte stránku, dokud neuvidíte, že stav Monitorování pro koncový bod
myPrimaryEndpoint
je Online a Stav Monitorování pro koncový bodmyFailoverEndpoint
je Snížený výkon.
Vyčištění prostředků
Pokud nebudete dál používat clustery WebSphere Liberty/Open Liberty a další komponenty, pomocí následujících kroků odstraňte skupiny prostředků a vyčistíte prostředky použité v tomto kurzu:
- Na webu Azure Portal zadejte do vyhledávacího pole název skupiny prostředků serverů Azure SQL Database – například
myResourceGroup
– a ve výsledcích hledání vyberte odpovídající skupinu prostředků. - Vyberte Odstranit skupinu prostředků.
- Do pole Zadejte název skupiny prostředků, abyste potvrdili odstranění, zadejte název skupiny prostředků.
- Vyberte Odstranit.
- Opakujte kroky 1 až 4 pro skupinu prostředků Traffic Manageru ,
myResourceGroupTM1
například . - Na webu Azure Portal do vyhledávacího pole zadejte trezory služby Backup a ve výsledcích hledání vyberte Trezory služby Backup. Měli byste vidět dva trezory služby Backup , například
aks-backup-vault-eastus-mjg032524
aaks-backup-vault-westus-mjg032524
. Pro každou z nich použijte následující kroky:- Výběrem otevřete trezor služby Backup.
- Vyberte Spravovat>aktualizace obnovitelného odstranění>vlastností.> Vedle možnosti Povolit obnovitelné odstranění zrušte zaškrtnutí políčka a pak vyberte Aktualizovat.
- Vyberte Spravovat>instance zálohování. Vyfiltrujte typ zdroje dat Kubernetes Services. Vyberte instanci, kterou jste vytvořili, a pak ji odstraňte.
- Počkejte, až se odstraní dvě instance zálohování.
- Opakujte kroky 1 až 4 pro skupinu prostředků primárního clusteru , například
liberty-aks-eastus-mjg032524
. - Opakujte kroky 1 až 4 pro skupinu prostředků sekundárního clusteru , například
liberty-aks-westus-mjg032524
.
Další kroky
V tomto kurzu nastavíte řešení WebSphere Liberty/Open Liberty HA/DR, které se skládá z vrstvy infrastruktury aktivní-pasivní aplikace s aktivní-pasivní databázovou vrstvou a ve které obě vrstvy zahrnují dvě geograficky odlišné lokality. V první lokalitě jsou aktivní jak vrstva infrastruktury aplikace, tak i databázová vrstva. V druhé lokalitě se sekundární doména obnoví se službou Azure Backup a sekundární databáze je v pohotovostním režimu.
Pokračujte v prozkoumání následujících odkazů, ve kterých najdete další možnosti vytváření řešení pro vysokou dostupnost a zotavení po havárii a spouštění WebSphere v Azure: