Lernprogramm: Migrieren von Oracle WebLogic Server zu Azure Kubernetes Service (AKS) in einem benutzerdefinierten virtuellen Netzwerk

Dieses Tutorial zeigt Ihnen, wie Sie Oracle WebLogic Server (WLS) im Azure Kubernetes Service-Angebot (AKS) bereitstellen, das mithilfe eines benutzerdefinierten virtuellen Netzwerks im Abonnement des Kunden integriert wird. Mit dem WLS im AKS-Angebot können Sie entscheiden, ob ein neues virtuelles Netzwerk erstellt oder ein vorhandenes virtuelles Netzwerk verwendet werden soll.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen Sie ein angepasstes virtuelles Netzwerk, und erstellen Sie die Infrastruktur innerhalb des Netzwerks.
  • Führen Sie Oracle WebLogic Server in AKS im benutzerdefinierten virtuellen Netzwerk aus.
  • Machen Sie Oracle WebLogic Server mit Azure Application Gateway als Load Balancer verfügbar.
  • Überprüfen Sie die erfolgreiche Bereitstellung.

Voraussetzungen

  • Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
  • Bereiten Sie einen lokalen Computer mit einem installierten UNIX-ähnlichen Betriebssystem (z. B. Ubuntu, macOS, Windows-Subsystem für Linux) vor.
  • Installieren Sie die Azure CLI 2.37.0 oder höher zum Ausführen von Azure CLI-Befehlen.
    • Melden Sie sich mit dem Befehl az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden und Verwalten von Erweiterungen mit der Azure CLI.
    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
  • Der WLS im AKS Marketplace-Angebot erfordert die Berechtigung zum Erstellen einer verwalteten Identität und zum Zuweisen von Azure-Rollen. Zum Hinzufügen von Azure-Rollen benötigen Sie Berechtigungen vom Typ Microsoft.Authorization/roleAssignments/write (beispielsweise als Benutzerzugriffsadministrator oder Besitzer).
  • Ein Oracle-Konto. Die Schritte in Oracle Container Registry weisen Sie an, den Lizenzvertrag für WebLogic Server-Images zu akzeptieren. Notieren Sie sich Ihr Oracle-Kontokennwort und Ihre E-Mail.

Erstellen einer Ressourcengruppe

Erstellen Sie mit az group create eine Ressourcengruppe. In diesem Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt:

export RESOURCE_GROUP_NAME="myResourceGroup"
az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

Erstellen eines benutzerdefinierten virtuellen Netzwerks

Beim Erstellen eines benutzerdefinierten virtuellen Netzwerks gibt es Einschränkungen. Bevor Sie das virtuelle Netzwerk in Ihrer Umgebung erstellen, lesen Sie die folgenden Artikel:

Das Beispiel in diesem Abschnitt erstellt ein virtuelles Netzwerk mit dem Adressraum 192.168.0.0/16 sowie zwei Subnetze, die für AKS und Application Gateway verwendet werden.

Erstellen Sie zunächst ein virtuelles Netzwerk, indem Sie az network vnet create verwenden. Im folgenden Beispiel wird ein virtuelles Standardnetzwerk namens myVNet erstellt:

az network vnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myVNet \
    --address-prefixes 192.168.0.0/16

Erstellen Sie als Nächstes ein Subnetz durch Verwendung von az network vnet subnet create für den AKS-Cluster. Im folgenden Beispiel wird ein Subnetz namens myAKSSubnet erstellt:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAKSSubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.1.0/24

Erstellen Sie dann ein Subnetz für Application Gateway mit az network vnet subnet create. Im folgenden Beispiel wird ein Subnetz namens myAppGatewaySubnet erstellt:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAppGatewaySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.2.0/24

Verwenden Sie als Nächstes den folgenden Befehl, um die AKS-Subnetzressourcen-ID abzurufen und sie in einer Variablen zu speichern, die weiter unten in diesem Artikel verwendet werden kann:

export AKS_SUBNET_ID=$(az network vnet subnet show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --vnet-name myVNet \
    --name myAKSSubnet \
    --query id \
    --output tsv)

Erstellen eines AKS-Clusters im virtuellen Netzwerk

Verwenden Sie den folgenden Befehl, um einen AKS-Cluster in Ihrem virtuellen Netzwerk und Subnetz durch Verwendung des Befehls az aks create zu erstellen.

Hinweis

In diesem Beispiel wird ein AKS-Cluster mit kubenet und einer vom System zugewiesenen Identität erstellt. Die Azure CLI weist der systemseitig zugewiesenen Identität die Rolle Network Contributor zu, nachdem der Cluster erstellt wurde.

Wenn Sie Azure CNI verwenden möchten, lesen Sie Konfigurieren des Azure CNI-Netzwerks in AKS, um einen von Azure CNI aktivierten AKS-Cluster zu erstellen.

Wenn Sie eine vom Benutzer zugewiesene verwaltete Identität verwenden möchten, lesen Sie Erstellen eines AKS-Clusters mit vom System zugewiesenen verwalteten Identitäten.

az aks create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAKSCluster \
    --generate-ssh-keys \
    --enable-managed-identity \
    --node-count 3 \
    --network-plugin kubenet \
    --vnet-subnet-id $AKS_SUBNET_ID \
    --yes

Speichern von Java EE-Anwendungen in einem Speicherkonto

Sie können eine Java EE-Anwendung zusammen mit dem WLS in der AKS-Angebotsbereitstellung bereitstellen. Sie müssen die Anwendungsdatei (.war, .ear oder .jar) in einem bereits vorhandenen Azure Storage-Konto und Speichercontainer innerhalb dieses Kontos hochladen.

Erstellen Sie ein Azure Storage-Konto mit dem Befehl az storage account create, wie im folgenden Beispiel dargestellt.

export STORAGE_ACCOUNT_NAME="stgwlsaks$(date +%s)"
az storage account create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${STORAGE_ACCOUNT_NAME} \
    --location eastus \
    --sku Standard_RAGRS \
    --kind StorageV2

Erstellen Sie mit dem Befehl az storage container create einen Container zum Speichern von Blobs. Im folgenden Beispiel wird der Speicherkontoschlüssel verwendet, um den Vorgang zur Erstellung des Containers zu autorisieren. Sie können auch Ihr Microsoft Entra-Konto nutzen, um den Vorgang zur Erstellung des Containers zu autorisieren. Weitere Informationen finden Sie unter Autorisieren des Zugriffs auf Blob- oder Warteschlangendaten mit der Azure-Befehlszeilenschnittstelle.

export KEY=$(az storage account keys list \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --query [0].value \
    --output tsv)

az storage container create \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --name mycontainer \
    --account-key ${KEY} \
    --auth-mode key

Laden Sie als Nächstes Ihre Java EE-Anwendung mit dem Befehl az storage blob upload in einen Blob hoch. Im folgenden Beispiel wird die testwebapp.war-Testanwendung hochgeladen.

curl -fsL https://aka.ms/wls-aks-testwebapp -o testwebapp.war

az storage blob upload \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --container-name mycontainer \
    --name testwebapp.war \
    --file testwebapp.war \
    --account-key ${KEY} \
    --auth-mode key

Informationen zum gleichzeitigen Hochladen mehrerer Dateien finden Sie unter Erstellen, Herunterladen und Auflisten von Blobs mit Azure CLI.

Bereitstellen von WLS im AKS-Angebot

In diesem Abschnitt erfahren Sie, wie Sie einen WLS-Cluster mit der zuvor erstellten AKS-Instanz bereitstellen. Sie stellen den Cluster innerhalb des benutzerdefinierten virtuellen Netzwerks bereit und exportieren Clusterknoten mithilfe von Azure Application Gateway als Load Balancer. Das Angebot generiert automatisch ein selbstsigniertes Zertifikat für die TLS/SSL-Beendigung des Application Gateway. Weitere Informationen zur erweiterten Verwendung der TLS/SSL-Beendigung mit Application Gateway finden Sie unter Application Gateway-Eingangscontroller.

Beginnen Sie zunächst mit der Bereitstellung eines WebLogic Server, wie im Benutzerhandbuch „Oracle WebLogic Server in AKS“ beschrieben, aber kehren Sie zu dieser Seite zurück, wenn Sie Konfigurieren des AKS-Clusters erreicht haben, wie im folgenden Screenshot dargestellt.

Screenshot des Azure-Portals mit dem Bereich „Konfigurieren des AKS-Clusters“ auf der Seite „Erstellen des Oracle WebLogic Server in Azure Kubernetes Service“.

Konfigurieren des AKS-Clusters

Nachdem Sie nun über einen AKS-Cluster im virtuellen Netzwerk verfügen, wählen Sie den AKS-Cluster für die Bereitstellung aus.

  1. Wählen Sie für Einen neuen AKS-Cluster erstellen? die Option Nein aus.
  2. Öffnen Sie unter AKS-Cluster auswählen das Dropdownmenü, und wählen Sie dann den von Ihnen erstellten AKS-CLuster mit dem Namen myAKSCluster in diesem Beispiel aus.
  3. Wählen Sie für Ein bereits vorhandenes WebLogic Server-Docker-Image aus Oracle Container Registry verwenden? die Option Ja aus.
  4. Wählen Sie für Ein neues Azure Container Registry zum Speichern von Anwendungs-Images erstellen? die Option Ja aus.
  5. Geben Sie unter Benutzername für Oracle Single Sign-On-Authentifizierung Ihren Oracle Single Sign-On-Kontobenutzernamen ein.
  6. Geben Sie unter Kennwort für Oracle Single Sign-On-Authentifizierung das Kennwort für dieses Konto ein.
  7. Geben Sie unter Kennwort bestätigen den Wert des vorherigen Felds erneut ein.
  8. Behalten Sie für Die gewünschte Kombination aus WebLogic Server, JDK und Operator System oder den vollqualifizierten Docker-Tag auswählen den Standardwert bei.
  9. Wählen Sie für Anwendungspaket bereitstellen die Option Ja aus.
  10. Wählen Sie für Anwendungspaket (.war,.ear,.jar) die Option Durchsuchen aus.
    • Wählen Sie das von Ihnen erstellte Speicherkonto aus. Der Name beginnt mit stgwlsaks in diesem Beispiel.
    • Wählen Sie Ihren Container auf der Seite Container aus. In diesem Beispiel wird mycontainer verwendet.
    • Überprüfen Sie die im Container aufgeführte Anwendung. In diesem Beispiel wird testwebapp.war verwendet.
    • Wählen Sie Auswählen.
  11. Behalten Sie für andere Felder die Standardwerte bei.

Sie haben nun die Konfiguration des AKS-Clusters, des WebLogic-Basisimages und der Java EE-Anwendung abgeschlossen.

Als Nächstes konfigurieren Sie End-to-End TLS/SSL für die WebLogic Server Administration Console und den Cluster auf dem HTTPS-Port (Secure) mit Ihrem eigenen Zertifikat im Bereich TLS/SSL-Konfiguration. Befolgen Sie für diese Aufgabe die Schritte im Benutzerhandbuch: Oracle WebLogic Server in AKS, aber kehren Sie zu dieser Seite zurück, wenn Sie Netzwerk erreicht haben, wie im folgenden Screenshot angezeigt. Sie verwenden den nächsten Abschnitt, um das Netzwerk zu konfigurieren, und kehren dann zum WLS für AKS-Benutzerhandbuch zurück, um die Bereitstellung abzuschließen.

Screenshot des Azure-Portals mit dem Bereich „Netzwerk“ auf der Seite „Erstellen von Oracle WebLogic Server in Azure Kubernetes Service“.

Konfigurieren des Application Gateway-Eingangscontrollers

Führen Sie die folgenden Schritte aus, um den Application Gateway-Eingangscontroller innerhalb des virtuellen Netzwerks zu konfigurieren.

  1. Wählen Sie für Mit Azure Application Gateway verbinden? die Option Ja aus.
  2. Wählen Sie unter Virtuelle Netzwerke konfigurieren für Virtuelles Netzwerk das von Ihnen erstellte virtuelle Netzwerk aus. In diesem Beispiel wird myVNet in myResourceGroup verwendet. Wählen Sie für Subnetz das Subnetz für Application Gateway aus. In diesem Beispiel wird myAppGatewaySubnet verwendet.
  3. Wählen Sie für die Option Gewünschtes TLS/SSL-Zertifikat auswählen die Option Selbstsigniertes Front-End-Zertifikat generieren aus.
  4. Wählen Sie für Eingang für Administration Console erstellen die Option Ja aus, um die WebLogic Administration Console verfügbar zu machen.
  5. Behalten Sie für die anderen Felder die Standardwerte bei.

Sie können jetzt mit den anderen Aspekten der WLS-Bereitstellung fortfahren, wie im Benutzerhandbuch Oracle WebLogic Server in AKS beschrieben.

Überprüfen der erfolgreichen Bereitstellung von WLS

In diesem Abschnitt erfahren Sie, wie Sie die erfolgreiche Bereitstellung des WLS-Clusters und des Application Gateway-Eingangscontrollers schnell validieren können.

Wählen Sie nach Abschluss der Bereitstellung die Option Ausgaben aus. Sie finden die externe URL der WebLogic Administration Console und des Clusters. Verwenden Sie die folgenden Anweisungen, um auf diese Ressourcen zuzugreifen:

  • Um die WebLogic Administration Console anzuzeigen, kopieren Sie zuerst den Wert der Ausgabevariable adminConsoleExternalUrl. Fügen Sie als Nächstes den Wert in die Adressleiste des Browsers ein, und drücken Sie die Eingabetaste, um die Anmeldeseite der WebLogic Administration Console zu öffnen.
  • Um den WebLogic-Cluster anzuzeigen, kopieren Sie zuerst den Wert der Ausgabevariable clusterExternalUrl. Verwenden Sie als Nächstes diesen Wert, um die Beispielanwendungs-URL zu erstellen, indem Sie sie auf die folgende Vorlage anwenden: ${clusterExternalUrl}testwebapp/. Fügen Sie nun die Anwendungs-URL in die Adressleiste des Browsers ein, und drücken Sie die Eingabetaste. Sie werden feststellen, dass die Beispielanwendung die private Adresse und den Hostnamen des Pods anzeigt, an den der Application Gateway-Eingangscontroller weitergeleitet wird.

Bereinigen von Ressourcen

Falls Sie den WLS-Cluster nicht weiter verwenden, löschen Sie das virtuelle Netzwerk und den WLS-Cluster anhand der folgenden Azure-Portalschritte:

  1. Rufen Sie die Übersichtsseite für die Ressourcengruppe myResourceGroup auf, und wählen Sie dann Ressourcengruppe löschen aus.
  2. Rufen Sie die Übersichtsseite für die Ressourcengruppe auf, in der Sie den WLS im AKS-Angebot bereitgestellt haben, und wählen Sie dann Ressourcengruppe löschen aus.

Nächste Schritte

Informieren Sie sich weiter über die Optionen zum Ausführen von WLS in Azure.