Lernprogramm: Migrieren von Oracle WebLogic Server zu Azure Kubernetes Service (AKS) mit Georedundanz
Dieses Tutorial zeigt Ihnen eine einfache und effektive Möglichkeit zum Implementieren einer Geschäftskontinuitäts- und Notfallwiederherstellungsstrategie für Java mithilfe von Oracle WebLogic Server (WLS) auf Azure Kubernetes Service (AKS). Die Lösung veranschaulicht, wie Sie eine WLS-Workload mithilfe einer einfachen datenbankgesteuerten Jakarta EE-Anwendung sichern und wiederherstellen, die auf AKS ausgeführt wird. Georedundanz ist ein komplexes Thema mit vielen möglichen Lösungen. Die beste Lösung hängt von Ihren individuellen Anforderungen ab. Weitere Möglichkeiten zum Implementieren von Georedundanz finden Sie in den Ressourcen am Ende dieses Artikels.
In diesem Tutorial lernen Sie Folgendes:
- Verwenden Sie für Azure optimierte Best Practices, um Hochverfügbarkeit und Notfallwiederherstellung (HA/DR) zu erreichen.
- Richten Sie eine Microsoft Azure SQL-Datenbank-Failovergruppe in Regionspaaren ein.
- Richten Sie primäre WLS-Cluster auf AKS ein, und konfigurieren Sie sie.
- Konfigurieren Sie Georedundanz mithilfe von Azure Backup.
- Stellen Sie einen WLS-Cluster in einer sekundären Region wieder her.
- Richten Sie einen Azure Traffic Manager ein.
- Testen des Failovers.
Das folgende Diagramm veranschaulicht die von Ihnen erstellte Architektur:
Azure Traffic Manager überprüft den Status Ihrer Regionen und leitet den Datenverkehr entsprechend an die Anwendungsebene weiter. Die primäre Region verfügt über eine vollständige Bereitstellung des WLS-Clusters. Nur die primäre Region bearbeitet aktiv Netzwerkanforderungen der Benutzer. Die sekundäre Region stellt den WLS-Cluster aus Sicherungen der primären Region wieder her, wenn ein Notfall- oder deklariertes DR-Ereignis vorhanden ist. Die sekundäre Region wird nur dann zum Empfang von Datenverkehr aktiviert, wenn in der primären Region eine Dienstunterbrechung auftritt.
Azure Traffic Manager verwendet das Integritätsprüfungsfeature von Azure Application Gateway und den WebLogic Kubernetes Operator (WKO), um dieses bedingte Routing zu implementieren. WKO ist eng mit den AKS-Integritätsprüfungen integriert, sodass Azure Traffic Manager einen umfassenden Überblick über die Integrität Ihrer Java-Workload hat. Der primäre WLS wird ausgeführt, und der sekundäre Cluster wird heruntergefahren.
Das Recovery Time Objective (RTO) des Geofailovers der Anwendungsebene hängt von der Zeit zum Starten von AKS und Ausführen des sekundären WLS-Clusters ab, die normalerweise weniger als eine Stunde beträgt. Die Anwendungsdaten werden in der Failovergruppe der Azure SQL-Datenbank gespeichert und repliziert, mit einem RTO von Minuten oder Stunden und einem Recovery Point Objective (RPO) von Minuten oder Stunden. In dieser Architektur verfügt Azure Backup täglich nur über eine Vault-standard-Sicherung für die WLS-Konfiguration. Weitere Informationen finden Sie unter Was ist Azure Kubernetes Service-Backup (AKS)?.
Die Datenbankebene besteht aus einer Azure SQL-Datenbank-Failovergruppe mit einem primären Server und einem sekundären Server. Der primäre Server befindet sich im aktiven Lese-/Schreibmodus und ist mit dem primären WLS-Cluster verbunden. Der sekundäre Server befindet sich im passiven schreibgeschützten Modus und ist mit dem sekundären WLS-Cluster verbunden. Sowohl bei manueller als auch automatischer Failover-Aktivierung schaltet das Geofailover alle sekundären Datenbanken in der Gruppe zur primären Rolle um. Informationen zu RPOs und RTO für Geofailover der Azure SQL-Datenbank finden Sie unter Übersicht über die Geschäftskontinuität.
Dieser Artikel wurde mit dem Azure SQL-Datenbankdienst geschrieben, da der Artikel auf die Features für hohe Verfügbarkeit (High Availability, HA) dieses Diensts basiert. Andere Datenbankoptionen sind möglich, aber Sie müssen die HA-Features der von Ihnen ausgewählten Datenbank berücksichtigen. Weitere Informationen, einschließlich Informationen zur Optimierung der Konfiguration von Datenquellen für die Replikation, finden Sie unter Konfigurieren von Datenquellen für die aktive/passive Bereitstellung von Oracle Fusion Middleware.
In diesem Artikel wird Azure Backup zum Schutz von AKS verwendet. Informationen zu unterstützten Szenarien und Einschränkungen finden Sie in der Azure Kubernetes Service-Backup-Supportmatrix. Derzeit unterstützt Azure Backup Sicherungen und Wiederherstellungen auf Tresorebene über Regionen hinweg, die in der öffentlichen Vorschauversion verfügbar sind. Weitere Informationen finden Sie unter Aktivieren von Sicherungen auf Tresorebene für AKS und regionsübergreifendes Wiederherstellen mithilfe von Azure Backup.
Hinweis
In diesem Artikel müssen Sie häufig eindeutige Bezeichner für verschiedene Ressourcen erstellen. In diesem Artikel wird die Konvention von <initials><sequence-number>
als Präfix verwendet. Wenn Ihr Name beispielsweise Emily Juanita Bernal ist, wäre ejb01
ein eindeutiger Bezeichner. Zur weiteren Eindeutigkeit können Sie das heutige Datum im MMDD
-Format anfügen, z. B. ejb010307
.
Voraussetzungen
Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Stellen Sie sicher, dass Sie im Abonnement über die
Owner
-Rolle oder dieContributor
-Rolle und dieUser Access Administrator
-Rolle verfügen. Sie können die Aufgabe überprüfen, indem Sie die Schritte in Auflisten von Azure-Rollenzuweisungen mithilfe des Azure-Portals befolgen.Bereiten Sie einen lokalen Computer mit installiertem Windows, Linux oder macOS vor.
Um Azure CLI-Befehle auszuführen, installieren Sie Azure CLI, Version 2.54.0 oder höher.
Installieren Sie kubectl, und richten Sie es ein.
Installieren Sie Git, und richten Sie es ein.
Installieren Sie eine Java SE-Implementierung, Version 17 oder höher, z. B. der Microsoft-Build von OpenJDK.
Installieren Sie Maven, Version 3.9.3 oder höher.
Sie benötigen Anmeldeinformationen für ein Oracle-Konto mit einmaligem Anmelden (Single Sign-On, SSO). Informationen zum Erstellen eines Kontos finden Sie unter Oracle Account erstellen.
Führen Sie die folgenden Schritte aus, um die Lizenzbedingungen für WLS zu akzeptieren:
- Besuchen Sie die Oracle Container Registry, und melden Sie sich an.
- Wenn Sie über eine Supportberechtigung verfügen, wählen Sie Middleware aus, suchen Sie weblogic_cpu, und wählen Sie den Eintrag aus.
- Wenn Sie keine Supportberechtigung von Oracle besitzen, wählen Sie Middleware aus, suchen Sie weblogic, und wählen Sie den Eintrag aus.
- Akzeptieren Sie den Lizenzvertrag.
Das Ausführen von WLS auf AKS erfordert ein Verständnis von WLS-Domänen. Weitere Informationen zu WLS-Domänen finden Sie im Abschnitt Entscheiden, ob das vordefinierten Azure Marketplace-Angebot verwendet werde soll von Migrieren von WebLogic Server-Anwendungen zu Azure Kubernetes Service. In diesem Artikel wird davon ausgegangen, dass Sie WLS auf AKS unter Verwendung des Modells im Image-Domänen-Home-Quelltyp mit Transaktionsprotokollen und Speichern in einer externen Datenbank und ohne externen Speicher ausführen.
Einrichten einer Azure SQL-Datenbank-Failovergruppe in Regionspaaren
In diesem Abschnitt erstellen Sie eine Azure SQL-Datenbank-Failovergruppe in Regionspaaren für die Verwendung mit Ihren WLS-Clustern und Ihrer App. In einem späteren Abschnitt konfigurieren Sie WLS so, dass die Sitzungsdaten und die Transaktionsprotokolldaten (TLOG) in dieser Datenbank gespeichert werden. Diese Vorgehensweise entspricht der Maximum Availability Architecture (MAA) von Oracle. Dieser Leitfaden bietet eine Azure-Anpassung für MAA. Weitere Informationen zu MAA finden Sie unter Oracle Maximum Availability Architecture.
Erstellen Sie zunächst die primäre Azure SQL-Datenbank, indem Sie die Schritte im Azure-Portal in Schnellstart: Erstellen einer Einzeldatenbank – Azure SQL-Datenbank befolgen. Befolgen Sie die Schritte bis zum Abschnitt „Ressourcen bereinigen“, jedoch nicht einschließlich dieses Abschnitts. Befolgen Sie die folgenden Anweisungen, während Sie den Artikel durchgehen, kehren Sie dann nach dem Erstellen und Konfigurieren der Azure SQL-Datenbank zu diesem Artikel zurück:
Wenn Sie den Abschnitt Erstellen einer Einzeldatenbank erreichen, verwenden Sie die folgenden Schritte:
- Speichern Sie in Schritt 4 zum Erstellen einer neuen Ressourcengruppe den Wert Ressourcengruppenname, z. B. myResourceGroup.
- Speichern Sie in Schritt 5 für den Datenbanknamen den Wert Datenbankname, z. B. mySampleDatabase.
- Führen Sie in Schritt 6 zum Erstellen des Servers die folgenden Schritte aus:
- Speichern Sie den eindeutigen Servernamen, z. B. sqlserverprimary-ejb120623.
- Wählen Sie unter Standort die Option (USA) USA, Osten aus.
- Wählen Sie für Authentifizierungsmethode die Option SQL-Authentifizierung verwenden aus.
- Speichern Sie den Wert Serveradministratoranmeldung, z. B. azureuser.
- Speichern Sie den Wert Kennwort.
- Wählen Sie in Schritt 8 für Workloadumgebung die Option Entwicklung aus. Sehen Sie sich die Beschreibung an, und berücksichtigen Sie weitere Optionen für Ihre Workload.
- Wählen Sie in Schritt 11 für Redundanz für Sicherungsspeicher die Option Lokal redundanter Sicherungsspeicher aus. Ziehen Sie weitere Optionen für Ihre Sicherungen in Betracht. Weitere Informationen finden Sie im Abschnitt Redundanz des Sicherungsspeichers von Automatisierte Sicherungen in Azure SQL-Datenbank.
- Wählen Sie in Schritt 14 in der Konfiguration der Firewallregeln für Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben die Option Ja aus.
Wenn Sie den Abschnitt Abfragen der Datenbank erreichen, verwenden Sie die folgenden Schritte:
Geben Sie in Schritt 3 Ihre Serveradministrator-Anmeldeinformationen der SQL-Authentifizierung zur Anmeldung ein.
Hinweis
Wenn die Anmeldung mit einer Fehlermeldung ähnlich der folgenden Client mit IP-Adresse 'xx.xx.xx.xx' darf nicht auf den Server zugreifen angezeigt wird, wählen Sie IP xx.xx.xx.xx im Server auf die Positivliste setzen <your-sqlserver-name> am Ende der Fehlernachricht aus. Warten Sie, bis die Serverfirewallregeln die Aktualisierung abgeschlossen haben, und wählen Sie dann erneut OK aus.
Nachdem Sie die Beispielabfrage in Schritt 5 ausgeführt haben, löschen Sie den Editor, und erstellen Sie Tabellen.
Geben Sie zum Erstellen des Schemas die folgenden Abfragen ein:
Um das Schema für den TLOG zu erstellen, geben Sie die folgende Abfrage ein:
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));
Nach einer erfolgreichen Ausführung sollte die Meldung
Query succeeded: Affected rows: 0
angezeigt werden.Diese Datenbanktabellen werden zum Speichern des Transaktionsprotokolls (TLOG) und der Sitzungsdaten für Ihre WLS-Cluster und -App verwendet. Weitere Informationen finden Sie unter Verwenden eines JDBC TLOG-Speichers und Verwenden einer Datenbank für persistenten Speicher (JDBC-Persistenz).
Geben Sie die folgende Abfrage ein, um das Schema für die Beispielanwendung zu erstellen:
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));
Nach einer erfolgreichen Ausführung sollte die Meldung
Query succeeded: Affected rows: 0
angezeigt werden.
Sie sind nun mit dem Artikel „Schnellstart: Erstellen einer einzelnen Datenbank – Azure SQL-Datenbank“ fertig.
Erstellen Sie als Nächstes eine Azure SQL-Datenbank-Failovergruppe, indem Sie die Azure-Portal-Schritte unter Konfigurieren einer Failovergruppe für Azure SQL-Datenbank ausführen. Sie benötigen lediglich die folgenden Abschnitte: Erstellen einer Failovergruppe und Testen des geplanten Failovers. Befolgen Sie die folgenden Schritte, während Sie den Artikel durchgehen, kehren Sie dann nach dem Erstellen und Konfigurieren der Azure SQL-Datenbank-Failovergruppe zu diesem Artikel zurück:
Wenn Sie den Abschnitt Erstellen einer Failovergruppe erreichen, verwenden Sie die folgenden Schritte:
- Wählen Sie in Schritt 5 zum Erstellen der Failovergruppe die Option aus, um einen neuen sekundären Server zu erstellen, und führen Sie dann die folgenden Schritte aus:
- Geben Sie den Namen der Failovergruppe ein, z. B. failovergroupname-ejb120623, und speichern Sie diesen.
- Geben Sie den eindeutigen Servernamen ein, z. B. sqlserversecondary-ejb120623, und speichern Sie diesen.
- Geben Sie denselben Serveradministrator und dasselbe Kennwort wie für Ihren primären Server ein.
- Wählen Sie für Standort eine andere Region als die aus, die Sie für die primäre Datenbank verwendet haben.
- Achten Sie darauf, dass Azure-Diensten Zugriff auf den Server erlauben aktiviert ist.
- Wählen Sie zum Konfigurieren von Datenbanken in der Gruppe in Schritt 5 die Datenbank aus, die Sie im primären Server erstellt haben, z. B. mySampleDatabase.
- Wählen Sie in Schritt 5 zum Erstellen der Failovergruppe die Option aus, um einen neuen sekundären Server zu erstellen, und führen Sie dann die folgenden Schritte aus:
Nachdem Sie alle Schritte im Abschnitt Geplantes Failover testen abgeschlossen haben, lassen Sie die Failovergruppenseite geöffnet, und verwenden Sie sie später für den Failovertest der WLS-Cluster.
Abrufen der JDBC-Verbindungszeichenfolge und des Datenbankadministrator-Benutzernamens für die Failovergruppe
Mit den folgenden Schritten können Sie die JDBC-Verbindungszeichenfolge und den Datenbankbenutzernamen für die Datenbank innerhalb der Failovergruppe abrufen. Diese Werte unterscheiden sich von den entsprechenden Werten für die primäre Datenbank.
Suchen Sie im Azure-Portal die Ressourcengruppe, in der Sie die primäre Datenbank bereitgestellt haben.
Wählen Sie in der Liste der Ressourcen die primäre Datenbank vom Typ SQL-Datenbank aus.
Wählen Sie unter Einstellungen die Option Verbindungszeichenfolgen aus.
Wählen Sie JDBC (Hinzufügen) aus.
Wählen Sie im Textbereich unter JDBC (SQL-Authentifizierung) das Kopiersymbol aus, um den Wert der JDBC-Verbindungszeichenfolge in die Zwischenablage zu setzen.
Fügen Sie den Wert in einen Text-Editor ein. Sie bearbeiten ihn in einem anderen Schritt.
Kehren Sie zur Ressourcengruppe zurück.
Wählen Sie die Ressource vom Typ SQL Server aus, die die Datenbank enthält, die Sie soeben in den vorherigen Schritten angesehen haben.
Wählen Sie unter Datenverwaltung die Option Failovergruppen aus.
Wählen Sie in der Tabelle in der Mitte der Seite die Failovergruppe aus.
Wählen Sie im Textbereich unter Lese-/Schreiblistenerendpunkt das Kopiersymbol aus, um den Wert der JDBC-Verbindungszeichenfolge in der Zwischenablage einzufügen.
Fügen Sie den Wert in eine neue Zeile in den Text-Editor ein. Ihr Text-Editor sollte nun Zeilen ähnlich wie im folgenden Beispiel haben:
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
Erstellen Sie eine neue Zeile mit den folgenden Änderungen:
Kopieren Sie die gesamte erste Zeile.
Ändern Sie den Hostnamenteil der URL, um den Hostnamen aus der Lese-/Schreibzugriff-Listener-Endpunktzeile zu verwenden.
Entfernen Sie alles nach dem
name=value
-Paar fürdatabase
. Mit anderen Worten: Entfernen Sie alles, einschließlich und nach dem;
unmittelbar nachdatabase=ejb010307db
.Wenn Sie fertig sind, sollte die Zeichenfolge dem folgenden Beispiel ähneln:
jdbc:sqlserver://ejb010307failover.database.windows.net:1433;database=ejb010307db
Dieser Wert ist die JDBC-Verbindungszeichenfolge.
Leiten Sie im gleichen Text-Editor den Datenbankbenutzernamen ab, indem Sie den Wert des
user
-Parameters aus der ursprünglichen JDBC-Verbindungszeichenfolge abrufen und den Datenbanknamen durch den ersten Teil der Lese-/Schreib-Listener-Endpunktzeile ersetzen. Wenn Sie mit dem vorherigen Beispiel fortfahren, sollte der Wertazureuser@ejb010307failover
lauten. Dieser Wert ist der Benutzername des Datenbankadministrators.
Die primären WLS-Cluster auf AKS einrichten und konfigurieren
In diesem Abschnitt erstellen Sie einen WLS-Cluster auf AKS mit dem Oracle WebLogic Server auf AKS-Angebot. Der Cluster in USA, Osten ist der primäre und wird als aktiver Cluster konfiguriert.
Hinweis
Weitere Informationen zum Angebot Oracle WebLogic Server auf AKS finden Sie in den folgenden Artikeln:
Vorbereiten einer Beispiel-App
In diesem Abschnitt erstellen und verpacken Sie eine Beispiel-CRUD Java/JakartaEE-Anwendung, die Sie später für Failovertests auf WLS-Clustern bereitstellen und ausführen.
Die App verwendet die JDBC-Sitzungspersistenz von WebLogic-Server, um HTTP-Sitzungsdaten zu speichern. Die Datenquelle jdbc/WebLogicCafeDB
speichert die Sitzungsdaten, um Failover und Lastenausgleich über einen Cluster von WebLogic-Servern zu ermöglichen. Sie konfiguriert ein Persistenzschema, um Anwendungsdaten coffee
in derselben Datenquelle jdbc/WebLogicCafeDB
zu speichern.
Verwenden Sie die folgenden Schritte, um das Beispiel zu erstellen und zu paketieren:
Verwenden Sie die folgenden Befehle, um das Beispiel-Repository zu klonen und das Tag auszuchecken, das diesem Artikel entspricht:
git clone https://github.com/Azure-Samples/azure-cafe.git cd azure-cafe git checkout 20231206
Wenn Ihnen eine Meldung über
Detached HEAD
angezeigt wird, können Sie sie einfach ignorieren.Verwenden Sie die folgenden Befehle, um zum Beispielverzeichnis zu navigieren und dann das Beispiel zu kompilieren und zu verpacken:
cd weblogic-cafe mvn clean package
Wenn das Paket erfolgreich generiert wird, finden Sie es unter <parent-path-to-your-local-clone>/azure-cafe/weblogic-cafe/target/weblogic-cafe.war. Wenn das Paket nicht angezeigt wird, müssen Sie das Problem beheben, bevor Sie fortfahren.
Erstellen eines Speicherkontos und eines Speichercontainers für die Beispielanwendung
Führen Sie die folgenden Schritte, um ein Speicherkonto und einen Container zu erstellen. Bei einigen Schritten werden Sie zu anderen Anleitungen weitergeleitet. Nachdem Sie die Schritte ausgeführt haben, können Sie eine Beispielanwendung hochladen, die in WLS bereitgestellt werden soll.
Melden Sie sich beim Azure-Portal an.
Erstellen Sie ein Speicherkonto, indem Sie die Schritte unter Erstellen eines Speicherkontos ausführen. Verwenden Sie die folgenden Spezialisierungen für die Werte im Artikel:
- Erstellen Sie eine neue Ressourcengruppe für das Speicherkonto.
- Wählen Sie als Region die Option USA, Osten aus.
- Verwenden Sie für Speicherkontoname denselben Wert wie für den Namen der Ressourcengruppe.
- Wählen Sie für Leistung die Option Standard aus.
- Wählen Sie unter Redundanz die Option Lokal redundanter Speicher (LRS) aus.
- Die verbleibenden Registerkarten benötigen keine Spezialisierungen.
Fahren Sie mit der Überprüfung und Erstellung des Kontos fort, und kehren Sie zu diesem Artikel zurück.
Erstellen Sie einen Speichercontainer innerhalb des Kontos, indem Sie die Schritte im Abschnitt Erstellen eines Containers der Schnellstartanleitung: Hochladen, Herunterladen und Auflisten von Blobs mit dem Azure-Portal ausführen.
Laden Sie mit demselben Artikel das azure-cafe/weblogic-cafe/target/weblogic-cafe.war-Paket hoch, das Sie zuvor erstellt haben, indem Sie die Schritte im AbschnittHochladen eines Blockblobs ausführen. Kehren Sie dann zu diesem Artikel zurück.
Bereitstellen von WLS in AKS
Führen Sie die folgenden Schritte aus, um WLS auf AKS bereitzustellen:
Öffnen Sie das Oracle WebLogic Server auf AKS-Angebot in Ihrem Browser, und wählen Sie Erstellen aus. Der Bereich Grundeinstellungen des Angebots sollte angezeigt werden.
Führen Sie die folgenden Schritte aus, um den Bereich Grundeinstellungen auszufüllen:
Stellen Sie sicher, dass der für Abonnement angezeigte Wert mit dem Wert übereinstimmt, der die im Abschnitt „Voraussetzungen“ aufgeführten Rollen enthält.
Sie müssen das Angebot in einer leeren Ressourcengruppe bereitstellen. Wählen Sie im Feld Ressourcengruppe die Option Neu erstellen aus, und geben Sie einen eindeutigen Wert für die Ressourcengruppe ein, z. B. wlsaks-eastus-20240109.
Wählen Sie unter Instanzdetails für Region die Option USA, Osten aus.
Geben Sie unter Anmeldeinformationen WebLogic ein Passwort für WebLogic-Administrator und WebLogic-Modellverschlüsselung ein. Speichern Sie den Benutzernamen und das Kennwort für WebSphere Administrator.
Wählen Sie unter Optional Basiskonfiguration für Standardwerte für optionale Konfiguration akzeptieren? die Option Nein aus. Die optionale Konfiguration wird angezeigt.
Geben Sie für Namenspräfix für verwalteten Server
msp
ein. Sie konfigurieren die WLS TLOG-Tabelle mit dem PräfixTLOG_${serverName}_
später. In diesem Artikel wird die TLOG-Tabelle mit dem NamenTLOG_msp${index}_WLStore
erstellt. Wenn Sie ein anderes Präfix für verwaltete Servernamen verwenden möchten, stellen Sie sicher, dass der Wert den Namenskonventionen für Microsoft SQL Server-Tabellen und den tatsächlichen Tabellennamen entspricht.Übernehmen Sie die Standardwerte für die anderen Felder.
Wählen Sie Weiter aus, um zum Bereich AKS zu navigieren.
Geben Sie unter Imageauswahl die folgenden Informationen an:
- Geben Sie für Benutzername für Oracle Single Sign-On-Authentifizierung Ihren Oracle SSO-Benutzernamen aus den Vorbedingungen ein.
- Geben Sie für Passwort für Oracle Single Sign-On-Authentifizierung Ihre Oracle SSO-Anmeldeinformationen aus den Vorbedingungen ein.
Führen Sie unter Anwendung die folgenden Schritte aus:
- Wählen Sie im Abschnitt Anwendung neben Eine Anwendung bereitstellen? die Option Ja aus.
- Wählen Sie neben Anwendungspaket (WAR, EAR, JAR) die Option Durchsuchen aus.
- Beginnen Sie damit, den Namen des Speicherkontos aus dem vorherigen Abschnitt einzugeben. Wenn das gewünschte Speicherkonto angezeigt wird, wählen Sie es aus.
- Wählen Sie den Speichercontainer aus dem vorherigen Abschnitt aus.
- Aktivieren Sie das Kontrollkästchen neben weblogic-cafe.war, das Sie im vorherigen Abschnitt hochgeladen haben. Wählen Sie Auswählen.
- Übernehmen Sie die Standardwerte für die anderen Felder.
Wählen Sie Weiter aus.
Lassen Sie die Standardwerte im Bereich TLS/SSL-Konfiguration unverändert, und wählen Sie dann Weiter aus, um zum Bereich Lastenausgleich zu wechseln.
Wählen Sie im Bereich Lastenausgleich neben Erstellen Sie einen Eingang für die Administrationskonsole. Stellen Sie sicher, dass keine Anwendung den Pfad /console* hat, da dies zu Konflikten mit dem Pfad der Administrationskonsole führen würde. die Option Ja aus.
Behalten Sie für die anderen Felder die Standardwerte bei, und wählen Sie Weiter aus.
Behalten Sie die Standardwerte im DNS-Bereich bei, und wählen Sie Weiter aus, um zum Bereich Datenbank zu wechseln.
Geben Sie die folgenden Werte im Bereich Datenbank ein:
- Wählen Sie unter Mit Datenbank verbinden? die Option Ja aus.
- Wählen Sie für Datenbanktyp auswählen die Option Microsoft SQL Server (unterstützt passwortlose Verbindung) .
- Geben Sie für JNDI-Name den Namen jdbc/WebLogicCafeDB ein.
- Fügen Sie für die DataSource-Verbindungszeichenfolge den Wert ein, den Sie für die JDBC-Verbindungszeichenfolge im Abschnitt Abrufen der JDBC-Verbindungszeichenfolge und des Datenbankadministrator-Benutzernamens für die Failover-Gruppe gespeichert haben.
- Wählen Sie für Globales Transaktionsprotokoll die Option Keines aus.
- Fügen Sie für den Datenbankbenutzernamen den Wert ein, den Sie für den Datenbank-Administratorbenutzernamen im Abschnitt Abrufen der JDBC-Verbindungszeichenfolge und des Datenbankadministrator-Benutzernamens für die Failover-Gruppe eingefügt haben.
- Geben Sie das Anmeldekennwort des Datenbankserveradministrators ein, das Sie zuvor für das Datenbankkennwort gespeichert haben. Geben Sie denselben Wert für Kennwort bestätigen ein.
- Übernehmen Sie die Standardwerte für die anderen Felder.
Klicken Sie auf Überprüfen + erstellen.
Warten Sie, bis Abschließende Überprüfung wird ausgeführt... erfolgreich abgeschlossen ist. Wählen Sie dann Erstellen aus. Nach einiger Zeit sollte die Seite Bereitstellung angezeigt werden, auf der Bereitstellung wird ausgeführt angezeigt wird.
Hinweis
Wenn bei Abschließende Überprüfung wird ausgeführt... Probleme auftreten, beheben Sie diese, und versuchen Sie es erneut.
Abhängig von den Netzwerkbedingungen und anderen Aktivitäten in der ausgewählten Region kann die Bereitstellung bis zu 70 Minuten dauern. Danach sollte auf der Bereitstellungsseite der Text Ihre Bereitstellung wurde abgeschlossen. angezeigt werden.
Konfigurieren der Speicherung von TLOG-Daten
In diesem Abschnitt konfigurieren Sie die Speicherung von TLOG-Daten, indem Sie das WLS-Imagemodell mit ConfigMap
überschreiben. Weitere Informationen zu ConfigMap
erhalten Sie unter ConfigMap des WebLogic Deploy Tooling-Modells.
Für diesen Abschnitt ist ein Bash-Terminal erforderlich, auf dem die Azure CLI und kubectl installiert sind. Führen Sie die folgenden Schritte aus, um das erforderliche YAML abzuleiten und den Speicher von TLOG-Daten zu konfigurieren:
Führen Sie die folgenden Schritte aus, um Ihren AKS-Cluster zu verbinden:
- Öffnen Sie das Azure-Portal, und wechseln Sie zu der Ressourcengruppe, die Sie im Abschnitt Bereitstellen von WLS in AKS bereitgestellt haben.
- Wählen Sie den AKS-Cluster aus der Ressourcenliste und dann Verbinden aus, um eine Verbindung mit dem AKS-Cluster herzustellen.
- Wählen Sie Azure CLI aus, und befolgen Sie die Schritte, um eine Verbindung zum AKS-Cluster in Ihrem lokalen Terminal herzustellen.
Führen Sie die folgenden Schritte aus, um den
topology:
-Eintrag aus dem WLS-Imagemodell YAML abzurufen:- Öffnen Sie das Azure-Portal, und wechseln Sie zu der Ressourcengruppe, die Sie im Abschnitt Bereitstellen von WLS in AKS bereitgestellt haben.
- Wählen Sie Einstellungen>Bereitstellungen aus. Wählen Sie die erste Bereitstellung aus, deren Name mit oracle.20210620-wls-on-aks beginnt.
- Klicken Sie auf Ausgaben. Kopieren Sie den Wert shellCmdtoOutputWlsImageModelYaml in die Zwischenablage. Der Wert ist ein Shellbefehl, der die base64-Zeichenfolge der Modelldatei decodiert und den Inhalt in einer Datei namens model.yaml speichert.
- Fügen Sie den Wert in Ihr Bash-Terminal ein, und führen Sie den Befehl aus, um die Datei model.yaml zu erstellen.
- Bearbeiten Sie die Datei, um alle Inhalte mit Ausnahme des Eintrags
topology:
der obersten Ebene zu entfernen. Es sollten keine Einträge auf oberster Ebene in Ihrer Datei vorhanden sein, mit Ausnahme vontopology:
. - Speichern Sie die Datei .
Führen Sie die folgenden Schritte aus, um den Namen
ConfigMap
und den Namespacenamen aus dem WLS-Domänenmodell YAML abzurufen:Öffnen Sie das Azure-Portal, und wechseln Sie zu der Ressourcengruppe, die im Abschnitt WLS in AKS bereitstellen bereitgestellt wurde.
Wählen Sie Einstellungen>Bereitstellungen aus. Wählen Sie die erste Bereitstellung aus, deren Name mit oracle.20210620-wls-on-aks beginnt.
Klicken Sie auf Ausgaben. Kopieren Sie den Wert von shellCmdtoOutputWlsDomainYaml in die Zwischenablage. Der Wert ist ein Shellbefehl zum Decodieren der Base64-Zeichenfolge der Modelldatei und zum Speichern von Inhalten in model.yaml.
Fügen Sie den Wert in Ihr Terminal ein, und Sie erhalten eine Datei mit dem Namen domain.yaml.
Suchen Sie in
domain.yaml
nach den folgenden Werten.spec.configuration.model.configMap
. Wenn Sie die Standardwerte akzeptiert haben, lautet der Wertsample-domain1-wdt-config-map
.metadata.namespace
. Wenn Sie die Standardwerte akzeptiert haben, lautet der Wertsample-domain1-ns
.
Aus Gründen der Einfachheit können Sie den folgenden Befehl verwenden, um diese Werte als Shellvariablen zu speichern:
export CONFIG_MAP_NAME=sample-domain1-wdt-config-map export WLS_NS=sample-domain1-ns
Verwenden Sie den folgenden Befehl, um den
ConfigMap
YAML abzurufen:kubectl get configmap ${CONFIG_MAP_NAME} -n ${WLS_NS} -o yaml > configMap.yaml
Führen Sie die folgenden Schritte aus, um die Datei tlog-db-model.yaml zu erstellen:
Erstellen Sie in einem Text-Editor eine leere Datei namens tlog-db-model.yaml.
Fügen Sie den Inhalt von model.yaml ein, fügen Sie eine leere Zeile hinzu, und fügen Sie dann den Inhalt der Datei configMap.yaml ein.
Suchen Sie in der Datei tlog-db-model.yaml nach dem Zeilenabschluss mit
ListenPort: 8001
. Fügen Sie diesen Text an die folgende Zeile an. Achten Sie dabei besonders darauf, dass sichTransactionLogJDBCStore
direkt unterListenPort
befindet und die restlichen Zeilen im folgenden Ausschnitt um zwei eingerückt sind, wie im folgenden Beispiel gezeigt:TransactionLogJDBCStore: Enabled: true DataSource: jdbc/WebLogicCafeDB PrefixName: TLOG_${serverName}_
Das abgeschlossene tlog-db-model.yaml sollte dem folgenden Beispiel sehr ähnlich sein:
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
Überschreiben Sie das WLS-Modell mit
ConfigMap
. Um das WLS-Modell außer Kraft zu setzen, ersetzen Sie die vorhandeneConfigMap
durch das neue Modell. Weitere Informationen finden Sie unter Aktualisieren eines vorhandenen Modells in der Oracle-Dokumentation. Führen Sie die folgenden Befehle aus, umConfigMap
neu zu erstellen: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
Starten Sie den WLS-Cluster mithilfe des folgenden Befehls neu. Damit das neue Modell funktioniert, müssen Sie ein fortlaufendes Update durchführen.
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}'" }]'
Stellen Sie sicher, dass die WLS-Pods ausgeführt werden, bevor Sie fortfahren. Sie können den folgenden Befehl verwenden, um den Status der Pods zu überwachen:
kubectl get pod -n sample-domain1-ns -w
Hinweis
In diesem Artikel werden WLS-Modelle in das Anwendungscontainerimage eingebunden, das durch das WLS im AKS-Angebot erstellt wurde. TLOG wird konfiguriert, indem das vorhandene Modell mit der WDT ConfigMap
überschrieben wird, die die Modelldatei enthält und das Feld configuration.model.configMap
der Domänen-CRD verwendet, um auf die Zuordnung zu verweisen. In Produktionsszenarien sind Hilfsimages der empfohlene beste Ansatz, um Model-in-Image-Modelldateien, Anwendungsarchivdateien und die WebLogic Deploy Tooling-Installation in Ihre Pods einzubinden. Mit dieser Funktion ist es nicht mehr erforderlich, diese Dateien im Image bereitzustellen, das in domain.spec.image
angegeben ist.
Konfigurieren von Georedundanz mithilfe von Azure Backup
In diesem Abschnitt verwenden Sie Azure Backup, um AKS-Cluster mithilfe der Sicherungserweiterung zu sichern, die im Cluster installiert werden muss.
Verwenden Sie die folgenden Schritte, um die Georedundanz zu konfigurieren:
Erstellen Sie einen neuen Speichercontainer für die AKS-Sicherungserweiterung im Speicherkonto, das Sie im Abschnitt Erstellen eines Speicherkontos und eines Speichercontainers zum Speichern der Beispielanwendung erstellt haben.
Verwenden Sie die folgenden Befehle, um die AKS-Sicherungserweiterung zu installieren und die CSI-Treiber und Momentaufnahmen für Ihren Cluster zu aktivieren:
#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
Es dauert etwa 5 Minuten, um die Treiber zu aktivieren. Stellen Sie sicher, dass die Befehle ohne Fehler abgeschlossen werden, bevor Sie fortfahren.
Öffnen Sie die Ressourcengruppe, die AKS bereitgestellt hat. Wählen Sie den AKS-Cluster aus der Ressourcenliste aus.
Wählen Sie auf der AKS-Zielseite Einstellungen>Sichern>Erweiterung installieren aus.
Wählen Sie auf der Seite AKS-Sicherungserweiterung installieren die Option Weiter aus. Wählen Sie das Speicherkonto und den Blobcontainer aus, die Sie in den vorherigen Schritten erstellt haben. Wählen Sie Weiter und dann Erstellen aus. Für diesen Schritt werden etwa fünf Minuten benötigt.
Öffnen Sie das Azure-Portal, suchen Sie in der Suchleiste oben nach Sicherungstresore. Die Liste sollte unter Dienste angezeigt werden. Wählen Sie ihn aus.
Führen Sie zum Aktivieren der AKS-Sicherung die Schritte in Azure Kubernetes Service mithilfe von Azure Backup sichern bis einschließlich des Abschnitts „Hooks während der AKS-Sicherung verwenden“ aus. Nehmen Sie die in den folgenden Schritten angegebenen Anpassungen vor.
Wenn Sie den Abschnitt „Sicherungstresor erstellen“ erreichen, nehmen Sie die folgenden Anpassungen vor:
Wenn Sie den Abschnitt „Eine Sicherungsrichtlinie erstellen“ erreichen, nehmen Sie die folgenden Anpassungen vor, wenn Sie aufgefordert werden, eine Aufbewahrungsrichtlinie zu erstellen:
Wenn Sie den Abschnitt „Konfigurieren von Sicherungen“ erreichen, nehmen Sie die folgenden Anpassungen vor. Schritt 1–5 sind für die AKS-Erweiterungsinstallation vorgesehen. Überspringen Sie die Schritte 1–5, und beginnen Sie mit Schritt 6.
Für Schritt 7 treten Berechtigungsfehler auf. Wählen Sie Berechtigung erteilen aus, um fortzufahren. Wenn der Fehler nach Abschluss der Berechtigungsbereitstellung weiterhin angezeigt wird, wählen Sie Revalidate aus, um die Rollenzuweisungen zu aktualisieren.
Suchen Sie für Schritt 10 nach Select Resources to Backup, und nehmen Sie die folgenden Anpassungen vor:
- Geben Sie für Backup Instance name einen eindeutigen Namen ein.
- Wählen Sie für Namespaces Namespaces für WebLogic Operator und WebLogic Server aus. Wählen Sie in diesem Artikel weblogic-operator-ns und sample-domain1-ns aus.
- Wählen Sie für Other options alle Optionen aus. Stellen Sie sicher, dass Include Secrets ausgewählt ist.
Bei Schritt 11 tritt ein Fehler bei der Rollenzuweisung auf. Wählen Sie Ihre Datenquelle aus der Liste aus, und wählen Sie Assign missing roles aus, um den Fehler zu beheben.
Vorbereiten der Wiederherstellung des WLS-Clusters in einer sekundären Region
In diesem Abschnitt bereiten Sie die Wiederherstellung des WLS-Clusters in der sekundären Region vor. Hier ist die sekundäre Region „USA, Westen“. Vor der Wiederherstellung müssen Sie über einen AKS-Cluster mit AKS Backup Extension verfügen, der in der Region „USA, Westen“ installiert ist.
Konfigurieren von Azure Container Registry für Georeplikation
Führen Sie die folgenden Schritte aus, um die Azure Container Registry (ACR) für die Georeplikation zu konfigurieren, die das WLS-Image enthält, das Sie im Abschnitt Bereitstellen von WLS in AKS erstellt haben. Um die ACR-Replikation zu aktivieren, müssen Sie sie auf den Premium-Preisplan aktualisieren. Weitere Informationen finden Sie unter Georeplikation in Azure Container Registry.
- Öffnen Sie die Ressourcengruppe, die Sie im Abschnitt Bereitstellen von WLS in AKS bereitgestellt haben. Wählen Sie in der Ressourcenliste die ACR aus, deren Name mit wlsaksacr beginnt.
- Wählen Sie auf der ACR-Zielseite Settings>Properties aus. Wählen Sie für Pricing plan die Option Premium und dann Save aus.
- Wählen Sie im Navigationsbereich Services>Geo-replications aus. Wählen Sie Add aus, um die Replikationsregion auf der Seite hinzuzufügen.
- Wählen Sie auf der Seite Create replication für Location die Option West US und dann Create aus.
Nach Abschluss der Bereitstellung ist die ACR für die Georeplikation aktiviert.
Erstellen eines Speicherkontos an einer sekundären Region
Um die AKS-Sicherungserweiterung zu aktivieren, müssen Sie ein Speicherkonto mit einem leeren Container in derselben Region bereitstellen.
Um die Sicherung regionsübergreifend wiederherzustellen, müssen Sie einen Stagingspeicherort angeben, an dem die Sicherungsdaten gesichert werden. Dieser Stagingspeicherort enthält eine Ressourcengruppe und ein Speicherkonto in derselben Region und demselben Abonnement wie der Zielcluster für die Wiederherstellung.
Führen Sie die folgenden Schritte, um ein Speicherkonto und einen Container zu erstellen. Bei einigen Schritten werden Sie zu anderen Anleitungen weitergeleitet.
- Melden Sie sich beim Azure-Portal an.
- Erstellen Sie ein Speicherkonto, indem Sie die Schritte unter Erstellen eines Speicherkontos ausführen. Sie müssen nicht alle Schritte im Artikel ausführen. Füllen Sie die im Bereich Grundeinstellungen angezeigten Felder aus. Wählen Sie für Region die Option USA, Westen und dann Überprüfen + erstellen aus, um die Standardoptionen zu akzeptieren. Fahren Sie mit der Überprüfung und Erstellung des Kontos fort, und kehren Sie zu diesem Artikel zurück.
- Erstellen Sie einen Speichercontainer für die AKS-Sicherungserweiterung, indem Sie die Schritte im Abschnitt Erstellen eines Containers im Schnellstart: Hochladen, Herunterladen und Auflisten von Blobs mit dem Azure-Portal ausführen.
- Erstellen Sie einen Speichercontainer als Stagingspeicherort für die Verwendung während der Wiederherstellung.
Vorbereiten eines AKS-Clusters in einer sekundären Region
In den folgenden Abschnitten wird gezeigt, wie Sie einen AKS-Cluster in einer sekundären Region erstellen.
Erstellen eines neuen AKS-Clusters
In diesem Artikel wird eine WLS-Anwendung mithilfe des Application Gateway-Eingangscontrollers verfügbar gemacht. In diesem Abschnitt erstellen Sie einen neuen AKS-Cluster in der Region USA, Westen. Anschließend aktivieren Sie das Eingangscontroller-Add-On mit einer neuen Application Gateway-Instanz. Weitere Informationen erhalten Sie unter Aktivieren des Eingangscontroller-Add-Ons für einen neuen AKS-Cluster mit einer neuen Application Gateway-Instanz.
Führen Sie die folgenden Schritte zum Erstellen des AKS-Clusters aus:
Verwenden Sie die folgenden Befehl, um eine Ressourcengruppe in der sekundären Region zu erstellen:
export RG_NAME_WESTUS=wlsaks-westus-20240109 az group create --name ${RG_NAME_WESTUS} --location westus
Verwenden Sie die folgenden Befehle, um einen AKS-Cluster mit aktiviertem Add-On bereitzustellen:
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
Mit diesem Befehl wird automatisch eine
Standard_v2 SKU
-Application Gateway-Instanz mit dem Namen${RG_NAME_WESTUS}gw
in der AKS-Knotenressourcengruppe erstellt. Die Knotenressourcengruppe wird standardmäßigMC_resource-group-name_cluster-name_location
genannt.Hinweis
Der AKS-Cluster, den Sie im Abschnitt Bereitstellen von WLS auf AKS bereitgestellt haben, wird in drei Verfügbarkeitszonen in der Region USA, Osten ausgeführt. Verfügbarkeitszonen werden in der Region „USA, Westen“ nicht unterstützt. Der AKS-Cluster in der Region „USA, Westen“ ist nicht zonenredundant. Wenn Ihre Produktionsumgebung Zonenredundanz erfordert, stellen Sie sicher, dass Ihre gekoppelte Region Verfügbarkeitszonen unterstützt. Weitere Informationen finden Sie im Abschnitt Übersicht über Verfügbarkeitszonen für AKS-Cluster von Erstellen eines Azure Kubernetes Service-Clusters (AKS), der Verfügbarkeitszonen verwendet.
Verwenden Sie den folgenden Befehl, um die öffentliche IP-Adresse der Application Gateway-Instanz abzurufen. Speichern Sie die IP-Adresse, die Sie später in diesem Artikel verwenden.
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 pubilc IP address: ${APPGW_IP_ADDRESS}"
Verwenden Sie den folgenden Befehl, um eine DNS-Namensbezeichnung (Domain Name Service) an die öffentliche IP-Adressressource anzufügen. Ersetzen Sie
<your-chosen-DNS-name>
durch einen geeigneten Wert, z. B.ejb010316
.az network public-ip update --ids ${APPGW_IP_ID} --dns-name <your-chosen-DNS-name>
Sie können den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) der öffentlichen IP-Adresse mit
az network public-ip show
überprüfen. Das folgende Beispiel zeigt einen FQDN mit der DNS-Bezeichnungejb010316
:az network public-ip show \ --id ${APPGW_IP_ID} \ --query dnsSettings.fqdn \ --output tsv
Dieser Befehl erzeugt eine Ausgabe ähnlich wie im folgenden Beispiel:
ejb010316.westus.cloudapp.azure.com
Hinweis
Wenn Sie mit einem vorhandenen AKS-Cluster arbeiten, führen Sie die folgenden zwei Aktionen aus, bevor Sie fortfahren:
- Aktivieren Sie das Eingangscontroller-Add-On, indem Sie die Schritte unter Aktivieren des Application Gateway-Controller-Add-Ons für einen vorhandenen AKS-Cluster ausführen.
- Wenn WLS im Zielnamespace ausgeführt wird, bereinigen Sie zur Vermeidung von Konflikten die WLS-Ressourcen im WebLogic Operator-Namespace und im WebLogic Server-Namespace. In diesem Artikel hat der WLS für AKS den WebLogic Operator im Namespace
weblogic-operator-ns
und den WebLogic Server im Namespacesample-domain1-ns
bereitgestellt. Führen Siekubectl delete namespace weblogic-operator-ns sample-domain1-ns
aus, um die beiden Namespaces zu löschen.
Aktivieren der AKS-Sicherungserweiterung
Bevor Sie fortfahren, führen Sie die folgenden Schritte aus, um die AKS-Sicherungserweiterung auf dem Cluster in der sekundären Region zu installieren:
Verwenden Sie den folgenden Befehl, um eine Verbindung mit dem AKS-Cluster in der Region „USA, Westen“ herzustellen:
az aks get-credentials \ --resource-group ${RG_NAME_WESTUS} \ --name ${AKS_NAME_WESTUS}
Verwenden Sie den folgenden Befehl, um die CSI-Treiber und Momentaufnahmen für Ihren Cluster zu aktivieren:
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
Öffnen Sie die Ressourcengruppe, die AKS bereitgestellt hat. Wählen Sie den AKS-Cluster aus der Ressourcenliste aus.
Wählen Sie auf der AKS-Zielseite Einstellungen>Sichern>Erweiterung installieren aus.
Wählen Sie auf der Seite AKS-Sicherungserweiterung installieren die Option Weiter aus. Wählen Sie das Speicherkonto und den Blobcontainer aus, die Sie in den vorherigen Schritten erstellt haben. Wählen Sie Weiter und dann Erstellen aus. Für diesen Schritt werden etwa fünf Minuten benötigt.
Hinweis
Um Kosten zu sparen, können Sie den AKS-Cluster in der sekundären Region beenden, indem Sie die Schritte in Beenden und Starten eines Azure Kubernetes Service-Clusters (AKS) befolgen. Starten Sie ihn, bevor Sie den WLS-Cluster wiederherstellen.
Warten Sie, bis eine Vault-Standardsicherung ausgeführt wird.
In AKS ist die Vault-standard-Ebene die einzige Ebene, die Georedundanz und Regionsübergreifende Wiederherstellung unterstützt. Wie in Welche Sicherungsspeicherebene wird von AKS Backup unterstützt?, „Es wird nur ein geplanter Wiederherstellungspunkt pro Tag in die Vault-Stufe verschoben.“ angegeben, müssen Sie warten, bis eine Vault-standard-Sicherung ausgeführt wird. Eine gute Untergrenze besteht darin, nach Abschluss des vorherigen Schritts 24 Stunden zu warten, bevor fortgefahren wird.
Beenden des primären Clusters
Der primäre WLS-Cluster und der sekundäre WLS-Cluster sind mit derselben TLOG-Datenbank konfiguriert. Nur ein Cluster kann die Datenbank gleichzeitig besitzen. Um sicherzustellen, dass der sekundäre Cluster ordnungsgemäß funktioniert, beenden Sie den primären WLS-Cluster. Beenden Sie in diesem Artikel den AKS-Cluster, um den WLS-Cluster mithilfe der folgenden Schritte zu deaktivieren:
- Öffnen Sie das Azure-Portal, und wechseln Sie zu der Ressourcengruppe, die Sie im Abschnitt Bereitstellen von WLS in AKS bereitgestellt haben.
- Öffnen Sie den AKS-Cluster, der in der Ressourcengruppe aufgeführt ist.
- Wählen Sie Beenden aus, um den AKS-Cluster zu beenden. Stellen Sie sicher, dass die Bereitstellung abgeschlossen ist, bevor Sie fortfahren.
Wiederherstellen des WLS-Clusters
Die AKS-Sicherung unterstützt Sicherungen sowohl auf Betriebs- als auch auf Tresorebene. Nur in der Tresorebene gespeicherte Sicherungen können für eine Wiederherstellung in einem Cluster in einer anderen Region (gekoppelte Azure-Region) verwendet werden. Gemäß den Aufbewahrungsregeln, die in der Sicherungsrichtlinie festgelegt sind, wird die erste erfolgreiche Sicherung eines Tages regionsübergreifend in den Blobcontainer verschoben. Weitere Informationen finden Sie im Abschnitt Welche Sicherungsspeicherebene wird von AKS Backup unterstützt? von Was ist eine Azure Kubernetes Service-Sicherung?
Nachdem Sie die Georedundanz im Abschnitt Konfigurieren der Georedundanz mit Azure Backup konfiguriert haben, dauert es mindestens einen Tag, bis Vault Tier-Sicherungen für die Wiederherstellung verfügbar sind.
Verwenden Sie die folgenden Schritte, um den WLS-Cluster wiederherzustellen:
Öffnen Sie das Azure-Portal, und suchen Sie nach Backup center. Wählen Sie Backup center unter Services aus.
Wählen Sie unter Verwalten die Option Sicherungsinstanzen aus. Filtern Sie nach dem Datenquellentyp Kubernetes Services, um die Sicherungsinstanz zu finden, die Sie im vorherigen Abschnitt erstellt haben.
Wählen Sie die Sicherungsinstanz aus, um die Liste der Wiederherstellungspunkte anzuzeigen. In diesem Artikel ist der Instanzname eine Zeichenfolge ähnlich
wlsonaks*\wlsaksinstance20240109
.Wählen Sie die aktuelle Operational and Vault-standard-Sicherung und dann Weitere Optionen aus. Wählen Sie Wiederherstellen aus, um den Wiederherstellungsprozess zu starten.
Auf der Seite Wiederherstellen ist der Standardbereich Wiederherstellungspunkt. Wählen Sie Zurück aus, um zum Bereich Grundeinstellungen zu wechseln. Wählen Sie für Region wiederherstellen die Option Sekundäre Region und dann Weiter: Wiederherstellungspunkt aus.
Wählen Sie im Bereich Wiederherstellungspunkt für Ebene für die Wiederherstellung auswählen die Option Tresorspeicher und dann Weiter: Parameter wiederherstellen aus.
Führen Sie im Bereich Parameter wiederherstellen die folgenden Schritte aus:
Wählen Sie für Zielcluster auswählen den AKS-Cluster aus, den Sie in der Region „USA, Westen“ erstellt haben. Es tritt ein Berechtigungsproblem auf, wie der folgende Screenshot zeigt. Wählen Sie Berechtigung erteilen aus, um die Fehler zu beheben.
Wählen Sie für Sicherungs-Stagingspeicherort das Speicherkonto aus, das Sie in USA, Westen erstellt haben. Es tritt ein Berechtigungsproblem auf, wie der folgende Screenshot zeigt. Wählen Sie Fehlende Rollen zuweisen aus, um die Fehler zu beheben.
Wenn die Fehler nach Abschluss der Rollenzuweisungen weiterhin auftreten, wählen Sie Erneut überprüfen aus, um die Berechtigungen zu aktualisieren.
Wenn Sie fehlende Berechtigungen erteilen, akzeptieren Sie den Standardwert, wenn Sie zum Angeben eines Umfangs aufgefordert werden.
Wählen Sie Überprüfen aus. Die Meldung Überprüfung erfolgreich abgeschlossen sollte angezeigt werden. Wenn nicht, behandeln und beheben Sie das Problem, bevor Sie fortfahren.
Wählen Sie Weiter: Überprüfen + Wiederherstellen und dann Wiederherstellen aus. Die Wiederherstellung des WLS-Clusters dauert ca. 10 Minuten.
Sie können den Wiederherstellungsprozess aus Backup center>Überwachung + Berichterstellung>Sicherungsaufträge überwachen, wie im folgenden Screenshot angezeigt:
Wählen Sie Aktualisieren aus, um den aktuellen Fortschritt anzuzeigen.
Nachdem der Vorgang ohne Fehler abgeschlossen wurde, beenden Sie den Sicherungs-AKS-Cluster. Dies führt dazu, dass Besitzerkonflikte auftreten, wenn Sie in späteren Schritten auf die TLOG-Datenbank zugreifen.
Starten Sie den primären Cluster.
Einrichten von Azure Traffic Manager
In diesem Abschnitt erstellen Sie einen Azure Traffic Manager zum Verteilen des Datenverkehrs an Ihre öffentlich zugänglichen Anwendungen in den globalen Azure-Regionen. Der primäre Endpunkt verweist auf das Azure Application Gateway im primären WLS-Cluster, und der sekundäre Endpunkt verweist auf das Azure Application Gateway im sekundären WLS-Cluster.
Erstellen Sie anhand der Schritte unter Schnellstart: Erstellen eines Traffic Manager-Profils unter Verwendung des Azure-Portals ein Azure Traffic Manager-Profil. Überspringen Sie den Abschnitt „Voraussetzungen“. Sie benötigen nur die folgenden Abschnitte: Erstellen eines Traffic Manager-Profils, Hinzufügen von Traffic Manager-Endpunkten und Testen des Traffic Manager-Profils. Führen Sie die folgenden Schritte aus, während Sie die folgenden Abschnitte durchlaufen, und kehren Sie nach dem Erstellen und Konfigurieren des Azure Traffic Managers zu diesem Artikel zurück:
Wenn Sie den Abschnitt Erstellen eines Traffic Manager-Profils erreichen verwenden Sie in Schritt 2 Erstellen des Traffic Manager-Profils die folgenden Schritte:
- Speichern Sie den eindeutigen Traffic Manager-Profilnamen für Name, z. B. tmprofile-ejb120623.
- Speichern Sie den neuen Ressourcengruppennamen für Ressourcengruppe, z. B. myResourceGroupTM1.
Gehen Sie wie folgt vor, wenn Sie den Abschnitt Hinzufügen von Traffic Manager-Endpunkten erreichen:
- Führen Sie nach dem Schritt Auswählen des Profils aus den Suchergebnissen die folgenden Schritte aus:
- Klicken Sie unter Einstellungen auf Konfiguration.
- Geben Sie für DNS time to live (TTL) die Zahl 10 ein.
- Geben Sie unter Überwachungseinstellungen für Endpunkt für Pfad /weblogic/ready ein.
- Verwenden Sie unter Einstellungen für schnelles Endpunktfailover die folgenden Werte:
- Geben Sie für Interne Tests die Zahl 10 ein.
- Geben Sie für Tolerierte Anzahl von Fehlern die Zahl 3 ein.
- Geben Sie für Testtimeout die Zahl 5 ein.
- Wählen Sie Speichern. Warten Sie, bis der Vorgang abgeschlossen ist.
- Verwenden Sie in Schritt 4 zum Hinzufügen des primären Endpunkts
myPrimaryEndpoint
die folgenden Schritte:- Wählen Sie für Zielressourcentyp die Option Öffentliche IP-Adresse aus.
- Wählen Sie das Dropdownmenü Öffentliche IP-Adresse auswählen aus, und geben Sie die IP-Adresse von Application Gateway im WLS-Cluster USA, Osten ein, den Sie zuvor gespeichert haben. Sie sollten einen übereinstimmenden Eintrag sehen. Wählen Sie diesen für Öffentliche IP-Adresse aus.
- Verwenden Sie in Schritt 6 zum Hinzufügen eines Failover-/sekundären Endpunkts myFailoverEndpoint die folgenden Schritte:
- Wählen Sie für Zielressourcentyp die Option Öffentliche IP-Adresse aus.
- Wählen Sie das Dropdownmenü Öffentliche IP-Adresse auswählen aus, und geben Sie die IP-Adresse von Application Gateway im WLS-Cluster USA, Westen ein, den Sie zuvor gespeichert haben. Sie sollten einen übereinstimmenden Eintrag sehen. Wählen Sie diesen für Öffentliche IP-Adresse aus.
- Warten Sie einen Moment. Wählen Sie Aktualisieren aus, bis der Überwachungsstatus in die folgenden Status wechselt:
- Der primäre Endpunkt ist Online.
- Der Failoverendpunkt ist Herabgestuft.
- Führen Sie nach dem Schritt Auswählen des Profils aus den Suchergebnissen die folgenden Schritte aus:
Gehen Sie wie folgt vor, wenn Sie den Abschnitt Testen eines Traffic Manager-Profils erreichen:
- Speichern Sie im Unterabschnitt Überprüfen des DNS-Namens in Schritt 3 den DNS-Namen Ihres Traffic Manager-Profils, z. B.
http://tmprofile-ejb120623.trafficmanager.net
. - Führen Sie im Unterabschnitt Anzeigen von Traffic Manager in Aktion die folgenden Schritte aus:
- Fügen Sie in den Schritten 1 und 3 /weblogic/ready an den DNS-Namen Ihres Traffic Manager-Profils in Ihrem Webbrowser an, z. B.
http://tmprofile-ejb120623.trafficmanager.net/weblogic/ready
. Es sollte eine leere Seite ohne Fehlermeldung angezeigt werden. - In Schritt 4 können Sie nicht auf /weblogic/ready zugreifen, was erwartet wird, da der sekundäre Cluster beendet wird.
- Aktivieren Sie den primären Endpunkt erneut.
- Fügen Sie in den Schritten 1 und 3 /weblogic/ready an den DNS-Namen Ihres Traffic Manager-Profils in Ihrem Webbrowser an, z. B.
- Speichern Sie im Unterabschnitt Überprüfen des DNS-Namens in Schritt 3 den DNS-Namen Ihres Traffic Manager-Profils, z. B.
Der primäre Endpunkt verfügt nun über die Status Aktiviert und Online und der Failover-Endpunkt besitzt die Status Aktiviert und Herabgestuft im Traffic Manager-Profil. Lassen Sie die Seite geöffnet, um den Endpunktstatus später zu überwachen.
Testen des Failovers vom primären zum sekundären Standort
Um das Failover zu testen, führen Sie in diesem Abschnitt manuell ein Failover Ihres primären Datenbankservers und WLS-Clusters auf den sekundären Datenbankserver und WLS-Cluster durch.
Da der primäre Cluster ausgeführt wird, fungiert er als aktiver Cluster und verarbeitet alle Benutzeranforderungen, die von Ihrem Traffic Manager-Profil weitergeleitet werden.
Öffnen Sie den DNS-Namen Ihres Azure Traffic Manager-Profils auf einer neuen Registerkarte des Browsers, indem Sie den Kontextstamm /weblogic-cafe der bereitgestellten App anfügen, z. B. http://tmprofile-ejb120623.trafficmanager.net/weblogic-cafe
. Erstellen Sie einen neuen Kaffee mit Name und Preis, z. B. Kaffee 1 mit dem Preis 10. Dieser Eintrag wird sowohl in der Anwendungsdatentabelle als auch in der Sitzungstabelle der Datenbank beibehalten. Die angezeigte Benutzeroberfläche sollte dem folgenden Screenshot ähneln:
Wenn Ihre Benutzeroberfläche nicht ähnlich aussieht, führen Sie die Problembehebung durch und lösen Sie das Problem, bevor Sie fortfahren.
Lassen Sie die Seite geöffnet, damit Sie sie später für den Failovertest verwenden können.
Failover an den sekundären Standort
Führen Sie für ein Failover vom primären zum sekundären Server die folgenden Schritte aus.
Führen Sie zunächst die folgenden Schritte aus, um den primären AKS-Cluster zu beenden:
- Öffnen Sie das Azure-Portal, und wechseln Sie zu der Ressourcengruppe, die im Abschnitt WLS in AKS bereitstellen bereitgestellt wurde.
- Öffnen Sie den AKS-Cluster, der in der Ressourcengruppe aufgeführt ist.
- Wählen Sie Beenden aus, um den AKS-Cluster zu beenden. Stellen Sie sicher, dass die Bereitstellung abgeschlossen ist, bevor Sie fortfahren.
Führen Sie als Nächstes die folgenden Schritte aus, um ein Failover der Azure SQL-Datenbank vom primären Server auf den sekundären Server durchzuführen.
- Wechseln Sie zur Browserregisterkarte Ihrer Azure SQL-Datenbank-Failovergruppe.
- Wählen Sie Failover>Ja aus.
- Warten Sie, bis der Vorgang abgeschlossen ist.
Führen Sie als Nächstes die folgenden Schritte aus, um den sekundären Cluster zu starten.
- Öffnen Sie das Azure-Portal, und wechseln Sie zur Ressourcengruppe mit AKS-Cluster in sekundärer Region.
- Öffnen Sie den AKS-Cluster, der in der Ressourcengruppe aufgeführt ist.
- Wählen Sie Start aus, um den AKS-Cluster zu starten. Stellen Sie sicher, dass die Bereitstellung abgeschlossen ist, bevor Sie fortfahren.
Verwenden Sie abschließend die folgenden Schritte, um sicherzustellen, dass die Beispiel-App nach dem Endpunkt myFailoverEndpoint
in den Status Online geändert wurde:
Wechseln Sie zur Browserregisterkarte Ihres Traffic Manager, und aktualisieren Sie die Seite, bis Sie sehen, dass der Wert Überwachungsstatus des Endpunkts
myFailoverEndpoint
in den Status Online wechselt.Wechseln Sie zur Browserregisterkarte der Beispiel-App, und aktualisieren Sie die Seite. Sie sollten in der Anwendungsdatentabelle und in der Sitzungstabelle, die in der Benutzeroberfläche angezeigt werden, dieselben Daten sehen, wie im folgenden Screenshot dargestellt:
Wenn Sie dieses Verhalten nicht beobachten, liegt es möglicherweise daran, dass der Traffic Manager Zeit benötigt, um DNS auf die Failoverwebsite zu verweisen. Das Problem könnte auch sein, dass Ihr Browser das Ergebnis der DNS-Namensauflösung zwischengespeichert hat, das auf die fehlgeschlagene Website verweist. Warten Sie einen Moment, und aktualisieren Sie die Seite erneut.
Hinweis
Eine produktionsfähige HA/DR-Lösung würde das kontinuierliche und regelmäßige Kopieren der WLS-Konfiguration vom primären zum sekundären Cluster berücksichtigen. Informationen dazu finden Sie in den Verweisen auf die Oracle-Dokumentation am Ende dieses Artikels.
Um das Failover zu automatisieren, erwägen Sie die Verwendung von Warnungen für Traffic Manager-Metriken und Azure Automation. Weitere Informationen finden Sie im Abschnitt Warnungen für Traffic Manager-Metriken von Traffic Manager-Metriken und -Warnungen und Verwenden einer Warnung zum Auslösen eines Azure Automation-Runbooks.
Failback zum primären Standort
Um ein Failback auf den primären Standort durchzuführen, müssen Sie sicherstellen, dass die beiden Cluster über eine gespiegelte Sicherungskonfiguration verfügen. Diesen Status erreichen Sie mit den folgenden Schritten:
- Aktivieren Sie die AKS-Clustersicherungen in der Region USA, Westen, indem Sie die folgenden Schritte im Abschnitt Konfigurieren von Georedundanz mithilfe von Azure Backup ab Schritt 4 ausführen.
- Stellen Sie die aktuelle Vault Tier-Sicherung für den Cluster in der Region USA, Osten anhand der folgenden Schritte im Abschnitt Vorbereiten einer Wiederherstellung des WLS-Clusters in einer sekundären Region wieder her. Überspringen Sie die Schritte, die Sie bereits abgeschlossen haben.
- Führen Sie ähnliche Schritte im Abschnitt Failover zum sekundären Standortabschnitt aus, um ein Failback auf den primären Standort einschließlich Datenbankserver und Cluster durchzuführen.
Bereinigen von Ressourcen
Wenn Sie die WLS-Cluster und andere Komponenten nicht mehr verwenden möchten, führen Sie die folgenden Schritte aus, um die Ressourcengruppen zu löschen und die in diesem Tutorial verwendeten Ressourcen zu bereinigen:
- Geben Sie im Suchfeld oben im Azure-Portal Backup vaults ein, und wählen Sie die Sicherungstresore aus den Suchergebnissen aus.
- Wählen Sie Verwalten>Eigenschaften>Vorläufiges Löschen>Aktualisieren aus. Deaktivieren Sie neben Aktivieren von „Vorläufiges Löschen“ das Kontrollkästchen.
- Wählen Sie Verwalten>Sicherungsinstanzen aus. Wählen Sie die erstellte Instanz aus, und löschen Sie sie.
- Geben Sie den Ressourcengruppennamen der Azure SQL-Datenbank-Server (z. B.
myResourceGroup
) im Suchfeld oben im Azure-Portal ein, und wählen Sie die übereinstimmende Ressourcengruppe aus den Suchergebnissen aus. - Wählen Sie die Option Ressourcengruppe löschen.
- Geben Sie unter Ressourcengruppennamen eingeben, um den Löschvorgang zu bestätigen den Ressourcengruppennamen ein.
- Klicken Sie auf Löschen.
- Wiederholen Sie die Schritte 4–7 für die Ressourcengruppe von Traffic Manager, z. B.
myResourceGroupTM1
. - Wiederholen Sie die Schritte 4–7 für die Ressourcengruppe des primären WLS-Clusters, z. B.
wls-aks-eastus-20240109
. - Wiederholen Sie die Schritte 4–7 für die Ressourcengruppe des sekundären WLS-Clusters, z. B.
wls-aks-westus-20240109
.
Nächste Schritte
In diesem Tutorial richten Sie eine HA/DR-Lösung ein, die aus einer Aktiv-Passiv-Anwendungsinfrastrukturebene mit einer Aktiv-Passiv-Datenbankebene besteht und in der sich beide Ebenen über zwei geografisch unterschiedliche Standorte erstrecken. Am ersten Standort ist sowohl die Anwendungsinfrastrukturebene als auch die Datenbankebene aktiv. Am zweiten Standort wird die sekundäre Domäne heruntergefahren, und die sekundäre Datenbank befindet sich im Standbymodus.
Weitere Optionen zum Erstellen von HA/DR-Lösungen und Ausführen von WLS auf Azure werden in den folgenden Referenzen beschrieben: