Bereitstellen einer Java-Anwendung mit WebLogic Server in einem Azure Kubernetes Service-Cluster (AKS)

Dieser Artikel demonstriert Folgendes:

  • Ausführen von Java, Java EE oder Jakarta EE unter Oracle WebLogic Server (WLS)
  • Einrichten eines WLS-Clusters mithilfe des Azure Marketplace-Angebots
  • Erstellen des Docker-Anwendungsimages, das als Hilfsimage für die Bereitstellung von WDT-Modellen und -Anwendungen (WebLogic Deploy Tooling) dienen soll
  • Bereitstellen der containerisierten Anwendung im vorhandenen WLS-Cluster in AKS mit Verbindung mit Microsoft Azure SQL

Dieser Artikel nutzt das Azure Marketplace-Angebot für WLS, um Ihre Journey zu AKS zu beschleunigen. Das Angebot stellt automatisch mehrere Azure-Ressourcen bereit, u. a. folgende:

  • Eine Azure Container Registry-Instanz
  • Ein AKS-Cluster
  • Eine Instanz des Azure App Gateway-Eingangsdatencontrollers (App Gateway Ingress Controller, AGIC)
  • Den WebLogic-Operator
  • Ein Containerimage, einschließlich der WebLogic-Runtime
  • Einen WLS-Cluster ohne Anwendung

Anschließend wird in diesem Artikel Schritt für Schritt das Erstellen eines Hilfsimages erläutert, um einen vorhandenen WLS-Cluster zu aktualisieren. Das Hilfsimage stellt Anwendungs- und WDT-Modelle bereit.

Für die vollständige Automatisierung können Sie vor der Angebotsbereitstellung Ihre Anwendung auswählen und die Datenquellenverbindung über das Azure-Portal konfigurieren. Um das Angebot anzuzeigen, besuchen Sie das Azure-Portal.

Eine schrittweise Anleitung zum Einrichten von WebLogic Server in Azure Kubernetes Service finden Sie in der offiziellen Dokumentation von Oracle unter Azure Kubernetes Service.

Voraussetzungen

  • Sollten Sie über kein Azure-Abonnement verfügen, können Sie zunächst ein kostenloses Azure-Konto erstellen.
  • Stellen Sie sicher, dass die Azure-Identität, die Sie zum Anmelden und Durcharbeiten dieses Artikels verwenden, im aktuellen Abonnement entweder über die Rolle Besitzer oder über die Rollen Mitwirkender und Benutzerzugriffsadministrator verfügt. Eine Übersicht über Azure-Rollen finden Sie unter Was ist die rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC)? Ausführliche Informationen zu den spezifischen Rollen, die für WLS in AKS erforderlich sind, finden Sie unter Integrierte Azure-Rollen.
  • 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.
  • Stimmen Sie den Lizenzbedingungen für WLS zu.
    • 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.

      Hinweis

      Erwerben Sie eine Supportberechtigung von Oracle, bevor Sie in die Produktionsumgebung wechseln. Andernfalls, sind Ihre ausgeführten Images nicht sicher und erhalten keine Patches zur Beseitigung kritischer Sicherheitsfehler. Weitere Informationen zu wichtigen Patchupdates von Oracle finden Sie unter Critical Patch Updates, Security Alerts and Bulletins (Kritische Patchupdates, Sicherheitswarnungen und Bulletins) bei Oracle.

    • Akzeptieren Sie den Lizenzvertrag.
  • Bereiten Sie einen lokalen Computer mit installiertem UNIX-ähnlichem Betriebssystem vor (z. B. Ubuntu, Azure Linux, macOS, Windows-Subsystem für Linux).
    • Azure-Befehlszeilenschnittstelle. Testen Sie mithilfe von az --version, ob az funktioniert. Dieses Dokument wurde mit Version 2.55.1 getestet.
    • Docker Dieses Dokument wurde mit Docker-Version 20.10.7 getestet. Testen Sie mithilfe von docker info, ob der Docker-Daemon ausgeführt wird.
    • kubectl. Testen Sie mithilfe von kubectl version, ob kubectl funktioniert. Dieses Dokument wurde mit Version v1.21.2 getestet.
    • Ein Java JDK, das mit der Version von WLS, die Sie ausführen möchten, kompatibel ist. Im Artikel werden Sie zur Installation einer WLS-Version geleitet, die JDK 11 verwendet. Azure empfiehlt den Microsoft-Build des OpenJDK. Stellen Sie sicher, dass die Umgebungsvariable JAVA_HOME in den Shells korrekt festgelegt ist, in denen Sie die Befehle ausführen.
    • Maven 3.5.0 oder höher
    • Stellen Sie sicher, dass das Zip-/Unzip-Hilfsprogramm installiert ist. Testen Sie mithilfe von zip/unzip -v, ob zip/unzip funktioniert.
  • Alle Schritte in diesem Artikel, mit Ausnahme der für Docker, können auch in Azure Cloud Shell ausgeführt werden. Weitere Informationen zu Azure Cloud Shell finden Sie unter Was ist Azure Cloud Shell?.

Bereitstellen von WLS in AKS

Anhand der Schritte in diesem Abschnitt stellen Sie WLS so einfach wie möglich in AKS bereit. WLS in AKS bietet eine breite und umfassende Auswahl an Azure-Integrationen. Weitere Informationen finden Sie unter Welche Lösungen zum Ausführen von Oracle WebLogic Server in Azure Kubernetes Service gibt es?

In den folgenden Schritten erfahren Sie, wie Sie das Angebot von WLS in AKS finden und den Bereich Grundlagen ausfüllen.

  1. Geben Sie in der Suchleiste oben im Azure-Portal weblogic ein. Wählen Sie in den automatisch vorgeschlagenen Suchergebnissen im Abschnitt Marketplace die Option WebLogic Server in AKS aus.

    Screenshot des Azure-Portals, das WLS in den Suchergebnissen anzeigt.

    Sie können auch direkt zum Angebot für WebLogic Server in AKS navigieren.

  2. Wählen Sie auf der Angebotsseite Erstellen aus.

  3. Stellen Sie im Bereich Grundlagen sicher, dass im Feld für Abonnement derselbe Wert angezeigt wird, mit dem Sie sich bei Azure angemeldet haben. Stellen Sie sicher, dass Sie über eine der Rollen verfügen, die im Abschnitt „Voraussetzungen“ aufgeführt sind.

    Screenshot des Azure-Portals, das WebLogic Server auf AKS zeigt.

  4. 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 Wert für die Ressourcengruppe ein. Da Ressourcengruppen innerhalb eines Abonnements eindeutig sein müssen, wählen Sie einen eindeutigen Namen aus. Eine einfache Möglichkeit, eindeutige Namen zu erhalten, besteht darin, eine Kombination aus Ihren Initialen, dem heutigen Datum und einem Bezeichner zu verwenden, z. B. ejb0723wls.

  5. Wählen Sie unter Instanzdetails die Region für die Bereitstellung aus. Eine Liste der Azure-Regionen, in denen AKS verfügbar ist, finden Sie unter Verfügbarkeit der AKS-Regionen.

  6. Behalten Sie unter Anmeldeinformationen für WebLogic für Benutzername für WebLogic Administrator den Standardwert bei.

  7. Geben Sie wlsAksCluster2022 als Kennwort für WebLogic-Administrator ein. Verwenden Sie denselben Wert für das Feld „Bestätigung“ und das Feld Kennwort für WebLogic Model-Verschlüsselung.

  8. Scrollen Sie zum unteren Rand des Bereichs Grundlagen, und beachten Sie die hilfreichen Links zur Dokumentation, zum Communitysupport und zum Melden von Problemen.

  9. Wählen Sie Weiter aus.

Die folgenden Schritte zeigen, wie Sie den Bereitstellungsprozess starten.

  1. Scrollen Sie zum Abschnitt Oracle Single Sign-On-Konto (SSO) bereitstellen. Geben Sie Ihre Oracle-SSO-Anmeldeinformationen ein, die unter „Voraussetzungen“ beschrieben sind.

    Screenshot des Azure-Portals, das den konfigurierten SSO-Bereich zeigt.

  2. Führen Sie die Schritte im Infofeld aus. Beginnen Sie mit Bevor Sie fortfahren, müssen Sie die Bedingungen und Einschränkungen für Oracle Standard akzeptieren..

  3. Wählen Sie je nachdem, ob das Oracle SSO-Konto über eine Oracle-Supportberechtigung verfügt, die entsprechende Option für Wählen Sie den Typ von WebLogic Server-Images aus.. Wenn das Konto über eine Supportberechtigung verfügt, wählen Sie Gepatchte WebLogic Server-Images aus. Wählen Sie andernfalls Allgemeine WebLogic Server-Images aus.

  4. Übernehmen Sie für Wählen Sie die gewünschte Kombination aus WebLogic Server... den Standardwert. Sie haben zahlreiche Auswahlmöglichkeiten für WLS, JDK und Betriebssystemversion.

  5. Wählen Sie im Abschnitt Anwendung neben Eine Anwendung bereitstellen? die Option Nein aus.

In den folgenden Schritten werden die WLS-Verwaltungskonsole und die Beispiel-App mit einem integrierten Application Gateway-Add-On für eingehenden Datenverkehr für das öffentliche Internet verfügbar gemacht. Weitere Informationen finden Sie unter Was ist der Application Gateway-Eingangscontroller?.

Screenshot des Azure-Portals, der die einfachste mögliche Lastenausgleichskonfiguration auf der Seite Oracle WebLogic Server auf Azure Kubernetes Service erstellen zeigt.

  1. Wählen Sie Weiter aus, um den Bereich TLS/SSL anzuzeigen.

  2. Wählen Sie Weiter aus, um den Bereich Lastenausgleich anzuzeigen.

  3. Wählen Sie neben Optionen für den Lastenausgleich die Option Application Gateway-Eingangsdatencontroller aus.

  4. Unter dem Application Gateway-Eingangsdatencontroller sollten bereits alle Felder mit den Standardwerten für Virtuelles Netzwerk und Subnetz ausgefüllt sein. Lassen Sie die Standardwerte unverändert.

  5. Wählen Sie für Eingangsdaten für Verwaltungskonsole erstellen die Option Ja aus.

    Screenshot des Azure-Portals, das die Konfiguration des Application Gateway-Eingangscontroller auf der Seite „Oracle WebLogic Server auf Azure Kubernetes Service erstellen“ zeigt.

  6. Übernehmen Sie in den restlichen Feldern die Standardwerte.

  7. Klicken Sie auf Überprüfen + erstellen. Vergewissern Sie sich, dass die Überprüfung erfolgreich ist. Falls nicht, beheben Sie etwaige Probleme bei der Überprüfung, und wählen Sie dann erneut Überprüfen und erstellen aus.

  8. Klicken Sie auf Erstellen.

  9. Verfolgen Sie den Status der Bereitstellung auf der Seite Bereitstellung wird durchgeführt.

Abhängig von den Netzwerkbedingungen und anderen Aktivitäten in der ausgewählten Region kann die Bereitstellung bis zu 50 Minuten dauern.

Sie können während der Wartezeit die Schritte im Abschnitt Erstellen einer Azure SQL-Datenbank ausführen. Kehren Sie zu diesem Abschnitt zurück, wenn die Erstellung der Datenbank abgeschlossen ist.

Untersuchen der Bereitstellungsausgabe

Führen Sie die Schritte in diesem Abschnitt aus, um zu überprüfen, ob die Bereitstellung erfolgreich war.

Wenn Sie die Seite Bereitstellung läuft verlassen haben, zeigen Ihnen die folgenden Schritte, wie Sie zu dieser Seite zurückkehren. Wenn Sie sich noch auf der Seite befinden, auf der Ihre Bereitstellung wurde abgeschlossen. angezeigt wird, können Sie mit Schritt 5 nach dem nächsten Screenshot fortfahren.

  1. Wählen Sie in der Ecke oben links einer beliebigen Azure-Portalseite das Hamburger-Menü und dann Ressourcengruppen aus.

  2. Geben Sie in das Feld mit dem Text nach beliebigem Feld filtern die ersten Buchstaben der zuvor erstellten Ressourcengruppe ein. Wenn Sie der empfohlenen Konvention gefolgt sind, geben Sie Ihre Initialen ein und wählen Sie dann die entsprechende Ressourcengruppe aus.

  3. Wählen Sie im linken Navigationsbereich im Abschnitt Einstellungen die Option Bereitstellungen aus. Es wird eine sortierte Liste der Bereitstellungen für diese Ressourcengruppe angezeigt, wobei die neueste Bereitstellung zuerst aufgeführt wird.

  4. Scrollen Sie zum ältesten Eintrag in dieser Liste. Dieser Eintrag entspricht der Bereitstellung, die Sie im vorherigen Abschnitt gestartet haben. Wählen Sie die älteste Bereitstellung aus, wie im folgenden Screenshot dargestellt.

    Screenshot des Azure-Portals, der die Liste der Bereitstellungen der Ressourcengruppen zeigt.

  5. Wählen Sie im linken Navigationsbereich Ausgaben aus. In dieser Liste werden die Ausgabewerte der Bereitstellung angezeigt. Die Ausgaben enthalten hilfreiche Informationen.

  6. Der adminConsoleExternalUrl-Wert ist der vollqualifizierte, im öffentlichen Internet sichtbare Link zur WLS-Verwaltungskonsole für diesen AKS-Cluster. Wählen Sie das Kopiersymbol neben dem Feldwert aus, um den Link in die Zwischenablage zu kopieren. Diesen Wert benötigen Sie später.

  7. Der clusterExternalUrl-Wert ist der vollqualifizierte, im öffentlichen Internet sichtbare Link zur Beispiel-App, die in WLS auf diesem AKS-Cluster bereitgestellt wird. Wählen Sie das Kopiersymbol neben dem Feldwert aus, um den Link in die Zwischenablage zu kopieren. Diesen Wert benötigen Sie später.

  8. Der Wert shellCmdtoOutputWlsImageModelYaml ist die base64-Zeichenfolge des WDT-Modells, das im Containerimage erstellt wurde. Diesen Wert benötigen Sie später.

  9. Der Wert shellCmdtoOutputWlsImageProperties ist die base64-Zeichenfolge des WDT-Eigenschaften, die im Containerimage erstellt wurden. Diesen Wert benötigen Sie später.

  10. Der Wert shellCmdtoConnectAks ist der Azure CLI-Befehl, um eine Verbindung mit diesem bestimmten AKS-Cluster herzustellen. Auf diese Weise können Sie kubectl verwenden, um den Cluster zu verwalten.

Die anderen Ausgabewerte gehen über den Rahmen dieses Artikels hinaus, werden aber im Benutzerhandbuch zu WebLogic in AKS ausführlich erläutert.

Erstellen einer Azure-SQL-Datenbank

Führen Sie zum Erstellen einer Einzeldatenbank in Azure SQL-Datenbank für Ihre App die Schritte unter Schnellstart: Erstellen einer Einzeldatenbank – Azure SQL-Datenbank aus. Beachten Sie die folgenden Unterschiede:

  • Notieren Sie sich im Schritt Grundlagendie Werte von Ressourcengruppe, Datenbankname,<server-name>.database.windows.net, Serveradministratoranmeldung und Kennwort. Dieser Artikel bezieht sich auf den Wert für Ressourcengruppe der Datenbank als <db-resource-group>.

  • Legen Sie im Schritt Netzwerk die Option Verbindungsmethode auf Öffentlicher Endpunkt, Azure-Diensten und -Ressourcen den Zugriff auf diesen Server gestatten auf Ja und Aktuelle Client-IP-Adresse hinzufügen auf Ja fest.

    Screenshot des Azure-Portals, auf dem die Registerkarte „Netzwerk“ auf der Seite „SQL-Datenbank erstellen“ mit hervorgehobenen Einstellungen für die Konnektivitätsmethode und Firewallregeln angezeigt wird.

Hinweis

Beachten Sie, dass die Ebene „serverloses Computing“, die Sie für diese Datenbank ausgewählt haben, Geld spart, da die Datenbank in Zeiten der Inaktivität in den Ruhezustand versetzt wird. Die Beispiel-App schlägt fehl, wenn sich die Datenbank beim Starten der App im Ruhezustand befindet.

Um die Aktivierung der Datenbank zu erzwingen, können Sie eine Abfrage mit dem Abfrage-Editor ausführen. Führen Sie die Schritte unter Abfragen der Datenbank aus. Hier folgt eine Beispielabfrage: SELECT * FROM COFFEE;.

  1. Erstellen Sie ein Schema für die Beispielanwendung. Führen Sie die Schritte unter Abfragen der Datenbank aus, um den Bereich Abfrage-Editor zu öffnen. Geben Sie folgende Abfrage ein, und führen Sie sie aus:

    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));
    INSERT INTO SEQUENCE VALUES ('SEQ_GEN',0);
    

    Nach einer erfolgreichen Ausführung sollte die Meldung Die Abfrage war erfolgreich: Betroffene Zeilen: 0 angezeigt werden. Wenn diese Meldung nicht angezeigt wird, beheben Sie das Problem, bevor Sie fortfahren.

Die Datenbank, Tabellen, der AKS-Cluster und der WLS-Cluster werden erstellt. Sie können sich die Verwaltungskonsole genauer ansehen, indem Sie einen Browser öffnen und zur Adresse von adminConsoleExternalUrl navigieren. Melden Sie sich mit den Werten an, die Sie während der Bereitstellung von WLS in AKS eingegeben haben.

Sie können mit der Vorbereitung von AKS zum Hosten Ihrer WebLogic-Anwendung fortfahren.

Konfigurieren und Bereitstellen der Beispielanwendung

Das Angebot stellt den WLS-Cluster über Modell in Image bereit. Derzeit ist im WLS-Cluster keine Anwendung bereitgestellt.

In diesem Abschnitt wird der WLS-Cluster aktualisiert, indem eine Beispielanwendung mithilfe des Hilfsimages bereitgestellt wird.

Auschecken der Anwendung

In diesem Abschnitt klonen Sie den Beispielcode für diesen Leitfaden. Das Beispiel befindet sich auf GitHub im Repository weblogic-on-azure im Ordner javaee/weblogic-cafe/. Hier ist die Dateistruktur der Anwendung.

weblogic-cafe
├── pom.xml
└── src
    └── main
        ├── java
        │   └── cafe
        │       ├── model
        │       │   ├── CafeRepository.java
        │       │   └── entity
        │       │       └── Coffee.java
        │       └── web
        │           ├── rest
        │           │   └── CafeResource.java
        │           └── view
        │               └── Cafe.java
        ├── resources
        │   ├── META-INF
        │   │   └── persistence.xml
        │   └── cafe
        │       └── web
        │           ├── messages.properties
        │           └── messages_es.properties
        └── webapp
            ├── WEB-INF
            │   ├── beans.xml
            │   ├── faces-config.xml
            │   └── web.xml
            ├── index.xhtml
            └── resources
                └── components
                    └── inputPrice.xhtml

Führen Sie die folgenden Befehle aus, um das Repository zu klonen:

cd <parent-directory-to-check-out-sample-code>
export BASE_DIR=$PWD
git clone --single-branch https://github.com/microsoft/weblogic-on-azure.git --branch 20240201 $BASE_DIR/weblogic-on-azure

Wenn eine Meldung angezeigt wird, dass Sie sich im Status „detached HEAD“ befinden, können Sie diese Meldung problemlos ignorieren. Sie bedeutet nur, dass Sie ein Tag ausgecheckt haben.

Verwenden Sie den folgenden Befehl, um javaee/weblogic-cafe/ zu erstellen:

mvn clean package --file $BASE_DIR/weblogic-on-azure/javaee/weblogic-cafe/pom.xml

Das Paket sollte erfolgreich in $BASE_DIR/weblogic-on-azure/javaee/weblogic-cafe/target/weblogic-cafe.war generiert werden. Wenn das Paket nicht angezeigt wird, müssen Sie das Problem beheben, bevor Sie fortfahren.

Verwenden von Docker zum Erstellen eines Hilfsimages

Führen Sie zum Erstellen eines Hilfsimages die Schritte in diesem Abschnitt aus. Dieses Image schließt die folgenden Komponenten ein:

  • Die Modell in Image-Modelldateien
  • Ihre Anwendung
  • Die Archivdatei des JDBC-Treibers
  • Die Installation von WebLogic Deploy Tooling

Ein Hilfsimage ist ein Docker-Containerimage, das Ihre App und die Konfiguration enthält. Der WebLogic Kubernetes-Operator kombiniert das Hilfsimage mit domain.spec.image im AKS-Cluster, der WebLogic Server, das JDK und das Betriebssystem enthält. Weitere Informationen zu Hilfsimages finden Sie in der Oracle-Dokumentation im Abschnitt zu Hilfsimages.

In diesem Abschnitt ist ein Linux-Terminal erforderlich, in dem die Azure CLI und kubectl installiert sind.

Führen Sie zum Erstellen des Images die folgenden Schritte aus:

  1. Verwenden Sie die folgenden Befehle, um ein Verzeichnis zu erstellen und die Modelle und die Anwendung zu stagen:

    mkdir -p ${BASE_DIR}/mystaging/models
    cd ${BASE_DIR}/mystaging/models
    
  2. Kopieren Sie den Wert shellCmdtoOutputWlsImageModelYaml, den Sie aus den Bereitstellungsausgaben gespeichert haben, fügen Sie ihn in das Bash-Fenster ein, und führen Sie den Befehl aus. Der Befehl sollte in etwa wie im folgenden Beispiel aussehen:

    echo -e IyBDb3B5cmlna...Cgo= | base64 -d > model.yaml
    

    Dieser Befehl erzeugt die Datei ${BASE_DIR}/mystaging/models/model.yaml mit einem Inhalt ähnlich dem folgenden Beispiel:

    # Copyright (c) 2020, 2021, Oracle and/or its affiliates.
    # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
    
    # Based on ./kubernetes/samples/scripts/create-weblogic-domain/model-in-image/model-images/model-in-image__WLS-v1/model.10.yaml
    # in https://github.com/oracle/weblogic-kubernetes-operator.
    
    domainInfo:
      AdminUserName: "@@SECRET:__weblogic-credentials__:username@@"
      AdminPassword: "@@SECRET:__weblogic-credentials__:password@@"
      ServerStartMode: "prod"
    
    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
      SecurityConfiguration:
        NodeManagerUsername: "@@SECRET:__weblogic-credentials__:username@@"
        NodeManagerPasswordEncrypted: "@@SECRET:__weblogic-credentials__:password@@"
    
    resources:
      SelfTuning:
        MinThreadsConstraint:
          SampleMinThreads:
            Target: "cluster-1"
            Count: 1
        MaxThreadsConstraint:
          SampleMaxThreads:
            Target: "cluster-1"
            Count: 10
        WorkManager:
          SampleWM:
            Target: "cluster-1"
            MinThreadsConstraint: "SampleMinThreads"
            MaxThreadsConstraint: "SampleMaxThreads"
    
  3. Kopieren Sie auf ähnliche Weise den Wert shellCmdtoOutputWlsImageProperties, fügen Sie sie in das Bash-Fenster ein, und führen Sie den Befehl aus. Der Befehl sollte in etwa wie im folgenden Beispiel aussehen:

    echo -e IyBDb3B5cml...pFPTUK | base64 -d > model.properties
    

    Dieser Befehl erzeugt die Datei ${BASE_DIR}/mystaging/models/model.properties mit einem Inhalt ähnlich dem folgenden Beispiel:

    # Copyright (c) 2021, Oracle Corporation and/or its affiliates.
    # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
    
    # Based on ./kubernetes/samples/scripts/create-weblogic-domain/model-in-image/model-images/model-in-image__WLS-v1/model.10.properties
    # in https://github.com/oracle/weblogic-kubernetes-operator.
    
    CLUSTER_SIZE=5
    
  4. Führen Sie die folgenden Schritte aus, um die Anwendungsmodelldatei zu erstellen:

    1. Verwenden Sie die folgenden Befehle, um weblogic-cafe.war zu kopieren und in wlsdeploy/applications zu speichern:

      mkdir -p ${BASE_DIR}/mystaging/models/wlsdeploy/applications
      cp $BASE_DIR/weblogic-on-azure/javaee/weblogic-cafe/target/weblogic-cafe.war ${BASE_DIR}/mystaging/models/wlsdeploy/applications/weblogic-cafe.war
      
    2. Verwenden Sie die folgenden Befehle, um die Anwendungsmodelldatei mit den angezeigten Inhalten zu erstellen. Speichern Sie die Modelldatei in ${BASE_DIR}/mystaging/models/appmodel.yaml.

      cat <<EOF >appmodel.yaml
      appDeployments:
        Application:
          weblogic-cafe:
            SourcePath: 'wlsdeploy/applications/weblogic-cafe.war'
            ModuleType: ear
            Target: 'cluster-1'
      EOF
      
  5. Verwenden Sie die folgenden Befehle, um den JDBC-Treiber von Microsoft SQL Server herunterzuladen und in wlsdeploy/externalJDBCLibraries zu installieren:

    export DRIVER_VERSION="10.2.1.jre8"
    export MSSQL_DRIVER_URL="https://repo.maven.apache.org/maven2/com/microsoft/sqlserver/mssql-jdbc/${DRIVER_VERSION}/mssql-jdbc-${DRIVER_VERSION}.jar"
    
    mkdir ${BASE_DIR}/mystaging/models/wlsdeploy/externalJDBCLibraries
    curl -m 120 -fL ${MSSQL_DRIVER_URL} -o ${BASE_DIR}/mystaging/models/wlsdeploy/externalJDBCLibraries/mssql-jdbc-${DRIVER_VERSION}.jar
    
  6. Verwenden Sie als Nächstes die folgenden Befehle, um die Modelldatei für die Datenbankverbindung mit den angezeigten Inhalten zu erstellen. Speichern Sie die Modelldatei in ${BASE_DIR}/mystaging/models/dbmodel.yaml. Das Modell verwendet Platzhalter (Geheimnis: sqlserver-secret) für den Datenbankbenutzernamen, das Kennwort und die URL. Stellen Sie sicher, dass die folgenden Felder richtig festgelegt sind. Das folgende Modell benennt die Ressource mit jdbc/WebLogicCafeDB.

    Item Name Feld Wert
    JNDI-Name resources.JDBCSystemResource.<resource-name>.JdbcResource.JDBCDataSourceParams.JNDIName jdbc/WebLogicCafeDB
    Treibername resources.JDBCSystemResource.<resource-name>.JDBCDriverParams.DriverName com.microsoft.sqlserver.jdbc.SQLServerDriver
    Datenbank-URL resources.JDBCSystemResource.<resource-name>.JDBCDriverParams.URL @@SECRET:sqlserver-secret:url@@
    Datenbankkennwort resources.JDBCSystemResource.<resource-name>.JDBCDriverParams.PasswordEncrypted @@SECRET:sqlserver-secret:password@@
    Datenbankbenutzername resources.JDBCSystemResource.<resource-name>.JDBCDriverParams.Properties.user.Value '@@SECRET:sqlserver-secret:user@@'
    cat <<EOF >dbmodel.yaml
    resources:
      JDBCSystemResource:
        jdbc/WebLogicCafeDB:
          Target: 'cluster-1'
          JdbcResource:
            JDBCDataSourceParams:
              JNDIName: [
                jdbc/WebLogicCafeDB
              ]
              GlobalTransactionsProtocol: None
            JDBCDriverParams:
              DriverName: com.microsoft.sqlserver.jdbc.SQLServerDriver
              URL: '@@SECRET:sqlserver-secret:url@@'
              PasswordEncrypted: '@@SECRET:sqlserver-secret:password@@'
              Properties:
                user:
                  Value: '@@SECRET:sqlserver-secret:user@@'
            JDBCConnectionPoolParams:
              TestTableName: SQL SELECT 1
              TestConnectionsOnReserve: true
    EOF
    
  7. Verwenden Sie die folgenden Befehle, um eine Anwendungsarchivdatei zu erstellen und dann den Ordner wlsdeploy zu entfernen, den Sie nicht mehr benötigen:

    cd ${BASE_DIR}/mystaging/models
    zip -r archive.zip wlsdeploy
    
    rm -f -r wlsdeploy
    
  8. Verwenden Sie die folgenden Befehle, um WebLogic Deploy Tooling (WDT) herunterzuladen und im Stagingverzeichnis zu installieren und die Dateien vom Typ weblogic-deploy/bin/*.cmd zu entfernen, die in UNIX-Umgebungen nicht verwendet werden:

    cd ${BASE_DIR}/mystaging
    curl -m 120 -fL https://github.com/oracle/weblogic-deploy-tooling/releases/latest/download/weblogic-deploy.zip -o weblogic-deploy.zip
    
    unzip weblogic-deploy.zip -d .
    rm ./weblogic-deploy/bin/*.cmd
    
  9. Verwenden Sie den folgenden Befehl, um das WDT-Installationsprogramm zu entfernen:

    rm weblogic-deploy.zip
    
  10. Verwenden Sie die folgenden Befehle, um ein Hilfsimage mithilfe von Docker zu erstellen:

    cd ${BASE_DIR}/mystaging
    cat <<EOF >Dockerfile
    FROM busybox
    ARG AUXILIARY_IMAGE_PATH=/auxiliary
    ARG USER=oracle
    ARG USERID=1000
    ARG GROUP=root
    ENV AUXILIARY_IMAGE_PATH=\${AUXILIARY_IMAGE_PATH}
    RUN adduser -D -u \${USERID} -G \$GROUP \$USER
    # ARG expansion in COPY command's --chown is available in docker version 19.03.1+.
    # For older docker versions, change the Dockerfile to use separate COPY and 'RUN chown' commands.
    COPY --chown=\$USER:\$GROUP ./ \${AUXILIARY_IMAGE_PATH}/
    USER \$USER
    EOF
    
  11. Führen Sie den Befehl docker buildx build unter Verwendung von ${BASE_DIR}/mystaging/Dockerfile aus, wie im folgenden Beispiel gezeigt:

    cd ${BASE_DIR}/mystaging
    docker buildx build --platform linux/amd64 --build-arg AUXILIARY_IMAGE_PATH=/auxiliary --tag model-in-image:WLS-v1 .
    

    Wenn das Image erfolgreich erstellt wird, sieht die Ausgabe ähnlich wie im folgenden Beispiel aus:

    [+] Building 12.0s (8/8) FINISHED                                   docker:default
    => [internal] load build definition from Dockerfile                          0.8s
    => => transferring dockerfile: 473B                                          0.0s
    => [internal] load .dockerignore                                             1.1s
    => => transferring context: 2B                                               0.0s
    => [internal] load metadata for docker.io/library/busybox:latest             5.0s
    => [1/3] FROM docker.io/library/busybox@sha256:6d9ac9237a84afe1516540f40a0f  0.0s
    => [internal] load build context                                             0.3s
    => => transferring context: 21.89kB                                          0.0s
    => CACHED [2/3] RUN adduser -D -u 1000 -G root oracle                        0.0s
    => [3/3] COPY --chown=oracle:root ./ /auxiliary/                             1.5s
    => exporting to image                                                        1.3s
    => => exporting layers                                                       1.0s
    => => writing image sha256:2477d502a19dcc0e841630ea567f50d7084782499fe3032a  0.1s
    => => naming to docker.io/library/model-in-image:WLS-v1                      0.2s
    
  12. Wenn Sie das Image erfolgreich erstellt haben, sollte es sich nun im Docker-Repository Ihres lokalen Computers befinden. Sie können die Imageerstellung mithilfe des folgenden Befehls überprüfen:

    docker images model-in-image:WLS-v1
    

    Dieser Befehl sollte eine Ausgabe ähnlich wie im folgenden Beispiel erzeugen:

    REPOSITORY       TAG       IMAGE ID       CREATED       SIZE
    model-in-image   WLS-v1    76abc1afdcc6   2 hours ago   8.61MB
    

    Nachdem das Image erstellt wurde, sollte es über die ausführbaren WDT-Dateien in /auxiliary/weblogic-deploy sowie die Modell-, Eigenschaften- und Archivdateien für WDT in /auxiliary/models verfügen. Verwenden Sie den folgenden Befehl im Docker-Image, um dieses Ergebnis zu überprüfen:

    docker run -it --rm model-in-image:WLS-v1 find /auxiliary -maxdepth 2 -type f -print
    

    Dieser Befehl sollte eine Ausgabe ähnlich wie im folgenden Beispiel erzeugen:

    /auxiliary/models/model.properties
    /auxiliary/models/dbmodel.yaml
    /auxiliary/models/model.yaml
    /auxiliary/models/archive.zip
    /auxiliary/models/appmodel.yaml
    /auxiliary/Dockerfile
    /auxiliary/weblogic-deploy/LICENSE.txt
    /auxiliary/weblogic-deploy/VERSION.txt
    
  13. Führen Sie die folgenden Schritte aus, um das Hilfsimage an Azure Container Registry zu übertragen:

    1. Öffnen Sie das Azure-Portal, und wechseln Sie zu der Ressourcengruppe, die Sie im Abschnitt Bereitstellen von WSL in AKS bereitgestellt haben.

    2. Wählen Sie die Ressource vom Typ Containerregistrierung aus der Ressourcenliste aus.

    3. Zeigen Sie mit der Maus auf den Wert neben Anmeldeserver, und wählen Sie das Kopiersymbol neben dem Text aus.

    4. Speichern Sie den Wert mithilfe des folgenden Befehls in der Umgebungsvariablen ACR_LOGIN_SERVER:

      export ACR_LOGIN_SERVER=<value-from-clipboard>
      
    5. Führen Sie die folgenden Befehle aus, um das Image zu markieren und zu pushen. Stellen Sie sicher, dass Docker ausgeführt wird, bevor Sie diese Befehle ausführen.

      export ACR_NAME=$(echo ${ACR_LOGIN_SERVER} | cut -d '.' -f 1)
      az acr login -n $ACR_NAME
      docker tag model-in-image:WLS-v1 $ACR_LOGIN_SERVER/wlsaks-auxiliary-image:1.0
      docker push $ACR_LOGIN_SERVER/wlsaks-auxiliary-image:1.0
      
    6. Sie können az acr repository show ausführen, um zu testen, ob das Image erfolgreich an das Remoterepository übertragen wird, wie im folgenden Beispiel gezeigt:

      az acr repository show --name ${ACR_NAME} --image wlsaks-auxiliary-image:1.0
      

      Dieser Befehl sollte eine Ausgabe ähnlich wie im folgenden Beispiel erzeugen:

      {
        "changeableAttributes": {
          "deleteEnabled": true,
          "listEnabled": true,
          "readEnabled": true,
          "writeEnabled": true
        },
        "createdTime": "2024-01-24T06:14:19.4546321Z",
        "digest": "sha256:a1befbefd0181a06c6fe00848e76f1743c1fecba2b42a975e9504ba2aaae51ea",
        "lastUpdateTime": "2024-01-24T06:14:19.4546321Z",
        "name": "1.0",
        "quarantineState": "Passed",
        "signed": false
      }
      

Anwenden des Hilfsimages

In den vorherigen Schritten haben Sie das Hilfsimage einschließlich der Modelle und WDT erstellt. Bevor Sie das Hilfsimage auf den WLS-Cluster anwenden, führen Sie die folgenden Schritte aus, um das Geheimnis für die Datenquellen-URL, den Benutzernamen und das Kennwort zu erstellen. Das Geheimnis wird als Teil des Platzhalters in dbmodel.yaml verwendet.

  1. Stellen Sie eine Verbindung mit dem AKS-Cluster her. Kopieren Sie dazu den Wert shellCmdtoConnectAks, den Sie zuvor gespeichert haben, fügen Sie ihn in das Bash-Fenster ein, und führen Sie dann den Befehl aus. Der Befehl sollte in etwa wie im folgenden Beispiel aussehen:

    az account set --subscription <subscription>; 
    az aks get-credentials \
        --resource-group <resource-group> \
        --name <name>
    

    Die Ausgabe sollte etwa folgendem Beispiel entsprechen. Wenn diese Ausgabe nicht angezeigt wird, beheben Sie das Problem, bevor Sie fortfahren.

    Merged "<name>" as current context in /Users/<username>/.kube/config
    
  2. Führen Sie die folgenden Schritte aus, um Werte für die Variablen abzurufen, die in der folgenden Tabelle angezeigt werden. Sie verwenden diese Werte später, um das Geheimnis für die Datenquellenverbindung zu erstellen.

    Variable Beschreibung Beispiel
    DB_CONNECTION_STRING Die Verbindungszeichenfolge von SQL Server jdbc:sqlserver://sqlserverforwlsaks.database.windows.net:1433;database=wlsaksquickstart0125
    DB_USER Der Benutzername für die Anmeldung bei SQL Server welogic@sqlserverforwlsaks
    DB_PASSWORD Das Kennwort für die Anmeldung bei SQL Server Secret123456
    1. Navigieren Sie im Azure-Portal zur SQL-Datenbank-Ressource.

    2. Wählen Sie im Navigationsbereich unter Einstellungen die Option Verbindungszeichenfolgen aus.

    3. Wählen Sie die Registerkarte JDBC aus.

    4. Wählen Sie das Kopiersymbol aus, um die Verbindungszeichenfolge in die Zwischenablage zu kopieren.

    5. Verwenden Sie für DB_CONNECTION_STRING die gesamte Verbindungszeichenfolge, ersetzen Sie jedoch den Platzhalter {your_password_here} durch Ihr Datenbankkennwort.

    6. Verwenden Sie für DB_USER den Teil der Verbindungszeichenfolge von azureuser bis ;password={your_password_here} (ausschließlich).

    7. Verwenden Sie für DB_PASSWORD den Wert, den Sie beim Erstellen der Datenbank eingegeben haben.

  3. Verwenden Sie die folgenden Befehle, um das Kubernetes-Geheimnis zu erstellen. In diesem Artikel wird der Geheimnisname sqlserver-secret für das Geheimnis der Datenquellenverbindung verwendet. Wenn Sie einen anderen Namen verwenden, stellen Sie sicher, dass er mit dem Wert in dbmodel.yaml identisch ist.

    Achten Sie in den folgenden Befehlen darauf, die Variablen DB_CONNECTION_STRING, DB_USER und DB_PASSWORD korrekt festzulegen, indem Sie die Platzhalterbeispiele durch die in den vorherigen Schritten beschriebenen Werte ersetzen. Achten Sie darauf, den Wert der DB_-Variablen in einfache Anführungszeichen einzuschließen, um zu verhindern, dass die Werte durch die Shell beeinträchtigt werden.

    export DB_CONNECTION_STRING='<example-jdbc:sqlserver://sqlserverforwlsaks.database.windows.net:1433;database=wlsaksquickstart0125>'
    export DB_USER='<example-welogic@sqlserverforwlsaks>'
    export DB_PASSWORD='<example-Secret123456>'
    export WLS_DOMAIN_NS=sample-domain1-ns
    export WLS_DOMAIN_UID=sample-domain1
    export SECRET_NAME=sqlserver-secret
    
    kubectl -n ${WLS_DOMAIN_NS} create secret generic \
        ${SECRET_NAME} \
        --from-literal=password="${DB_PASSWORD}" \
        --from-literal=url="${DB_CONNECTION_STRING}" \
        --from-literal=user="${DB_USER}"
    
    kubectl -n ${WLS_DOMAIN_NS} label secret \
        ${SECRET_NAME} \
        weblogic.domainUID=${WLS_DOMAIN_UID}
    

    Die folgende Ausgabe muss angezeigt werden, bevor Sie fortfahren. Wenn diese Ausgabe nicht angezeigt wird, beheben Sie das Problem, bevor Sie fortfahren.

    secret/sqlserver-secret created
    secret/sqlserver-secret labeled
    
  4. Wenden Sie das Hilfsimage an, indem Sie die benutzerdefinierte Ressourcendefinition (Custom Resource Definition, CRD) der Domäne mithilfe des Befehls kubectl patch patchen.

    Das Hilfsimage wird in spec.configuration.model.auxiliaryImages definiert, wie im folgenden Beispiel dargestellt. Weitere Informationen finden Sie unter Hilfsimages.

    spec:
      clusters:
      - name: sample-domain1-cluster-1
      configuration:
        model:
          auxiliaryImages:
          - image: wlsaksacrafvzeyyswhxek.azurecr.io/wlsaks-auxiliary-image:1.0
            imagePullPolicy: IfNotPresent
            sourceModelHome: /auxiliary/models
            sourceWDTInstallHome: /auxiliary/weblogic-deploy
    

    Verwenden Sie die folgenden Befehle, um den Wert restartVersion zu erhöhen, und kubectl patch, um das Hilfsimage mithilfe der gezeigten Definition auf die CRD der Domäne anzuwenden:

    export VERSION=$(kubectl -n ${WLS_DOMAIN_NS} get domain ${WLS_DOMAIN_UID} -o=jsonpath='{.spec.restartVersion}' | tr -d "\"")
    export VERSION=$((VERSION+1))
    
    cat <<EOF >patch-file.json
    [
      {
        "op": "replace",
        "path": "/spec/restartVersion",
        "value": "${VERSION}"
      },
      {
        "op": "add",
        "path": "/spec/configuration/model/auxiliaryImages",
        "value": [{"image": "$ACR_LOGIN_SERVER/wlsaks-auxiliary-image:1.0", "imagePullPolicy": "IfNotPresent", "sourceModelHome": "/auxiliary/models", "sourceWDTInstallHome": "/auxiliary/weblogic-deploy"}]
      },
      {
        "op": "add",
        "path": "/spec/configuration/secrets",
        "value": ["${SECRET_NAME}"]
      }
    ]
    EOF
    
    kubectl -n ${WLS_DOMAIN_NS} patch domain ${WLS_DOMAIN_UID} \
        --type=json \
        --patch-file patch-file.json
    
    kubectl get pod -n ${WLS_DOMAIN_NS} -w
    
  5. Warten Sie, bis der Verwaltungsserver und die verwalteten Server die Werte im folgenden Ausgabeblock anzeigen, bevor Sie fortfahren:

    NAME                             READY   STATUS    RESTARTS   AGE
    sample-domain1-admin-server      1/1     Running   0          20m
    sample-domain1-managed-server1   1/1     Running   0          19m
    sample-domain1-managed-server2   1/1     Running   0          18m
    

    Es kann 5 bis 10 Minuten dauern, bis das System diesen Zustand erreicht. Die folgende Liste gibt einen Überblick darüber, was passiert, während Sie warten:

    • Sie sollten sehen, dass sample-domain1-introspector zuerst ausgeführt wird. Diese Software sucht nach Änderungen an der benutzerdefinierten Domänenressource, damit sie die erforderlichen Aktionen für den Kubernetes-Cluster ausführen kann.
    • Wenn Änderungen erkannt werden, beendet und startet der Domänen-Introspector neue Pods gestartet, um ein Rollout der Änderungen auszuführen.
    • Als Nächstes sollten Sie sehen, wie der Pod sample-domain1-admin-server beendet und neu gestartet wird.
    • Dann sollten die beiden verwalteten Server beendet und neu gestartet werden.
    • Nur wenn alle drei Pods den Zustand 1/1 Running haben, ist es in Ordnung, den Vorgang fortzusetzen.

Überprüfen der Funktionsfähigkeit der Bereitstellung

Führen Sie die folgenden Schritte aus, um die Bereitstellung auf ihre Funktionsfähigkeit überprüfen, indem Sie die WLS-Verwaltungskonsole und die Beispiel-App anzeigen.

  1. Fügen Sie den Wert adminConsoleExternalUrl in die Adressleiste eines mit dem Internet verbundenen Webbrowsers ein. Der vertraute Anmeldebildschirm der WLS-Verwaltungskonsole sollte angezeigt werden.

  2. Melden Sie sich mit dem Benutzernamen weblogic und dem Kennwort an, das Sie beim Bereitstellen von WLS über das Azure-Portal eingegeben haben. Dieser Wert ist wlsAksCluster2022.

  3. Wählen Sie im Feld Domänenstruktur die Option Dienste aus.

  4. Wählen Sie unter Dienste die Option Datenquellen aus.

  5. Wählen Sie im Bereich Zusammenfassung der JDBC-Datenquellen die Option Überwachung aus. Ihr Bildschirm sollte ähnlich wie im folgenden Beispiel aussehen. Der Status der Datenquelle wird auf verwalteten Servern ausgeführt.

    Screenshot des Datenquellenstatus.

  6. Wählen Sie im Feld Domänenstruktur die Option Bereitstellungen aus.

  7. Die Tabelle Bereitstellungen sollte eine Zeile enthalten. Der Name sollte mit dem Application-Wert in der Datei appmodel.yaml identisch sein. Wählen Sie den Namen aus.

  8. Wählen Sie im Bereich Einstellungen die Registerkarte Testen aus.

  9. Wählen Sie weblogic-cafe aus.

  10. Wählen Sie im Bereich Einstellungen für weblogic-cafe die Registerkarte Testen aus.

  11. Erweitern Sie das Symbol + neben weblogic-cafe. Ihr Bildschirm sollte ähnlich wie im folgenden Beispiel aussehen. Insbesondere sollten Werte wie http://sample-domain1-managed-server1:8001/weblogic-cafe/index.xhtml in der Spalte Testpunkt angezeigt werden.

    Screenshot der Weblogic-Café Testpunkte.

    Hinweis

    Die Links in der Spalte Testpunkt sind nicht auswählbar, da die Verwaltungskonsole nicht mit der externen URL konfiguriert wurde, unter der sie ausgeführt wird. In diesem Artikel wird die WLS-Verwaltungskonsole nur zu Demonstrationszwecken dargestellt. Verwenden Sie die WLS-Verwaltungskonsole nicht für dauerhafte Konfigurationsänderungen, wenn WLS in AKS ausgeführt wird. Das cloudnative Design von WLS in AKS erfordert, dass jede dauerhafte Konfiguration in den anfänglichen Docker-Images dargestellt wird oder mithilfe von CI/CD-Techniken wie dem Aktualisieren des Modells auf den ausgeführten AKS-Cluster angewendet wird, wie in der Oracle-Dokumentation beschrieben.

  12. Vergegenwärtigen Sie sich den context-path-Wert der von Ihnen bereitgestellten Beispiel-App. Wenn Sie die empfohlene Beispiel-App bereitgestellt haben, entspricht context-pathweblogic-cafe.

  13. Erstellen Sie eine vollqualifizierte URL für die Beispiel-App, indem Sie context-path an den clusterExternalUrl-Wert anfügen. Wenn Sie die empfohlene Beispiel-App bereitgestellt haben, sollte die vollqualifizierte URL etwa http://wlsgw202401-wls-aks-domain1.eastus.cloudapp.azure.com/weblogic-cafe/ lauten.

  14. Fügen Sie die vollqualifizierte URL in einen mit dem Internet verbundenen Webbrowser ein. Wenn Sie die empfohlene Beispiel-App bereitgestellt haben, sollten Ergebnisse ähnlich wie im folgenden Screenshot angezeigt werden:

    Screenshot: Test-Web-App

Bereinigen von Ressourcen

Zum Vermeiden von Azure-Gebühren sollten Sie nicht benötigte Ressourcen bereinigen. Wenn Sie den Cluster nicht mehr benötigen, verwenden Sie den Befehl az group delete. Mit dem folgenden Befehl werden die Ressourcengruppe, der Containerdienst, die Containerregistrierung und alle zugehörigen Ressourcen entfernt:

az group delete --name <resource-group-name> --yes --no-wait
az group delete --name <db-resource-group-name> --yes --no-wait

Nächste Schritte

Weitere Informationen zum Ausführen von WLS in AKS oder auf virtuellen Computern finden Sie unter folgenden Links: