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

In diesem Lernprogramm erfahren Sie, wie Sie den Oracle WebLogic Server (WLS) im Azure Kubernetes Service (AKS)-Angebot bereitstellen, das in ein benutzerdefiniertes virtuelles Netzwerk im Abonnement des Verbrauchers integriert wird. Mit dem WLS on AKS-Angebot können Sie entscheiden, ob Sie ein neues virtuelles Netzwerk erstellen oder ein vorhandenes Netzwerk verwenden möchten.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen Sie ein benutzerdefiniertes virtuelles Netzwerk, und erstellen Sie die Infrastruktur innerhalb des Netzwerks.
  • Führen Sie Oracle WebLogic Server auf AKS im benutzerdefinierten virtuellen Netzwerk aus.
  • Machen Sie Oracle WebLogic Server mit Azure-App lication Gateway als Lastenausgleichsmodul verfügbar.
  • Überprüfen der erfolgreichen Bereitstellung.

Voraussetzungen

  • Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.

  • Verwenden Sie Azure Cloud Shell mithilfe der Bash-Umgebung. Stellen Sie sicher, dass die Azure CLI-Version 2.37.0 oder höher ist.

    Launch Cloud Shell in a new window

  • Installieren Sie bei Bedarf die Azure CLI 2.37.0 oder höher, um Azure CLI-Befehle auszuführen.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Weitere Anmeldeoptionen finden Sie unter Anmelden mit Azure CLI .
    • Installieren Sie die Azure CLI-Erweiterungen bei der ersten Verwendung, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden 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.
  • Das WLS auf dem AKS Marketplace-Angebot erfordert die Berechtigung zum Erstellen von verwalteter 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 leiten Sie an, den Lizenzvertrag für WebLogic Server-Images zu akzeptieren. Notieren Sie sich Ihr Oracle-Kontokennwort und Ihre E-Mail-Adresse.

Erstellen einer Ressourcengruppe

Erstellen Sie mit az group create eine Ressourcengruppe. In diesem Beispiel wird eine Ressourcengruppe erstellt, die eastus am Speicherort benannt istmyResourceGroup:

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 Adressraum 192.168.0.0/16und erstellt zwei Subnetze, die für AKS und Anwendungsgateway verwendet werden.

Erstellen Sie zunächst ein virtuelles Netzwerk mit az network vnet create. Im folgenden Beispiel wird ein standardmäßiges virtuelles Netzwerk mit dem Namen myVNeterstellt:

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 mithilfe des Az-Netzwerk-vnet-Subnetzs 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 als Nächstes ein Subnetz mit az network vnet subnet create for Application Gateway. 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 mithilfe 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. Azure CLI gewährt die Rolle "Netzwerkmitwirkender" der vom System zugewiesenen Identität, nachdem der Cluster erstellt wurde.

Wenn Sie Azure CNI verwenden möchten, lesen Sie "Konfigurieren von Azure CNI-Netzwerk in AKS", um einen 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 der WLS on AKS-Bereitstellung bereitstellen. Sie müssen die Anwendungsdatei (.war, EAR oder JAR) in einen 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 gezeigt:

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 zum Erstellen des Containers zu autorisieren. Sie können auch Ihr Microsoft Entra-Konto verwenden, um den Vorgang zum Erstellen 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 ein Blob hoch . Im folgenden Beispiel wird die Testanwendung testwebapp.war 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 Azure-App lizenzierungsgateways als Lastenausgleichsgateway. Das Angebot generiert automatisch ein selbstsigniertes Zertifikat für die TLS/SSL-Beendigung des Anwendungsgateways. Weitere Informationen zur erweiterten Verwendung der TLS/SSL-Beendigung mit dem Anwendungsgateway finden Sie unter Application Gateway Ingress Controller.

Beginnen Sie zunächst mit der Bereitstellung eines WebLogic Servers, wie in Oracle WebLogic Server auf AKS-Benutzerhandbuch beschrieben, kehren Sie jedoch zu dieser Seite zurück, wenn Sie den Configure AKS-Cluster erreichen, wie im folgenden Screenshot gezeigt.

Screenshot of Azure portal showing the Configure AKS cluster pane of the Create Oracle WebLogic Server on Azure Kubernetes Service page.

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 "Neuen AKS-Cluster erstellen" die Option "Nein" aus.
  2. Öffnen Sie unter "AKS-Cluster auswählen" das Dropdownmenü, und wählen Sie dann den erstellten AKS-Cluster aus, der in diesem Beispiel benannt myAKSCluster wurde.
  3. Wählen Sie für die Verwendung eines bereits vorhandenen WebLogic Server Docker-Images aus oracle Container Registry die Option "Ja" aus.
  4. Wenn Sie eine neue Azure Container-Registrierung erstellen möchten, um Anwendungsimages zu speichern?, wählen Sie "Ja" aus.
  5. Geben Sie unter Benutzername für die Oracle Single Sign-On-Authentifizierung Ihren Oracle Single Sign-On-Kontobenutzernamen ein.
  6. Geben Sie unter "Kennwort für die 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. Für die gewünschte Kombination aus WebLogic Server, JDK und Operator System oder vollqualifiziertem Docker-Tag behalten Sie den Standardwert bei.
  9. Wählen Sie für die Bereitstellung Ihres Anwendungspakets "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 in stgwlsaks 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-Verwaltungskonsole und den Cluster auf dem HTTPS-Port (Secure) mit Ihrem eigenen Zertifikat im Tls/SSL-Konfigurationsbereich . Führen Sie für diese Aufgabe die Schritte im Oracle WebLogic Server auf AKS-Benutzerhandbuch aus, kehren Sie aber zu dieser Seite zurück, wenn Sie Networking erreichen, wie im folgenden Screenshot gezeigt. 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 of Azure portal showing the Networking pane of the Create Oracle WebLogic Server on Azure Kubernetes Service page.

Konfigurieren des Anwendungsgateway-Eingangscontrollers

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

  1. Wählen Sie für Verbinden zum Azure-App Lizenzierungsgateway "Ja" aus.
  2. Wählen Sie unter "Virtuelle Netzwerke konfigurieren" für ein virtuelles Netzwerk das virtuelle Netzwerk aus, das Sie erstellt haben. In diesem Beispiel wird myVNet in myResourceGroup. Wählen Sie für Subnetz das Subnetz für das Anwendungsgateway 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 "Ingress erstellen" für die Verwaltungskonsole "Ja" aus, um die WebLogic-Verwaltungskonsole verfügbar zu machen.
  5. Behalten Sie für die anderen Felder die Standardwerte bei.

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

Überprüfen der erfolgreichen Bereitstellung von WLS

In diesem Abschnitt erfahren Sie, wie Sie schnell die erfolgreiche Bereitstellung des WLS-Clusters und des Anwendungsgateway-Eingangscontrollers überprüfen können.

Nachdem die Bereitstellung abgeschlossen ist, wählen Sie "Ausgaben" aus. Sie finden die externe URL der WebLogic-Verwaltungskonsole und des Clusters. Verwenden Sie die folgenden Anweisungen, um auf diese Ressourcen zuzugreifen:

  • Um die WebLogic-Verwaltungskonsole 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-Verwaltungskonsole 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 Anwendungsgateway-Eingangscontroller weitergeleitet wird.

Bereinigen von Ressourcen

Wenn Sie den WLS-Cluster nicht weiterhin verwenden werden, löschen Sie das virtuelle Netzwerk und den WLS-Cluster mit den folgenden Azure-Portal Schritten:

  1. Besuchen Sie die Übersichtsseite für die RessourcengruppemyResourceGroup, und wählen Sie dann "Ressourcengruppe löschen" aus.
  2. Besuchen Sie die Übersichtsseite für die Ressourcengruppe, die Sie 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.