Freigeben über


Schnellstart: Bereitstellen von JBoss EAP unter Azure Red Hat OpenShift

In diesem Artikel erfahren Sie, wie Sie JBoss EAP (Enterprise Application Platform) über das Azure-Portal schnell unter Azure Red Hat OpenShift (ARO) einrichten.

Dieser Artikel nutzt das Azure Marketplace-Angebot für JBoss EAP, um Ihre Journey zu ARO zu beschleunigen. Das Angebot stellt automatisch Ressourcen bereit, darunter einen ARO-Cluster mit einer integrierten OpenShift Container Registry (OCR), den JBoss EAP Operator und optional ein Container-Image mit JBoss EAP und Ihrer Anwendung unter Verwendung von Source-to-Image (S2I). Um das Angebot anzuzeigen, besuchen Sie das Azure-Portal. Wenn Sie eine manuelle schrittweise Anleitung zum Ausführen von JBoss EAP unter ARO bevorzugen, die die Automatisierung des Angebots nicht verwendet, lesen Sie Bereitstellen einer Java-Anwendung mit Red Hat JBoss Enterprise Application Platform (JBoss EAP) in einem Azure Red Hat OpenShift 4-Cluster.

Wenn Sie an Feedback oder daran interessiert sind, eng mit dem Entwicklungsteam, das die JBoss EAP-Lösungen für Azure entwickelt, an Ihren Migrationsszenarien zu arbeiten, füllen Sie diese kurze Umfrage zur JBoss EAP-Migration aus und geben Sie Ihre Kontaktinformationen an. Das Team aus Programmmanagern, Architekten und Ingenieuren wird sich umgehend mit Ihnen in Verbindung setzen, um eine enge Zusammenarbeit zu initiieren.

Voraussetzungen

sudo apt update
sudo apt install mysql-server

Hinweis

Sie können diesen Leitfaden auch aus der Azure Cloud Shell ausführen. Bei diesem Ansatz sind alle erforderlichen Tools vorinstalliert.

Hinweis

Für Azure Red Hat OpenShift sind mindestens 40 Kerne erforderlich, um einen OpenShift-Cluster zu erstellen und auszuführen. Das standardmäßige Azure-Ressourcenkontingent für ein neues Azure-Abonnement erfüllt diese Anforderung nicht. Weitere Informationen zum Anfordern einer Erhöhung des Ressourcenlimits finden Sie unter Standardkontingent: Erhöhen der Grenzwerte nach VM-Serie beschrieben. Beachten Sie, dass Ihr kostenloses Testabonnement nicht für eine Erhöhung des Kontingents qualifiziert ist. Bevor Sie eine Kontingenterhöhung anfordern, führen Sie zuerst ein Upgrade auf ein Abonnement mit nutzungsbasierter Bezahlung durch.

Abrufen eines Red Hat Pull Secrets

Das in diesem Artikel verwendete Azure Marketplace-Angebot erfordert ein Red Hat Pull Secret. In diesem Abschnitt erfahren Sie, wie Sie ein Red Hat Pull Secret für Azure Red Hat OpenShift abrufen. Informationen dazu, was ein Red Hat-Pullgeheimnis ist und warum Sie es benötigen, finden Sie im Abschnitt Abrufen eines Red Hat-Pullgeheimnisses unter Erstellen eines Azure Red Hat OpenShift 4-Clusters.

Führen Sie die folgenden Schritte aus, um den geheimen Pullschlüssel abzurufen.

  1. Öffnen Sie die OpenShift Hybrid Cloud Console von Red Hat, und melden Sie sich dann mit Ihrem Red Hat-Konto beim OpenShift-Cluster-Manager-Portal an. Möglicherweise müssen Sie weitere Bedingungen akzeptieren und Ihr Konto aktualisieren, wie im folgenden Screenshot gezeigt. Verwenden Sie dasselbe Kennwort wie beim Erstellen des Kontos.

    Screenshot der Seite

  2. Nachdem Sie sich angemeldet haben, wählen Sie OpenShift und dann Downloads aus.

  3. Wählen Sie die Dropdownliste Alle Kategorien und dann Token aus.

  4. Wählen Sie unter Geheimen Schlüssel ziehen die Option Kopieren oder Herunterladen aus, um den Wert abzurufen, wie im folgenden Screenshot gezeigt.

    Screenshot des Red Hat-Konsolenportals mit dem geheimen Pullschlüssel.

    Der folgende Inhalt ist ein Beispiel, das aus dem Red Hat-Konsolenportal kopiert wurde, wobei die Authentifizierungscodes durch xxxx...xxx ersetzt wurden.

    {"auths":{"cloud.openshift.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"quay.io":{"auth":"xxx...xxx","email":"contoso-user@test.com"},"registry.connect.redhat.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"registry.redhat.io":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"}}}
    
  5. Speichern Sie den geheimen Schlüssel in einer Datei, damit Sie ihn später verwenden können.

Erstellen eines Microsoft Entra-Dienstprinzipals aus dem Azure-Portal

Das in diesem Artikel verwendete Azure Marketplace-Angebot erfordert einen Microsoft Entra-Dienstprinzipal, um Ihr Azure Red Hat OpenShift-Cluster bereitzustellen. Das Angebot weist dem Dienstprinzipal während der Bereitstellungszeit ordnungsgemäße Berechtigungen zu, ohne dass eine Rollenzuweisung erforderlich ist. Wenn Sie einen Dienstprinzipal verwenden möchten, überspringen Sie diesen Abschnitt, und fahren Sie mit dem nächsten Abschnitt fort, in dem Sie ein Red Hat Container Registry-Dienstkonto erstellen.

Führen Sie die folgenden Schritte aus, um einen Dienstprinzipal bereitzustellen und seine Anwendungs-ID (Client)-ID und den geheimen Schlüssel aus dem Azure-Portal abzurufen. Weitere Informationen finden Sie unter Erstellen und Verwenden eines Dienstprinzipals zum Bereitstellen eines Azure Red Hat OpenShift-Clusters.

Hinweis

Sie müssen über ausreichende Berechtigungen verfügen, um eine Anwendung bei Ihrem Microsoft Entra-Mandanten registrieren zu können. Falls ein Problem auftritt, sollten Sie die erforderlichen Berechtigungen überprüfen, um sicherzustellen, dass die Identität mit Ihrem Konto erstellt werden kann. Weitere Informationen finden Sie im Abschnitt Berechtigungen, die zum Registrieren einer App erforderlich sind in Verwendung des Portals, um eine Microsoft Entra-Anwendung und einen Dienstprinzipal zu erstellen, der auf Ressourcen zugreifen kann.

  1. Melden Sie sich über das Azure-Portal bei Ihrem Azure-Konto an.

  2. Wählen Sie Microsoft Entra ID aus.

  3. Wählen Sie App-Registrierungen aus.

  4. Wählen Sie Neue Registrierung aus.

  5. Benennen Sie die Anwendung, z. B. als jboss-eap-on-aro-app. Wählen Sie einen unterstützten Kontotyp aus, der bestimmt, von wem die Anwendung verwendet werden kann. Nachdem Sie die Werte festgelegt haben, wählen Sie Registrieren aus, wie im folgenden Screenshot gezeigt. Es dauert mehrere Sekunden, um die Anwendung bereitzustellen. Warten Sie, bis die Bereitstellung abgeschlossen ist, bevor Sie den Vorgang fortsetzen.

    Screenshot des Azure-Portals mit der Seite

  6. Speichern Sie die Anwendungs-ID (Client) auf der Übersichtsseite, wie im folgenden Screenshot gezeigt. Zeigen Sie mit dem Mauszeiger auf den Wert, der im Screenshot rot dargestellt ist, und wählen Sie das angezeigte Kopiersymbol aus. Die QuickInfo besagt In die Zwischenablage kopieren. Achten Sie darauf, den richtigen Wert zu kopieren, da die anderen Werte in diesem Abschnitt auch Kopiersymbole enthalten. Speichern Sie die Anwendungs-ID in einer Datei, damit Sie sie später verwenden können.

    Screenshot des Azure-Portals mit dienstprinzipaler Client-ID.

  7. Erstellen Sie einen neuen geheimen Clientschlüssel, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie Zertifikate & Geheimnisse aus.
    2. Wählen Sie Geheime Clientschlüssel und dann Neuer geheimer Clientschlüssel aus.
    3. Geben Sie eine Beschreibung des geheimen Schlüssels und eine Dauer ein. Wenn Sie fertig sind, wählen Sie Hinzufügen aus.
    4. Nachdem der geheime Clientschlüssel gespeichert wurde, wird dessen Wert angezeigt. Kopieren Sie den geheimen Wert, da Sie ihn später nicht mehr abrufen können. Achten Sie darauf, den Wert und nicht die geheime ID zu kopieren.

Sie haben Ihre Microsoft Entra-Anwendung, den Dienstprinzipal und den geheimen Clientschlüssel erstellt.

Erstellen eines Red Hat Container Registry-Dienstkontos

Später wird in diesem Artikel gezeigt, wie Sie eine Anwendung mithilfe von Source-to-Image (S2I) manuell in OpenShift bereitstellen. Ein Red Hat Container Registry-Dienstkonto ist erforderlich, um das Containerimage für JBoss EAP abzurufen, auf dem Ihre Anwendung ausgeführt werden soll. Wenn Sie ein Red Hat Container Registry-Dienstkonto verwenden möchten, überspringen Sie diesen Abschnitt, und fahren Sie mit dem nächsten Abschnitt fort, in dem Sie das Angebot bereitstellen.

Führen Sie die folgenden Schritte aus, um ein Red Hat Container Registry-Dienstkonto zu erstellen und den Benutzernamen und das Kennwort abzurufen. Weitere Informationen finden Sie unter Erstellen von Registry-Dienstkonten in der Dokumentation zu Red Hat.

  1. Verwenden Sie Ihr Red Hat-Konto, um sich bei der Registry-Dienstkonto-Kontoverwaltungsanwendung anzumelden.
  2. Wählen Sie auf der Seite Registry-Dienstkonten die Option Neues Dienstkonto aus.
  3. Geben Sie einen Namen für das Dienstkonto an. Dem Namen wird eine feste, zufällige Zeichenfolge vorangestellt.
    • Geben Sie eine Beschreibung ein.
    • Wählen Sie Erstellen aus.
  4. Navigieren Sie zurück zu Ihren Dienstkonten.
  5. Wählen Sie das von Ihnen erstellte Dienstkonto aus.
    • Notieren Sie sich den Benutzernamen, einschließlich der vorangestellten Zeichenfolge (und zwar XXXXXXX|username). Verwenden Sie diesen Benutzernamen, wenn Sie sich bei registry.redhat.io anmelden.
    • Notieren Sie sich das Kennwort. Sie verwenden dieses Kennwort für die Anmeldung bei registry.redhat.io.

Sie haben Ihr Red Hat Container Registry-Dienstkonto erstellt.

Bereitstellen von JBoss EAP unter Azure Red Hat OpenShift

Die Schritte in diesem Abschnitt leiten Sie zur Bereitstellung von JBoss EAP auf Azure Red Hat OpenShift.

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 JBoss EAP ein. Wählen Sie in den Suchergebnissen im Marketplace-Abschnitt JBoss EAP auf Azure Red Hat OpenShift aus, wie im folgenden Screenshot gezeigt.

    Screenshot: Azure-Portal mit JBoss EAP in Azure Red Hat OpenShift in den Suchergebnissen

    Sie können auch direkt zum JBoss EAP im Azure Red Hat OpenShift-Angebot im Azure-Portal wechseln.

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

  3. Stellen Sie im Bereich Grundlagen sicher, dass der im Feld Abonnement angezeigte Wert dem Wert entspricht, für den die Rollen im Abschnitt mit Voraussetzungen aufgeführt sind.

  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 haben, besteht darin, eine Kombination aus Ihren Initialen, dem heutigen Datum und einer Kennung zu verwenden. Beispiel: eaparo033123rg.

  5. Wählen Sie unter Instanzdetails die Region für die Bereitstellung aus. Eine Liste der Azure-Regionen, in denen OpenShift betrieben wird, finden Sie unter Regionen für Red Hat OpenShift 4.x in Azure.

  6. Wählen Sie Weiter: ARO aus.

Die folgenden Schritte zeigen, wie Sie den im folgenden Screenshot gezeigten ARO-Bereich ausfüllen:

Screenshot: Azure-Portal mit JBoss EAP im Bereich „ARO“ für Azure Red Hat OpenShift

  1. Wählen Sie unter Neues Cluster erstellenJa aus.

  2. Geben Sie unter Informationen zum Erstellen eines neuen Clusters für Red Hat geheimen Schlüssel ziehen ein, und füllen Sie das Red Hat Pull-Geheimnis aus, das Sie im Abschnitt Abrufen eines Red Hat Pull-Geheimnis erhalten haben. Verwenden Sie denselben Wert zum Bestätigen des geheimen Schlüssel.

  3. Füllen Sie die Client-ID des Dienstprinzipals mit der Dienstprinzipalanwendungs-ID (Client) aus, die Sie im Abschnitt Erstellen eines Microsoft Entra-Dienstprinzipals aus dem Azure-Portal abgerufen haben.

  4. Füllen Sie den geheimen Clientschlüssel des Dienstprinzipals mit dem geheimen Dienstprinzipal-Anwendungsschlüssel aus, den Sie im Abschnitt Erstellen eines Microsoft Entra-Dienstprinzipals aus dem Azure-Portal erhalten haben. Verwenden Sie denselben Wert zum Bestätigen des geheimen Schlüssel.

  5. Wählen Sie Nächste EAP-Anwendung aus.

Die folgenden Schritte zeigen, wie Sie den im folgenden Screenshot gezeigten EAP-Anwendungsbereich ausfüllen und die Bereitstellung starten.

Screenshot: Azure-Portal mit JBoss EAP im Bereich „EAP-Anwendung“ für Azure Red Hat OpenShift

  1. Lassen Sie die Standardoption Nein für die Bereitstellung einer Anwendung in OpenShift mit Source-to-Image (S2I)?.

    Hinweis

    Später wird in dieser Schnellstartanleitung gezeigt, wie Sie eine Anwendung mit einer Datenbankverbindung manuell bereitstellen.

  2. Klicken Sie auf Weiter: Überprüfen + erstellen.

  3. Klicken Sie auf Überprüfen + erstellen. Stellen Sie sicher, dass im oberen Bereich die grüne Meldung Überprüfung erfolgreich angezeigt wird. Wenn die Nachricht nicht angezeigt wird, beheben Sie alle Überprüfungsprobleme und wählen Sie dann erneut Überprüfen + erstellen aus.

  4. Klicken Sie auf Erstellen.

  5. 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 35 Minuten dauern.

Während Sie warten, können Sie die Datenbank einrichten.

Einrichten einer Azure Database for MySQL – Flexible Server

In den folgenden Abschnitten erfahren Sie, wie Sie Azure Database for MySQL – Flexible Server einrichten.

Festlegen von Umgebungsvariablen in der Befehlszeilen-Shell

Das Beispiel ist eine Java-Anwendung, die von einer MySQL-Datenbank unterstützt wird und mithilfe von Source-to-Image (S2I) im OpenShift-Cluster bereitgestellt wird. Weitere Informationen zu S2I finden Sie in der S2I-Dokumentation.

Öffnen Sie eine Shell, und legen Sie die folgenden Umgebungsvariablen fest. Tauschen Sie die Ersetzungen nach Bedarf aus.

RG_NAME=<resource-group-name>
SERVER_NAME=<database-server-name>
DB_DATABASE_NAME=testdb
ADMIN_USERNAME=myadmin
ADMIN_PASSWORD=Secret123456
DB_USERNAME=testuser
DB_PASSWORD=Secret123456
PROJECT_NAME=eaparo-sample
CON_REG_SECRET_NAME=eaparo-sample-pull-secret
CON_REG_ACC_USER_NAME="<red-hat-container-registry-service-account-username>"
CON_REG_ACC_PWD="<red-hat-container-registry-service-account-password>"
APPLICATION_NAME=javaee-cafe
APP_REPLICAS=3

Ersetzen Sie die Platzhalter durch die folgenden Werte, die in diesem Artikel verwendet werden:

  • <resource-group-name>: Der Name der zuvor erstellten Ressourcengruppe, z. B. eaparo033123rg.
  • <database-server-name>: Der Name Ihres MySQL-Servers, der in Azure eindeutig sein sollte, zum Beispiel eaparo033123mysql.
  • ADMIN_PASSWORD: Das Kennwort Ihres MySQL-Datenbankservers. Dieser Artikel wurde mithilfe des angezeigten Kennworts getestet. In der Datenbankdokumentation finden Sie Kennwortregeln.
  • <red-hat-container-registry-service-account-username> und <red-hat-container-registry-service-account-password>: Der Benutzername und das Kennwort des zuvor erstellten Red Hat Container Registry-Dienstkontos.

Es empfiehlt sich, die vollständig ausgefüllten Name-Wert-Paare in einer Textdatei zu speichern, falls die Shell beendet wird, bevor Sie die Ausführung der Befehle abgeschlossen haben. Auf diese Weise können Sie sie in eine neue Instanz der Shell einfügen und problemlos fortfahren.

Diese Namen/Wert-Paare sind im Wesentlichen „Geheimnisse.“ Eine produktionsbereite Möglichkeit zum Sichern von Azure Red Hat OpenShift, einschließlich der geheimen Schlüsselverwaltung, finden Sie unter Sicherheit für den Azure Red Hat OpenShift-Zielzonenbeschleuniger.

Erstellen und Initialisieren der Datenbank

Führen Sie als Nächstes die folgenden Schritte aus, um eine Azure-Datenbank für MySQL – Flexible Server zu erstellen und einen Benutzer mit Berechtigungen zum Lesen/Schreiben aus/in die jeweilige Datenbank zu erstellen.

  1. Verwenden Sie den folgenden Befehl, um eine flexible Azure Database für MySQL – Flexible Server zu erstellen:

    az mysql flexible-server create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --database-name ${DB_DATABASE_NAME} \
        --public-access 0.0.0.0  \
        --admin-user ${ADMIN_USERNAME} \
        --admin-password ${ADMIN_PASSWORD} \
        --yes
    

    Dieser Befehl kann zehn Minuten oder mehr dauern. Wenn der Befehl erfolgreich abgeschlossen wurde, wird die Ausgabe ähnlich wie im folgenden Beispiel angezeigt:

    {
      "connectionString": "mysql testdb --host ejb010406adb.mysql.database.azure.com --user myadmin --password=Secret#123345",
      "databaseName": "testdb",
      "firewallName": "AllowAllAzureServicesAndResourcesWithinAzureIps_2023-4-6_21-21-3",
      "host": "ejb010406adb.mysql.database.azure.com",
      "id": "/subscriptions/redacted/resourceGroups/ejb010406a/providers/Microsoft.DBforMySQL/flexibleServers/ejb010406adb",
      "location": "East US",
      "password": "Secret#123345",
      "resourceGroup": "ejb010406a",
      "skuname": "Standard_B1ms",
      "username": "myadmin",
      "version": "5.7"
    }
    
  2. Verwenden Sie die folgenden Befehle, um den Host des erstellten MySQL-Servers abzurufen:

    DB_HOST=$(az mysql flexible-server show \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    echo $DB_HOST
    

    Speichern Sie das Name/Wert-Paar in Ihrer Textdatei.

  3. Verwenden Sie den folgenden Befehl, um eine temporäre Firewallregel zu erstellen, um die Verbindung mit dem MySQL-Server aus dem öffentlichen Internet zuzulassen:

    az mysql flexible-server firewall-rule create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --rule-name "AllowAllIPs" \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    
  4. Verwenden Sie den folgenden Befehl, um einen neuen Datenbankbenutzer mit Berechtigungen zum Lesen und Schreiben der jeweiligen Datenbank zu erstellen. Dieser Befehl ist nützlich, um SQL direkt an die Datenbank zu senden.

    mysql --host ${DB_HOST} --user ${ADMIN_USERNAME} --password=${ADMIN_PASSWORD} << EOF
    CREATE USER '${DB_USERNAME}'@'%' IDENTIFIED BY '${DB_PASSWORD}';
    GRANT ALL PRIVILEGES ON ${DB_DATABASE_NAME} . * TO '${DB_USERNAME}'@'%';
    FLUSH PRIVILEGES;
    EOF
    
  5. Verwenden Sie den folgenden Befehl, um die temporäre Firewallregel zu löschen:

    az mysql flexible-server firewall-rule delete \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME}  \
        --rule-name "AllowAllIPs" \
        --yes
    

Sie verfügen jetzt über einen MySQL-Datenbankserver, der ausgeführt wird und bereit ist, eine Verbindung mit Ihrer App herzustellen.

Überprüfen der Funktionsfähigkeit der Bereitstellung

Die Schritte in diesem Abschnitt zeigen Ihnen, wie Sie überprüfen können, ob die Bereitstellung erfolgreich abgeschlossen wurde.

Wenn Sie die Seite Bereitstellung läuft verlassen haben, zeigen Ihnen die folgenden Schritte, wie Sie zu dieser Seite zurückkehren. Wenn Sie sich immer noch auf der Seite befinden, auf der Ihre Bereitstellung ist abgeschlossen angezeigt wird, können Sie mit Schritt 5 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: Azure-Portal mit JBoss EAP in Azure Red Hat OpenShift-Bereitstellungen mit hervorgehobener ältester Bereitstellung

  5. Wählen Sie im linken Navigationsbereich Ausgaben aus. Diese Liste enthält die Ausgabewerte aus der Bereitstellung, die einige nützliche Informationen enthalten.

  6. Öffnen Sie die Shell, fügen Sie den Wert aus dem Feld cmdToGetKubeadminCredentials ein, und führen Sie ihn aus. Sie sehen das Administratorkonto und die Anmeldeinformationen für die Anmeldung beim OpenShift-Clusterkonsolenportal. Das folgende Beispiel zeigt ein Administratorkonto:

    az aro list-credentials --resource-group eaparo033123rg --name clusterf9e8b9
    

    Dieser Befehl erzeugt eine Ausgabe ähnlich wie im folgenden Beispiel:

    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. Fügen Sie den Wert aus dem Feld consoleUrl in einen mit dem Internet verbundenen Webbrowser ein, und drücken Sie dann Enter. Geben Sie den Administratorbenutzernamen und das Kennwort ein und wählen Sie dann Anmelden aus. Wählen Sie in der Verwaltungskonsole von Azure Red Hat OpenShift die Operatoren>Installierte Operatoren aus. Dort können Sie sehen, dass der JBoss-EAP-Operator erfolgreich installiert ist, wie im folgenden Screenshot gezeigt wird.

    Screenshot: Red Hat OpenShift-Clusterkonsolenportal mit der Seite „Installierte Operatoren“

Führen Sie als Nächstes die folgenden Schritte aus, um mithilfe der OpenShift CLI eine Verbindung mit dem OpenShift-Cluster herzustellen:

  1. Verwenden Sie in der Shell die folgenden Befehle, um die neueste OpenShift 4 CLI für GNU/Linux herunterzuladen. Wenn sie auf einem anderen Betriebssystem als GNU/Linux ausgeführt wird, laden Sie die entsprechende Binärdatei für dieses Betriebssystem herunter.

    cd ~
    wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz
    
    mkdir openshift
    tar -zxvf openshift-client-linux.tar.gz -C openshift
    echo 'export PATH=$PATH:~/openshift' >> ~/.bashrc && source ~/.bashrc
    
  2. Fügen Sie den Wert aus dem Feld cmdToLoginWithKubeadmin in die Shell ein, und führen Sie ihn aus. Die login successful-Meldung und das verwendete Projekt sollten angezeigt werden. Der folgende Inhalt ist ein Beispiel für den Befehl zum Herstellen einer Verbindung mit dem OpenShift-Cluster mithilfe der OpenShift CLI.

    oc login \
        $(az aro show \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query apiserverProfile.url \
            --output tsv) \
        -u $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminUsername \
            --output tsv) \
        -p $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminPassword \
            --output tsv)
    

    Dieser Befehl erzeugt eine Ausgabe ähnlich wie im folgenden Beispiel:

    Login successful.
    
    You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects'
    
    Using project "default".
    

Bereitstellen einer JBoss EAP-App im OpenShift-Cluster

Die Schritte in diesem Abschnitt zeigen, wie Sie eine App im Cluster bereitstellen.

Bereitstellen der App im Cluster

Führen Sie die folgenden Schritte aus, um die App im Cluster bereitzustellen. Die App wird in dem GitHub-Repo rhel-jboss-templates/eap-coffee-app gehostet.

  1. Führen Sie die folgenden Befehle in der Shell aus. Mit den Befehlen wird ein Projekt erstellt, eine Berechtigung angewendet, um S2I für die Arbeit zu aktivieren, das Pullgeheimnis abzubilden und den geheimen Schlüssel mit den entsprechenden Dienstkonten im Projekt zu verknüpfen, um das Abrufen des Bilds zu aktivieren. Ignorieren Sie die Git-Warnung über den Zustand „getrennter HEAD.“

    git clone https://github.com/Azure/rhel-jboss-templates.git
    cd rhel-jboss-templates
    git checkout 20230615
    cd ..
    oc new-project ${PROJECT_NAME}
    oc adm policy add-scc-to-user privileged -z default --namespace ${PROJECT_NAME}
    w0=-w0
    if [[ $OSTYPE == 'darwin'* ]]; then
      w0=
    fi
    
    CON_REG_ACC_USER_NAME_BASE64=$(echo ${CON_REG_ACC_USER_NAME} | base64 $w0)
    CON_REG_ACC_PWD_BASE64=$(echo ${CON_REG_ACC_PWD} | base64 $w0)
    

    Da der nächste Abschnitt das HEREDOC-Format verwendet, ist es am besten, es in einen eigenen Codeauszug einzuschließen und auszuführen.

    
    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: ${CON_REG_SECRET_NAME}
    type: Opaque
    data:
      username: ${CON_REG_ACC_USER_NAME_BASE64}
      password: ${CON_REG_ACC_PWD_BASE64}
    stringData:
      hostname: registry.redhat.io
    EOF
    

    Sie müssen secret/eaparo-sample-pull-secret created sehen, um die erfolgreiche Erstellung des geheimen Schlüssels anzugeben. Wenn diese Ausgabe nicht angezeigt wird, beheben Sie das Problem, bevor Sie fortfahren. Verknüpfen Sie schließlich das Geheimnis mit dem Standarddienstkonto zum Herunterladen von Containerimages, damit der Cluster diese ausführen kann.

    oc secrets link default ${CON_REG_SECRET_NAME} --for=pull
    oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
    
  2. Verwenden Sie die folgenden Befehle, um den Bilddatenstrom jboss-eap74-openjdk11-openshift abzurufen. Starten Sie dann die Quelle für den Bildprozess und warten Sie, bis sie abgeschlossen ist.

    oc apply -f https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates/eap74/eap74-openjdk11-image-stream.json
    oc new-build --name=${APPLICATION_NAME} --binary --image-stream=jboss-eap74-openjdk11-openshift:7.4.0 -e CUSTOM_INSTALL_DIRECTORIES=extensions
    oc start-build ${APPLICATION_NAME} --from-dir=rhel-jboss-templates/eap-coffee-app --follow
    

Die erfolgreiche Ausgabe sollte ähnlich, wie das folgende Beispiel enden:

Writing manifest to image destination
Storing signatures
Successfully pushed image-registry.openshift-image-registry.svc:5000/eaparo-sample/javaee-cafe@sha256:754587c33c03bf42ba4f3ce5a11526bbfc82aea94961ce1179a415c2bfa73449
Push successful

Wenn Sie keine ähnliche Ausgabe sehen, beheben Sie das Problem, bevor Sie fortfahren.

Erstellen eines geheimen Schlüssels für das Datenbankkennwort

Verwenden Sie die folgenden Schritte, um einen geheimen Schlüssel zu erstellen:

  1. Verwenden Sie den folgenden Befehl, um einen geheimen Schlüssel zum Speichern des Kennworts der Datenbank zu erstellen:

    oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
    
  2. Verwenden Sie die folgenden Befehle, um drei Replikate der containerisierten App im Cluster bereitzustellen und auszuführen:

    cat <<EOF | oc apply -f -
    apiVersion: wildfly.org/v1alpha1
    kind: WildFlyServer
    metadata:
      name: ${APPLICATION_NAME}
    spec:
      applicationImage: ${APPLICATION_NAME}:latest
      replicas: ${APP_REPLICAS}
      env:
        - name: DB_SERVICE_PREFIX_MAPPING
          value: TEST-MYSQL=DS1
        - name: TEST_MYSQL_SERVICE_HOST
          value: ${DB_HOST}
        - name: TEST_MYSQL_SERVICE_PORT
          value: '3306'
        - name: DS1_JNDI
          value: java:jboss/datasources/JavaEECafeDB
        - name: DS1_URL
          value: jdbc:mysql://${DB_HOST}:3306/${DB_DATABASE_NAME}
        - name: DS1_DRIVER
          value: mysql
        - name: DS1_DATABASE
          value: ${DB_DATABASE_NAME}
        - name: DS1_USERNAME
          value: ${DB_USERNAME}
        - name: DS1_PASSWORD
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: password
      secrets:
        - db-secret
    EOF
    

    Wenn der Befehl erfolgreich abgeschlossen wurde, sollte wildflyserver.wildfly.org/javaee-cafe createdangezeigt werden. Wenn diese Ausgabe nicht angezeigt wird, beheben Sie das Problem, bevor Sie fortfahren.

  3. Führen Sie den Befehl oc get pod -w | grep 1/1 aus, um zu überwachen, ob alle Pods der App ausgeführt werden. Wenn die Ausgabe ähnlich dem folgenden Beispiel angezeigt wird, drücken Sie STRG + C, um die Überwachung zu beenden:

    javaee-cafe-2         1/1     Running             0          31s
    javaee-cafe-1         1/1     Running             0          30s
    javaee-cafe-0         1/1     Running             0          30s
    

    Es kann einige Minuten dauern, bis der richtige Zustand erreicht ist. Möglicherweise werden sogar STATUS-Spaltenwerte wie ErrImagePull und ImagePullBackOff angezeigt, bevor Running angezeigt wird.

  4. Führen Sie den folgenden Befehl aus, um die URL der Anwendung zurückzugeben. Sie können diese URL verwenden, um auf die bereitgestellte Beispiel-App zuzugreifen. Kopieren Sie die Ausgabe in die Zwischenablage.

    echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
    
  5. Fügen Sie die Ausgabe in einen mit dem Internet verbundenen Webbrowser ein, und drücken Sie dann Enter. Die Benutzeroberfläche der Java EE Cafe-App sollte ähnlich wie im folgenden Screenshot angezeigt werden:

    Screenshot: Benutzeroberfläche oder Java EE Cafe-App

  6. Fügen Sie einige Zeilen hinzu, und löschen Sie einige, um zu überprüfen, ob die Datenbankkonnektivität ordnungsgemäß funktioniert.

Bereinigen von Ressourcen

Wenn Sie das OpenShift-Cluster nicht weiterhin verwenden werden, navigieren Sie zurück zu Ihrer Arbeitsressourcengruppe. Wählen Sie oben auf der Seite unter dem Text Ressourcengruppe die Ressourcengruppe aus. Wählen Sie die Option Ressourcengruppe löschen.

Nächste Schritte

Weitere Informationen zum Bereitstellen von JBoss EAP in Azure finden Sie unter Red Hat JBoss EAP in Azure.