Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Den här självstudien visar ett enkelt och effektivt sätt att implementera en strategi för affärskontinuitet och haveriberedskap (DR) för Java med hjälp av Oracle WebLogic Server (WLS) i Azure Kubernetes Service (AKS). Lösningen visar hur du säkerhetskopierar och återställer en WLS-arbetsbelastning med hjälp av ett enkelt databasdrivet Jakarta EE-program som körs på AKS. Geo-redundans är ett komplext ämne med många möjliga lösningar. Den bästa lösningen beror på dina unika krav. Andra sätt att implementera geo-redundans finns i resurserna i slutet av den här artikeln.
I den här självstudien lär du dig att:
Följande diagram illustrerar arkitekturen som du skapar:
Azure Traffic Manager kontrollerar hälsotillståndet för dina regioner och dirigerar trafiken enligt programnivån. Den primära regionen har en fullständig distribution av WLS-klustret. Endast den primära regionen underhåller aktivt nätverksbegäranden från användarna. Den sekundära regionen återställer WLS-klustret från säkerhetskopior av den primära regionen om det uppstår en katastrof eller en deklarerad DR-händelse. Den sekundära regionen aktiveras för att endast ta emot trafik när den primära regionen drabbas av en tjänststörning.
Azure Traffic Manager använder hälsokontrollfunktionen i Azure Application Gateway och WebLogic Kubernetes Operator (WKO) för att implementera den här villkorliga routningen. WKO integreras djupt med AKS-hälsokontroller, vilket gör det möjligt för Azure Traffic Manager att ha en hög nivå av medvetenhet om hälsotillståndet för din Java-arbetsbelastning. Det primära WLS-klustret körs och det sekundära klustret stängs av.
Mål för återställningstid för geo-redundans (RTO) på programnivån beror på tiden för att starta AKS och köra det sekundära WLS-klustret, vilket vanligtvis är mindre än en timme. Programdata sparas och replikeras i Azure SQL Database-redundansgruppen, med en RTO på minuter eller timmar och ett mål för återställningspunkt (RPO) på minuter eller timmar. I den här arkitekturen har Azure Backup bara en säkerhetskopia av valvstandard för WLS-konfigurationen varje dag. Mer information finns i Vad är säkerhetskopiering av Azure Kubernetes Service (AKS)?
Databasnivån består av en Azure SQL Database-redundansgrupp med en primär server och en sekundär server. Den primära servern är i aktivt läs- och skrivläge och är ansluten till det primära WLS-klustret. Den sekundära servern är i passivt redo läge och ansluten till det sekundära WLS-klustret. En geo-redundansväxlar alla sekundära databaser i gruppen till den primära rollen. Information om RPO för geo-redundans och RTO för Azure SQL Database finns i Översikt över affärskontinuitet.
Den här artikeln skrevs med Azure SQL Database-tjänsten eftersom artikeln förlitar sig på ha-funktionerna (hög tillgänglighet) för tjänsten. Andra databasval är möjliga, men du måste överväga ha-funktionerna i vilken databas du än väljer. Mer information, inklusive information om hur du optimerar konfigurationen av datakällor för replikering, finns i Konfigurera datakällor för Oracle Fusion Middleware Active-Passive Deployment.
Den här artikeln använder Azure Backup för att skydda AKS. Information om regiontillgänglighet, scenarier som stöds och begränsningar finns i Supportmatris för Azure Kubernetes Service-säkerhetskopiering. För närvarande har Azure Backup stöd för säkerhetskopieringar på valvnivå och återställning mellan regioner, som är tillgängliga i offentlig förhandsversion. Mer information finns i Aktivera säkerhetskopieringar på valvnivå för AKS och återställning mellan regioner med hjälp av Azure Backup.
Anteckning
I den här artikeln måste du ofta skapa unika identifierare för olika resurser. Den här artikeln använder konventionen om <initials><sequence-number>
som ett prefix. Om ditt namn till exempel är Emily Juanita Bernal är ejb01
en unik identifierare . För ytterligare tvetydighet kan du lägga till dagens datum i MMDD
format, till exempel ejb010307
.
En Azure-prenumeration. Om du inte har en Azure-prenumeration kan du skapa ettkostnadsfritt konto innan du börjar.
Kontrollera att du har rollen Owner
eller rollerna Contributor
och User Access Administrator
i prenumerationen. Du kan verifiera tilldelningen genom att följa stegen i Lista Azure-rolltilldelningar med hjälp av Azure Portal.
Förbered en lokal dator med Windows, Linux eller macOS installerat.
Om du vill köra Azure CLI-kommandon installerar du Azure CLI, version 2.54.0 eller senare.
Installera och konfigurera kubectl.
Installera och konfigurera Git.
Installera en Java SE-implementering, version 17 eller senare, till exempel Microsoft-versionen av OpenJDK.
Installera Maven, version 3.9.3 eller senare.
Ha autentiseringsuppgifterna för ett Oracle-konto för enkel inloggning (SSO). Information om hur du skapar ett finns i Skapa ditt Oracle-konto.
Använd följande steg för att godkänna licensvillkoren för WLS:
Att köra WLS på AKS kräver en förståelse för WLS-domäner. Mer information om WLS-domäner finns i avsnittet Bestäm om du vill använda det fördefinierade Azure Marketplace-erbjudandeti Migrera WebLogic Server-program till Azure Kubernetes Service. Den här artikeln förutsätter att du kör WLS på AKS med hjälp av modellen i startkälltypen för bilddomänen , med transaktionsloggar och lager i en extern databas och ingen extern lagring.
I det här avsnittet skapar du en Azure SQL Database-redundansgrupp i parkopplade regioner för användning med dina WLS-kluster och din app. I ett senare avsnitt konfigurerar du WLS för att lagra dess sessionsdata och transaktionsloggdata (TLOG) i den här databasen. Den här metoden överensstämmer med Oracles arkitektur för maximal tillgänglighet (MAA). Den här vägledningen ger en Azure-anpassning för MAA. Mer information om MAA finns i Oracles arkitektur för maximal tillgänglighet.
Skapa först den primära Azure SQL Database genom att följa de Azure Portal stegen i Snabbstart: Skapa en enkel databas – Azure SQL Database. Följ stegen upp till, men inte inkludera, avsnittet "Rensa resurser". Använd följande anvisningar när du går igenom artikeln och gå sedan tillbaka till den här artikeln när du har skapat och konfigurerat Azure SQL Database:
När du kommer till avsnittet Skapa en enkel databas använder du följande steg:
När du kommer till avsnittet Fråga databasen använder du följande steg:
I steg 3 anger du inloggningsinformation för sql-autentiseringsserveradministratören för att logga in.
Anteckning
Om inloggningen misslyckas med ett felmeddelande som liknar Klienten med IP-adressen "xx.xx.xx.xx.xx" inte har behörighet att komma åt servern väljer du Tillåtlista IP xx.xx.xx.xx på servern <your-sqlserver-name> i slutet av felmeddelandet. Vänta tills serverns brandväggsregler har uppdaterats och välj sedan OK igen.
När du har kört exempelfrågan i steg 5 rensar du redigeraren och skapar tabeller.
Om du vill skapa schemat anger du följande frågor:
Om du vill skapa schemat för TLOG anger du följande fråga:
create table TLOG_msp1_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
create table TLOG_msp2_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
create table TLOG_msp3_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
create table TLOG_msp4_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
create table TLOG_msp5_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
create table wl_servlet_sessions (wl_id VARCHAR(100) NOT NULL, wl_context_path VARCHAR(100) NOT NULL, wl_is_new CHAR(1), wl_create_time DECIMAL(20), wl_is_valid CHAR(1), wl_session_values VARBINARY(MAX), wl_access_time DECIMAL(20), wl_max_inactive_interval INTEGER, PRIMARY KEY (wl_id, wl_context_path));
Efter en lyckad körning bör du se meddelandet Query succeeded: Affected rows: 0
.
Dessa databastabeller används för att lagra transaktionsloggar (TLOG) och sessionsdata för dina WLS-kluster och din app. Mer information finns i Using a JDBC TLOG Store and Using a Database for Persistent Storage (JDBC Persistence).
Om du vill skapa schemat för exempelprogrammet anger du följande fråga:
CREATE TABLE COFFEE (ID NUMERIC(19) NOT NULL, NAME VARCHAR(255) NULL, PRICE FLOAT(32) NULL, PRIMARY KEY (ID));
CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT NUMERIC(28) NULL, PRIMARY KEY (SEQ_NAME));
Efter en lyckad körning bör du se meddelandet Query succeeded: Affected rows: 0
.
Nu är du klar med artikeln "Snabbstart: Skapa en enkel databas – Azure SQL Database".
Skapa sedan en Azure SQL Database-redundansgrupp genom att följa de Azure Portal stegen i Konfigurera en redundansgrupp för Azure SQL Database. Du behöver bara följande avsnitt: Skapa redundansgrupp och Testa planerad redundans. Följ stegen nedan när du går igenom artikeln och gå sedan tillbaka till den här artikeln när du har skapat och konfigurerat redundansgruppen för Azure SQL Database:
När du kommer till avsnittet Skapa redundansgrupp använder du följande steg:
När du har slutfört alla steg i avsnittet Testa planerad redundans håller du sidan redundansgrupp öppen och använder den för redundanstestet för WLS-kluster senare.
Följande steg instruerar dig att hämta JDBC-anslutningssträng och databasanvändarnamnet för databasen i redundansgruppen. Dessa värden skiljer sig från motsvarande värden för den primära databasen.
I Azure Portal letar du reda på resursgruppen som du distribuerade den primära databasen till.
I listan över resurser väljer du den primära databasen med typen SQL-databas.
Under Inställningar väljer du Anslutningssträngar.
Välj JDBC.
I textområdet under JDBC (SQL-autentisering) väljer du kopieringsikonen för att placera värdet för JDBC-anslutningssträng i Urklipp.
Klistra in värdet i en textredigerare. Du redigerar den i ett annat steg.
Gå tillbaka till resursgruppen.
Välj den resurs av typen SQL Server som innehåller databasen som du just tittade på i föregående steg.
Under Datahantering väljer du Redundansgrupper.
I tabellen mitt på sidan väljer du redundansgruppen.
I textområdet under Läs/skriv-lyssnarens slutpunkt väljer du kopieringsikonen för att placera värdet för JDBC-anslutningssträng i Urklipp.
Klistra in värdet på en ny rad i textredigeraren. Textredigeraren bör nu ha rader som liknar följande exempel:
jdbc:sqlserver://ejb010307db.database.windows.net:1433;database=ejb010307db;user=azureuser@ejb010307db;password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
ejb010307failover.database.windows.net
Skapa en ny rad med hjälp av följande ändringar:
Kopiera hela den första raden.
Ändra värdnamnsdelen av URL:en så att värdnamnet används från slutpunktsraden läs-/skrivlyssnare.
Ta bort allt efter paret name=value
för database
. Ta med andra ord bort allt inklusive och efter ;
omedelbart efter database=ejb010307db
.
När du är klar bör strängen se ut ungefär som i följande exempel:
jdbc:sqlserver://ejb010307failover.database.windows.net:1433;database=ejb010307db
Det här värdet är JDBC-anslutningssträng.
I samma textredigerare härleder du databasanvändarnamnet genom att hämta värdet för parametern user
från den ursprungliga JDBC-anslutningssträng och ersätta databasnamnet med den första delen av slutpunktsraden läs-/skrivlyssnare. Om du fortsätter med föregående exempel skulle värdet vara azureuser@ejb010307failover
. Det här värdet är användarnamnet för databasadministratören.
I det här avsnittet skapar du ett WLS-kluster på AKS med hjälp av Oracle WebLogic Server i AKS-erbjudandet . Klustret i USA, östra är det primära och konfigureras som det aktiva klustret.
Anteckning
Mer information om Oracle WebLogic Server i AKS-erbjudandet finns i följande artiklar:
I det här avsnittet skapar och paketar du ett CRUD Java/JakartaEE-exempelprogram som du senare distribuerar och kör i WLS-kluster för redundanstestning.
Appen använder WebLogic Server JDBC-sessionspersistence för att lagra HTTP-sessionsdata. Datakällan jdbc/WebLogicCafeDB
lagrar sessionsdata för att aktivera redundans och belastningsutjämning över ett kluster med WebLogic-servrar. Det konfigurerar ett beständigt schema för att bevara programdata coffee
i samma datakälla jdbc/WebLogicCafeDB
.
Använd följande steg för att skapa och paketera exemplet:
Använd följande kommandon för att klona exempellagringsplatsen och kolla in taggen som motsvarar den här artikeln:
git clone https://github.com/Azure-Samples/azure-cafe.git
cd azure-cafe
git checkout 20231206
Om du ser ett meddelande om Detached HEAD
är det säkert att ignorera.
Använd följande kommandon för att navigera till exempelkatalogen och kompilera och paketera sedan exemplet:
cd weblogic-cafe
mvn clean package
När paketet har genererats hittar du det på <.> Om du inte ser paketet måste du felsöka och lösa problemet innan du fortsätter.
Använd följande steg för att skapa ett lagringskonto och en container. Vissa av de här stegen leder dig till andra guider. När du har slutfört stegen kan du ladda upp ett exempelprogram för distribution på WLS.
Logga in på Azure-portalen.
Skapa ett lagringskonto genom att följa stegen i Skapa ett lagringskonto. Använd följande specialiseringar för värdena i artikeln:
Fortsätt att verifiera och skapa kontot och gå sedan tillbaka till den här artikeln.
Skapa en lagringscontainer i kontot genom att följa stegen i avsnittet Skapa en container i Snabbstart: Ladda upp, ladda ned och lista blobar med Azure Portal.
Med samma artikel laddar du upp paketet azure-café/weblogic-café/target/weblogic-café.war som du skapade tidigare genom att följa stegen i avsnittet Ladda upp en blockblob . Gå sedan tillbaka till den här artikeln.
Använd följande steg för att distribuera WLS på AKS:
Öppna Oracle WebLogic Server på AKS-erbjudandet i webbläsaren och välj Skapa. Du bör se fönstret Grundläggande i erbjudandet.
Använd följande steg för att fylla i fönstret Grundläggande :
Kontrollera att värdet som visas för Prenumeration är samma som har de roller som anges i avsnittet för förhandskrav.
I fältet Resursgrupp väljer du Skapa ny och fyller i ett unikt värde för resursgruppen , till exempel wlsaks-eastus-20240109.
Under Instansinformation väljer du USA, östra för Region.
Under Autentiseringsuppgifter WebLogic anger du ett lösenord för WebLogic-administratör respektive WebLogic-modellkryptering. Spara användarnamnet och lösenordet för WebLogic-administratören åt sidan.
Under Valfri grundläggande konfiguration, för Acceptera standardvärden för valfri konfiguration?, väljer du Nej. Den valfria konfigurationen visas.
Fyll i mspför namnprefix för Managed Server. Du konfigurerar WLS TLOG-tabellen med prefix senare TLOG_${serverName}_
. Den här artikeln skapar TLOG-tabellen med namnet TLOG_msp${index}_WLStore
. Om du vill ha ett annat prefix för hanterat servernamn kontrollerar du att värdet matchar namngivningskonventionerna för Microsoft SQL Server-tabeller och de riktiga tabellnamnen.
Lämna standardvärdena för de andra fälten.
Välj Nästa för att gå till AKS-fönstret.
Under Bildval anger du följande information:
Under Program använder du följande steg:
Välj Nästa.
Lämna standardvärdena i fönstret TLS/SSL-konfiguration och välj sedan Nästa för att gå till fönstret Belastningsutjämning .
I fönstret Belastningsutjämning bredvid Skapa ingress för administrationskonsolen. Kontrollera att inget program med sökvägen /console*, det kommer att orsaka konflikt med administrationskonsolsökvägen och välj Ja.
Lämna standardvärdena för de andra fälten och välj Nästa
Lämna standardvärdena i DNS-fönstret och välj Nästa för att gå till fönstret Databas .
Ange följande värden i fönstret Databas :
Välj Granska + skapa.
Vänta tills den slutgiltiga verifieringen har körts... har slutförts och välj sedan Skapa. Efter ett tag bör du se sidan Distribution där distribution pågår visas.
Anteckning
Om du ser några problem när du kör den slutliga valideringen... kan du åtgärda dem och försöka igen.
Beroende på nätverksförhållanden och annan aktivitet i den valda regionen kan distributionen ta upp till 70 minuter att slutföra. Därefter bör du se texten Distributionen är klar visas på distributionssidan.
I det här avsnittet konfigurerar du lagringen av TLOG-data genom att åsidosätta WLS-avbildningsmodellen med en ConfigMap
. Mer information om finns i ConfigMap
WebLogic Deploy Tooling Model ConfigMap.
Det här avsnittet kräver en Bash-terminal med Azure CLI och kubectl installerat. Använd följande steg för att härleda nödvändig YAML till och konfigurera lagring av TLOG-data:
Använd följande steg för att ansluta till ditt AKS-kluster:
Använd följande steg för att hämta topology:
posten från WLS-avbildningsmodellen YAML:
topology:
. Det bör inte finnas några poster på den översta nivån i filen förutom topology:
.Använd följande steg för att hämta ConfigMap
namn och namnområdesnamn från WLS-domänmodellen YAML:
Öppna Azure Portal och gå till resursgruppen som etablerades i avsnittet Distribuera WLS på AKS.
Välj Inställningar>Distributioner. Välj den första distributionen vars namn börjar med oracle.20210620-wls-on-aks.
Välj Utdata. Kopiera värdet för shellCmdtoOutputWlsDomainYaml till Urklipp. Värdet är ett gränssnittskommando för att avkoda base64-strängen med modellfilen och spara innehåll i model.yaml.
Klistra in värdet i terminalen så får du en fil med namnet domain.yaml.
Leta efter följande värden i domain.yaml-.
spec.configuration.model.configMap
. Om du accepterade standardvärdena är sample-domain1-wdt-config-map
det här värdet .metadata.namespace
. Om du accepterade standardvärdena är sample-domain1-ns
det här värdet .För enkelhetens skull kan du använda följande kommando för att spara dessa värden som gränssnittsvariabler:
export CONFIG_MAP_NAME=sample-domain1-wdt-config-map
export WLS_NS=sample-domain1-ns
Använd följande kommando för att hämta ConfigMap
YAML:
kubectl get configmap ${CONFIG_MAP_NAME} -n ${WLS_NS} -o yaml > configMap.yaml
Använd följande steg för att skapa filen tlog-db-model.yaml :
Skapa en tom fil med namnet tlog-db-model.yaml i en textredigerare.
Infoga innehållet i din model.yaml, lägg till en tom rad och infoga sedan innehållet i filen configMap.yaml .
. Lägg till den här texten på följande rad, var mycket försiktig TransactionLogJDBCStore
ListenPort
och de återstående raderna i följande kodfragment är indragna med två, som du ser i följande exempel:
TransactionLogJDBCStore:
Enabled: true
DataSource: jdbc/WebLogicCafeDB
PrefixName: TLOG_${serverName}_
Den slutförda tlog-db-model.yaml bör se mycket nära följande exempel:
topology:
Name: "@@ENV:CUSTOM_DOMAIN_NAME@@"
ProductionModeEnabled: true
AdminServerName: "admin-server"
Cluster:
"cluster-1":
DynamicServers:
ServerTemplate: "cluster-1-template"
ServerNamePrefix: "@@ENV:MANAGED_SERVER_PREFIX@@"
DynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
MaxDynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
MinDynamicClusterSize: "0"
CalculatedListenPorts: false
Server:
"admin-server":
ListenPort: 7001
ServerTemplate:
"cluster-1-template":
Cluster: "cluster-1"
ListenPort: 8001
TransactionLogJDBCStore:
Enabled: true
DataSource: jdbc/WebLogicCafeDB
PrefixName: TLOG_${serverName}_
SecurityConfiguration:
NodeManagerUsername: "@@SECRET:__weblogic-credentials__:username@@"
NodeManagerPasswordEncrypted: "@@SECRET:__weblogic-credentials__:password@@"
resources:
JDBCSystemResource:
jdbc/WebLogicCafeDB:
Target: 'cluster-1'
JdbcResource:
JDBCDataSourceParams:
JNDIName: [
jdbc/WebLogicCafeDB
]
GlobalTransactionsProtocol: None
JDBCDriverParams:
DriverName: com.microsoft.sqlserver.jdbc.SQLServerDriver
URL: '@@SECRET:ds-secret-sqlserver-1709938597:url@@'
PasswordEncrypted: '@@SECRET:ds-secret-sqlserver-1709938597:password@@'
Properties:
user:
Value: '@@SECRET:ds-secret-sqlserver-1709938597:user@@'
JDBCConnectionPoolParams:
TestTableName: SQL SELECT 1
TestConnectionsOnReserve: true
Åsidosätt WLS-modellen med ConfigMap
. Om du vill åsidosätta WLS-modellen ersätter du den befintliga ConfigMap
med den nya modellen. Mer information finns i Uppdatera en befintlig modell i Oracle-dokumentationen. Kör följande kommandon för att återskapa ConfigMap
:
export CM_NAME_FOR_MODEL=sample-domain1-wdt-config-map
kubectl -n sample-domain1-ns delete configmap ${CM_NAME_FOR_MODEL}
# replace path of tlog-db-model.yaml
kubectl -n sample-domain1-ns create configmap ${CM_NAME_FOR_MODEL} \
--from-file=tlog-db-model.yaml
kubectl -n sample-domain1-ns label configmap ${CM_NAME_FOR_MODEL} \
weblogic.domainUID=sample-domain1
Starta om WLS-klustret med hjälp av följande kommandon. Du måste orsaka en löpande uppdatering för att den nya modellen ska fungera.
export RESTART_VERSION=$(kubectl -n sample-domain1-ns get domain sample-domain1 '-o=jsonpath={.spec.restartVersion}')
# increase restart version
export RESTART_VERSION=$((RESTART_VERSION + 1))
kubectl -n sample-domain1-ns patch domain sample-domain1 \
--type=json \
'-p=[{"op": "replace", "path": "/spec/restartVersion", "value": "'${RESTART_VERSION}'" }]'
Kontrollera att WLS-poddarna körs innan du går vidare. Du kan använda följande kommando för att titta på status för poddarna:
kubectl get pod -n sample-domain1-ns -w
Anteckning
I den här artikeln ingår WLS-modeller i programcontaineravbildningen, som skapades av WLS i AKS-erbjudandet. TLOG konfigureras genom att åsidosätta den befintliga modellen med den WDT ConfigMap
som innehåller modellfilen och använder domänens CRD-fält configuration.model.configMap
för att referera till kartan. I produktionsscenarier är extrabilder den rekommenderade bästa metoden för att inkludera modell i bildmodellfiler, programarkivfiler och installation av WebLogic Deploy Tooling i dina poddar. Den här funktionen eliminerar behovet av att ange dessa filer i avbildningen som anges i domain.spec.image
.
I det här avsnittet använder du Azure Backup för att säkerhetskopiera AKS-kluster med hjälp av tillägget Säkerhetskopiering, som måste installeras i klustret.
Använd följande steg för att konfigurera geo-redundans:
Skapa en ny lagringscontainer för AKS-säkerhetskopieringstillägget i lagringskontot som du skapade i avsnittet Skapa ett lagringskonto och en lagringscontainer för att lagra exempelprogrammet .
Använd följande kommandon för att installera AKS-säkerhetskopieringstillägget och aktivera CSI-drivrutiner och ögonblicksbilder för klustret:
#replace with your resource group name.
export RG_NAME=wlsaks-eastus-20240109
export AKS_NAME=$(az aks list \
--resource-group ${RG_NAME} \
--query "[0].name" \
--output tsv)
az aks update \
--resource-group ${RG_NAME} \
--name ${AKS_NAME} \
--enable-disk-driver \
--enable-file-driver \
--enable-blob-driver \
--enable-snapshot-controller --yes
Det tar cirka 5 minuter att aktivera drivrutinerna. Kontrollera att kommandona har slutförts utan fel innan du går vidare.
Öppna den resursgrupp som har AKS distribuerat. Välj AKS-klustret i resurslistan.
På AKS-landningssidan väljer du >
På sidan Installera AKS Backup-tillägget väljer du Nästa. Välj lagringskontot och blobcontainern som skapades i föregående steg. Välj Nästa och sedan Skapa. Det tar ungefär fem minuter att slutföra det här steget.
Öppna Azure Portal genom att söka efter Säkerhetskopieringsvalv i sökfältet längst upp. Du bör se den i listan under Tjänster. Välj den.
Om du vill aktivera AKS Backup följer du stegen i Säkerhetskopiera Azure Kubernetes Service med hjälp av Azure Backup upp till, men inte inklusive, avsnittet "Använd krokar under AKS-säkerhetskopiering". Gör de justeringar som anges i följande steg.
När du når avsnittet "Skapa ett säkerhetskopieringsvalv" gör du följande justeringar:
När du når avsnittet "Skapa en säkerhetskopieringsprincip" gör du följande justeringar när du uppmanas att skapa en kvarhållningsprincip:
När du når avsnittet "Konfigurera säkerhetskopior" gör du följande justeringar. Steg 1–5 gäller installation av AKS-tillägg. Hoppa över steg 1–5 och börja från steg 6.
För steg 7 får du behörighetsfel. Välj Bevilja behörighet för att gå vidare. När behörighetsdistributionen har slutförts väljer du Omvalidera för att uppdatera rolltilldelningarna om felet fortfarande visas.
För steg 10 letar du reda på Välj resurser till Säkerhetskopiering och gör följande justeringar:
För steg 11 får du ett rolltilldelningsfel. Välj din datakälla i listan och välj Tilldela saknade roller för att åtgärda felet.
I det här avsnittet förbereder du dig för att återställa WLS-klustret i den sekundära regionen. Här är den sekundära regionen West US 2. Innan du återställer måste du ha ett AKS-kluster med AKS Backup Extension installerat i Västra USA 2-regionen.
Använd följande steg för att konfigurera Azure Container Registry (ACR) för geo-replikering, som innehåller den WLS-avbildning som du skapade i avsnittet Distribuera WLS på AKS . Om du vill aktivera ACR-replikering måste du uppgradera den till premiumprisplanen. Mer information finns i Geo-replikering i Azure Container Registry.
När distributionen är klar aktiveras ACR för geo-replikering.
Om du vill aktivera AKS Backup-tillägget måste du ange ett lagringskonto med en tom container i samma region.
Om du vill återställa säkerhetskopiering mellan regioner måste du ange en mellanlagringsplats där säkerhetskopieringsdata är hydratiserade. Den här mellanlagringsplatsen innehåller en resursgrupp och ett lagringskonto i den inom samma region och prenumeration som målklustret för återställning.
Använd följande steg för att skapa ett lagringskonto och en container. Vissa av de här stegen leder dig till andra guider.
Följande avsnitt visar hur du skapar ett AKS-kluster i en sekundär region.
Den här artikeln visar ett WLS-program med application gateway-ingresskontrollant. I det här avsnittet skapar du ett nytt AKS-kluster i regionen West US 2. Sedan aktiverar du ingresskontrollanttillägget med en ny application gateway-instans. Mer information finns i Aktivera ingresskontrollanttillägget för ett nytt AKS-kluster med en ny programgatewayinstans.
Använd följande steg för att skapa AKS-klustret:
Använd följande kommandon för att skapa en resursgrupp i den sekundära regionen:
export RG_NAME_WESTUS=wlsaks-westus-20240109
az group create --name ${RG_NAME_WESTUS} --location westus
Använd följande kommandon för att distribuera ett AKS-kluster med tillägget aktiverat:
export AKS_NAME_WESTUS=${RG_NAME_WESTUS}aks
export GATEWAY_NAME_WESTUS=${RG_NAME_WESTUS}gw
az aks create \
--resource-group ${RG_NAME_WESTUS} \
--name ${AKS_NAME_WESTUS} \
--network-plugin azure \
--enable-managed-identity \
--enable-addons ingress-appgw \
--appgw-name ${GATEWAY_NAME_WESTUS} \
--appgw-subnet-cidr "10.225.0.0/16" \
--generate-ssh-keys
Det här kommandot skapar automatiskt en Standard_v2 SKU
programgatewayinstans med namnet ${RG_NAME_WESTUS}gw
i resursgruppen AKS-nod. Nodresursgruppen namnges MC_resource-group-name_cluster-name_location
som standard.
Anteckning
AKS-klustret som du etablerade i avsnittet Distribuera WLS på AKS körs i tre tillgänglighetszoner i regionen USA, östra. Tillgänglighetszoner stöds inte i regionen West US 2. AKS-klustret i västra USA 2 är inte zonredundant. Om produktionsmiljön kräver zonredundans kontrollerar du att den kopplade regionen stöder tillgänglighetszoner. Mer information finns i avsnittet Översikt över tillgänglighetszoner för AKS-kluster i Skapa ett AKS-kluster (Azure Kubernetes Service) som använder tillgänglighetszoner.
Använd följande kommandon för att hämta den offentliga IP-adressen för programgatewayinstansen. Spara ip-adressen, som du använder senare i den här artikeln.
export APPGW_ID=$(az aks show \
--resource-group ${RG_NAME_WESTUS} \
--name ${AKS_NAME_WESTUS} \
--query 'addonProfiles.ingressApplicationGateway.config.effectiveApplicationGatewayId' \
--output tsv)
echo ${APPGW_ID}
export APPGW_IP_ID=$(az network application-gateway show \
--id ${APPGW_ID} \
--query frontendIPConfigurations\[0\].publicIPAddress.id \
--output tsv)
echo ${APPGW_IP_ID}
export APPGW_IP_ADDRESS=$(az network public-ip show \
--id ${APPGW_IP_ID} \
--query ipAddress \
--output tsv)
echo "App Gateway public IP address: ${APPGW_IP_ADDRESS}"
Använd följande kommando för att koppla en DNS-namnetikett (domain name service) till den offentliga IP-adressresursen. Ersätt <your-chosen-DNS-name>
med ett lämpligt värde , till exempel ejb010316
.
az network public-ip update --ids ${APPGW_IP_ID} --dns-name <your-chosen-DNS-name>
Du kan kontrollera det fullständigt kvalificerade domännamnet (FQDN) för den offentliga IP-adressen med az network public-ip show
. I följande exempel visas ett FQDN med DNS-etikett ejb010316
:
az network public-ip show \
--id ${APPGW_IP_ID} \
--query dnsSettings.fqdn \
--output tsv
Det här kommandot genererar utdata som liknar följande exempel:
ejb010316.westus.cloudapp.azure.com
Anteckning
Om du arbetar med ett befintligt AKS-kluster slutför du följande två åtgärder innan du går vidare:
weblogic-operator-ns
och WebLogic-servern i namnområdet sample-domain1-ns
. Kör kubectl delete namespace weblogic-operator-ns sample-domain1-ns
för att ta bort de två namnrymderna.Innan du fortsätter använder du följande steg för att installera AKS Backup-tillägget i klustret i den sekundära regionen:
Använd följande kommando för att ansluta till AKS-klustret i region Västra USA 2:
az aks get-credentials \
--resource-group ${RG_NAME_WESTUS} \
--name ${AKS_NAME_WESTUS}
Använd följande kommando för att aktivera CSI-drivrutiner och ögonblicksbilder för klustret:
az aks update \
--resource-group ${RG_NAME_WESTUS} \
--name ${AKS_NAME_WESTUS} \
--enable-disk-driver \
--enable-file-driver \
--enable-blob-driver \
--enable-snapshot-controller --yes
Öppna den resursgrupp som har AKS distribuerat. Välj AKS-klustret i resurslistan.
På AKS-landningssidan väljer du >
På sidan Installera AKS Backup-tillägget väljer du Nästa. Välj lagringskontot och blobcontainern som skapades i föregående steg. Välj Nästa och sedan Skapa. Det tar ungefär fem minuter att slutföra det här steget.
Anteckning
För att spara kostnader kan du stoppa AKS-klustret i den sekundära regionen genom att följa stegen i Stoppa och starta ett AkS-kluster (Azure Kubernetes Service). Starta det innan du återställer WLS-klustret.
I AKS är valvstandardnivån den enda nivån som stöder geo-redundans och återställning mellan regioner. Som anges i Vilken lagringsnivå för säkerhetskopiering stöder AKS-säkerhetskopiering?, "Endast en schemalagd återställningspunkt per dag flyttas till valvnivå." Du måste vänta tills en säkerhetskopia av valvstandard inträffar. En bra nedre gräns är att vänta 24 timmar efter att du har slutfört föregående steg innan du fortsätter.
Det primära WLS-klustret och det sekundära WLS-klustret konfigureras med samma TLOG-databas. Endast ett kluster kan äga databasen samtidigt. Stoppa det primära WLS-klustret för att säkerställa att det sekundära klustret fungerar korrekt. I den här artikeln stoppar du AKS-klustret för att inaktivera WLS-klustret med hjälp av följande steg:
AKS-säkerhetskopiering stöder säkerhetskopiering på både driftnivå och valvnivå. Endast säkerhetskopior som lagras på valvnivå kan användas för att återställa till ett kluster i en annan region (Azure Paired Region). Enligt de kvarhållningsregler som anges i säkerhetskopieringsprincipen flyttas den första lyckade säkerhetskopieringen av en dag till blobcontainern mellan regioner. Mer information finns i avsnittet Vilken lagringsnivå för säkerhetskopiering stöder AKS-säkerhetskopiering? i Vad är Säkerhetskopiering av Azure Kubernetes Service?
När du har konfigurerat geo-redundans i avsnittet Konfigurera geo-redundans med Azure Backup tar det minst en dag innan säkerhetskopior på valvnivå blir tillgängliga för återställning.
Använd följande steg för att återställa WLS-klustret:
Öppna Azure Portal och sök efter Backup Center. Välj Säkerhetskopieringscenter under Tjänster.
Under Hantera väljer du Säkerhetskopieringsinstanser. Filtrera på datakällans typ Kubernetes Services för att hitta den säkerhetskopieringsinstans som du skapade i föregående avsnitt.
Välj säkerhetskopieringsinstansen för att se listan med återställningspunkter. I den här artikeln är instansnamnet en sträng som liknar wlsonaks*\wlsaksinstance20240109
.
Välj den senaste säkerhetskopian av drifts- och valvstandard och välj sedan Fler alternativ. Välj Återställ för att starta återställningsprocessen.
På sidan Återställ är standardfönstret Återställningspunkt. Välj Föregående för att ändra till fönstret Grundläggande . För Återställ region väljer du Sekundär region och sedan Nästa: Återställningspunkt.
I fönstret Återställningspunkt för Välj den nivå som ska återställas väljer du Arkivarkiv och sedan Nästa:Återställ parametrar.
Använd följande steg i fönstret Återställningsparametrar :
För Välj målklusterska du välja det AKS-kluster som du skapade i regionen Västra USA 2. Du stöter på ett behörighetsproblem som visas på följande skärmbild. Välj Bevilja behörighet för att åtgärda felen.
Välj för mellanlagringsplats för säkerhetskopieringdet lagringskonto som du skapade i Västra USA 2. Du stöter på ett behörighetsproblem som visas på följande skärmbild. Välj Tilldela saknade roller för att åtgärda felen.
Om felen fortfarande inträffar när rolltilldelningarna har slutförts väljer du Förnya för att uppdatera behörigheterna.
När du beviljar saknade behörigheter godkänner du standardvärdet om du uppmanas att ange ett omfång.
Välj validera. Du bör se meddelandet Validering har slutförts. Annars kan du felsöka och lösa problemet innan du fortsätter.
Välj Nästa:Granska + återställa och välj sedan Återställ. Det tar cirka 10 minuter att återställa WLS-klustret.
Du kan övervaka återställningsprocessen från Säkerhetskopieringscenter>Övervakning + rapportering>Säkerhetskopieringsjobb, enligt följande skärmbild:
Välj Uppdatera för att se den senaste förloppet.
När processen har slutförts utan fel stoppar du AKS-säkerhetskopieringsklustret. Om du inte gör det uppstår ägarkonflikter när du kommer åt TLOG-databasen i senare steg.
Starta det primära klustret.
I det här avsnittet skapar du en Azure Traffic Manager för att distribuera trafik till dina offentliga program i de globala Azure-regionerna. Den primära slutpunkten pekar på Azure Application Gateway i det primära WLS-klustret och den sekundära slutpunkten pekar på Azure Application Gateway i det sekundära WLS-klustret.
Skapa en Azure Traffic Manager-profil genom att följa stegen i Snabbstart: Skapa en Traffic Manager-profil med hjälp av Azure Portal. Hoppa över avsnittet "Förutsättningar". Du behöver bara följande avsnitt: Skapa en Traffic Manager-profil, Lägg till Traffic Manager-slutpunkter och Testa Traffic Manager-profil. Använd följande steg när du går igenom de här avsnitten och gå sedan tillbaka till den här artikeln när du har skapat och konfigurerat Azure Traffic Manager:
När du kommer till avsnittet Skapa en Traffic Manager-profil använder du följande steg i steg 2 Skapa Traffic Manager-profil:
När du kommer till avsnittet Lägg till Traffic Manager-slutpunkter använder du följande steg:
myPrimaryEndpoint
använder du följande steg: När du når avsnittet Test Traffic Manager-profil använder du följande steg:
http://tmprofile-ejb120623.trafficmanager.net
.http://tmprofile-ejb120623.trafficmanager.net/weblogic/ready
. Du bör se en tom sida utan felmeddelande.Nu har den primära slutpunkten tillstånden Aktiverad och Online och redundansslutpunkten har tillstånden Aktiverad och Degraderad i Traffic Manager-profilen. Håll sidan öppen för att övervaka slutpunktsstatusen senare.
För att testa redundansväxlingen redundansväxlar du manuellt den primära databasservern och WLS-klustret till den sekundära databasservern och WLS-klustret i det här avsnittet.
Eftersom det primära klustret är igång fungerar det som det aktiva klustret och hanterar alla användarbegäranden som dirigeras av traffic manager-profilen.
Öppna DNS-namnet på din Azure Traffic Manager-profil på en ny flik i webbläsaren och lägg till kontextroten /weblogic-café för den distribuerade appen , till exempel http://tmprofile-ejb120623.trafficmanager.net/weblogic-cafe
. Skapa en ny kaffe med namn och pris – till exempel Kaffe 1 med pris 10. Den här posten sparas i både programdatatabellen och sessionstabellen i databasen. Användargränssnittet som du ser bör likna följande skärmbild:
Om användargränssnittet inte ser liknande ut kan du felsöka och lösa problemet innan du fortsätter.
Håll sidan öppen så att du kan använda den för redundanstestning senare.
Använd följande steg för att redundansväxla från primär till sekundär.
Använd först följande steg för att stoppa det primära AKS-klustret:
Använd sedan följande steg för att redundansväxla Azure SQL Database från den primära servern till den sekundära servern.
Använd sedan följande steg för att starta det sekundära klustret.
Använd slutligen följande steg för att verifiera exempelappen när slutpunkten myFailoverEndpoint
är i onlinetillståndet:
Växla till webbläsarfliken i Traffic Manager och uppdatera sedan sidan tills du ser att värdet Övervaka status för slutpunkten myFailoverEndpoint
anger onlinetillståndet.
Växla till webbläsarfliken i exempelappen och uppdatera sidan. Du bör se samma data som sparas i programdatatabellen och sessionstabellen som visas i användargränssnittet, enligt följande skärmbild:
Om du inte ser det här beteendet kan det bero på att Traffic Manager tar tid att uppdatera DNS för att peka på redundansplatsen. Problemet kan också vara att webbläsaren cachelagrade dns-namnmatchningsresultatet som pekar på den misslyckade webbplatsen. Vänta ett tag och uppdatera sidan igen.
Anteckning
En produktionsklar HA/DR-lösning skulle kunna hantera kontinuerlig kopiering av WLS-konfigurationen från det primära till det sekundära klustret enligt ett regelbundet schema. Information om hur du gör detta finns i referenserna till Oracle-dokumentationen i slutet av den här artikeln.
Om du vill automatisera redundansväxlingen bör du överväga att använda aviseringar på Traffic Manager-mått och Azure Automation. Mer information finns i avsnittet Aviseringar om Traffic Manager-mått i Traffic Manager-mått och aviseringar och Använd en avisering för att utlösa en Azure Automation-runbook.
Om du vill återställa till den primära platsen måste du se till att de två klustren har en speglingssäkerhetskonfiguration. Du kan uppnå det här tillståndet med hjälp av följande steg:
Om du inte kommer att fortsätta att använda WLS-kluster och andra komponenter använder du följande steg för att ta bort resursgrupperna för att rensa de resurser som används i den här självstudien:
myResourceGroup
– i sökrutan överst i Azure-portalen och välj den matchade resursgruppen i sökresultaten.myResourceGroupTM1
.wls-aks-eastus-20240109
.wls-aks-westus-20240109
.I den här självstudien konfigurerar du en HA/DR-lösning som består av en aktiv-passiv programinfrastrukturnivå med en aktiv-passiv databasnivå och där båda nivåerna sträcker sig över två geografiskt olika platser. På den första platsen är både programinfrastrukturnivån och databasnivån aktiva. På den andra platsen stängs den sekundära domänen av och den sekundära databasen är i vänteläge.
Fortsätt att utforska följande referenser för fler alternativ för att skapa HA/DR-lösningar och köra WLS på Azure:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Distribuera ett Java EE-program (Jakarta EE) till Azure - Training
Distribuera ett Java EE-program (Jakarta EE) till JBoss EAP i Azure App Service och binda det till Azure Database for MySQL.
Certifiering
Microsoft-certifierad: Azure-databasadministratör associate - Certifications
Administrera en SQL Server-databasinfrastruktur för molndatabaser, lokala databaser och hybridrelationsdatabaser med hjälp av microsoft PaaS-relationsdatabaserbjudanden.
Dokumentation
Återställa Azure Kubernetes Service (AKS) med Azure Backup - Azure Backup
Den här artikeln beskriver hur du återställer säkerhetskopierade Azure Kubernetes Service (AKS) med Azure Backup.
Vad är Säkerhetskopiering av Azure Kubernetes Service (AKS)? - Azure Backup
Förstå säkerhetskopiering av Azure Kubernetes Service (AKS), den molnbaserade processen för att säkerhetskopiera och återställa de containerbaserade program och data som körs i ett AKS-kluster.
Säkerhetskopiera Azure Kubernetes Service med hjälp av Azure Backup - Azure Backup
Lär dig hur du säkerhetskopierar Azure Kubernetes Service (AKS) med hjälp av Azure Backup.