Freigeben über


Schnellstart: Bereitstellen eines JBoss EAP-Clusters auf virtuellen Azure-Computern (Virtual Machines, VMs)

In diesem Artikel erfahren Sie, wie Sie über das Azure-Portal schnell einen JBoss EAP-Cluster (Enterprise Application Platform) auf virtuellen Azure-Computern (Virtual Machines, VMs) bereitstellen.

In diesem Artikel wird das Azure Marketplace-Angebot für JBoss EAP-Cluster verwendet, um Ihren Weg zu Azure-VMs zu beschleunigen. Das Angebot stellt automatisch eine Reihe von Ressourcen bereit. Hierzu zählen Azure RHEL-VMs (Red Hat Enterprise Linux), JBoss EAP-Instanzen auf den einzelnen virtuellen Computern, Red Hat-Build von OpenJDK auf den einzelnen virtuellen Computern, eine JBoss EAP-Verwaltungskonsole und optional eine Azure App Gateway-Instanz. Navigieren Sie über das Azure-Portal zur Lösung JBoss EAP-Cluster auf RHEL-VMs, um das Angebot anzuzeigen.

Wenn Sie eine manuelle Schritt-für-Schritt-Anleitung für die Installation des Red Hat JBoss EAP-Clusters auf Azure-VMs bevorzugen, die nicht die durch das Azure Marketplace-Angebot ermöglichte Automatisierung nutzt, helfen Ihnen die Informationen im folgenden Tutorial weiter: Manuelles Installieren von Red Hat JBoss EAP auf Azure-VMs.

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

  • Eine Azure-Subscription. Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.
  • Stellen Sie sicher, dass die Azure-Identität, die Sie für die Anmeldung verwenden, im aktuellen Abonnement entweder über die Rolle Mitwirkender oder Besitzer verfügt. Eine Übersicht über Azure-Rollen finden Sie unter Was ist die rollenbasierte Zugriffssteuerung (Azure RBAC)?
  • Java Development Kit (JDK), Version 17. In dieser Anleitung empfehlen wir den Red Hat-Build von OpenJDK. Stellen Sie sicher, dass die Umgebungsvariable JAVA_HOME in den Shells korrekt festgelegt ist, in denen Sie die Befehle ausführen.
  • Git. Testen Sie mithilfe von git --version, ob git funktioniert. Dieses Tutorial wurde mit der Version 2.34.1 getestet.
  • Maven. Testen Sie mithilfe von mvn -version, ob mvn funktioniert. Dieses Tutorial wurde mit der Version 3.8.6 getestet.

Hinweis

Das Azure Marketplace-Angebot, das Sie in diesem Artikel verwenden werden, enthält Unterstützung für Red Hat Satellite für die Lizenzverwaltung. Die Verwendung von Red Hat Satellite wird in dieser Schnellstartanleitung nicht behandelt. Eine Übersicht über Red Hat Satellite finden Sie unter Red Hat Satellite. Weitere Informationen zum Verschieben Ihrer Red Hat JBoss EAP- und Red Hat Enterprise Linux-Abonnements zu Azure finden Sie im Red Hat Cloud Access-Programm.

Einrichten einer Instanz von Azure Database for PostgreSQL – Flexibler Server

In diesem Abschnitt wird Schritt für Schritt die Bereitstellung einer Instanz von Azure Database for PostgreSQL – Flexibler Server gezeigt. Diese wird zum Konfigurieren der Datenbankverbindung verwendet, wenn Sie im nächsten Abschnitt einen JBoss EAP-Cluster einrichten.

Richten Sie zunächst mithilfe des folgenden Befehls einige Umgebungsvariablen ein.

export RG_NAME=<db-resource-group-name>
export SERVER_NAME=<database-server-name>
export ADMIN_PASSWORD=<postgresql-admin-password>

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

  • <db-resource-group-name>: Der Name der Ressourcengruppe, die für den flexiblen PostgreSQL-Server verwendet werden soll (z. B. ejb040323postgresrg).
  • <database-server-name>: Der Name Ihres PostgreSQL-Servers. Dieser muss innerhalb von Azure eindeutig sein (z. B. ejb040323postgresqlserver).
  • <postgresql-admin-password>: Das Kennwort Ihres PostgreSQL-Servers. Ihr Kennwort muss zwischen acht und 128 Zeichen lang sein. Es muss Zeichen aus drei der folgenden Kategorien enthalten: englische Großbuchstaben, englische Kleinbuchstaben, Zahlen (0–9) und nicht alphanumerische Zeichen (!, $, #, % usw.).

Führen Sie als Nächstes die folgenden Schritte aus, um eine Instanz von Azure Database for PostgreSQL – Flexibler Server zu erstellen:

  1. Verwenden Sie den folgenden Befehl, um eine Instanz von Azure Database for PostgreSQL – Flexibler Server zu erstellen:

    az postgres flexible-server create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --database-name testdb \
        --public-access 0.0.0.0  \
        --admin-user testuser \
        --admin-password ${ADMIN_PASSWORD} \
        --yes
    
  2. Verwenden Sie den folgenden Befehl, um den Host des erstellten PostgreSQL-Servers abzurufen:

    export DB_HOST=$(az postgres flexible-server show \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    
  3. Verwenden Sie den folgenden Befehl, um die JDBC-Verbindungs-URL (Java Database Connectivity) des PostgreSQL-Servers abzurufen:

    echo jdbc:postgresql://${DB_HOST}:5432/testdb
    

    Notieren Sie sich die Ausgabe. Sie wird später in diesem Artikel als Datenquellen-Verbindungszeichenfolge des PostgreSQL-Servers verwendet.

Bereitstellen eines JBoss EAP-Clusters auf Azure-VMs

Mit den Schritten in diesem Abschnitt wird ein JBoss EAP-Cluster auf Azure-VMs erstellt.

Gehen Sie wie folgt vor, um das Angebot für JBoss EAP-Cluster auf Azure-VMs zu finden:

  1. Melden Sie sich unter https://aka.ms/publicportal beim Azure-Portal an.

  2. Geben Sie in der Suchleiste oben im Azure-Portal JBoss EAP ein. Wählen Sie in den Suchergebnissen im Abschnitt Marketplace die Option JBoss EAP-Cluster auf VMs aus.

    Screenshot: Azure-Portal mit der Option für JBoss EAP-Cluster auf VMs in den Suchergebnissen

  3. Stellen Sie im Dropdownmenü sicher, dass PAYG ausgewählt ist.

Alternativ können Sie auch direkt zum Angebot JBoss EAP-Cluster auf RHEL-VMs navigieren. In diesem Fall ist der richtige Plan bereits für Sie ausgewählt.

In beiden Fällen stellt dieses Angebot einen JBoss EAP-Cluster auf Azure-VMs unter Angabe Ihres Red Hat-Abonnements zur Bereitstellungszeit bereit. Das Angebot führt den Cluster unter Red Hat Enterprise Linux mit nutzungsbasierter Zahlung für die Basis-VMs aus.

Die folgenden Schritte zeigen, wie der im folgenden Screenshot gezeigte Bereich Allgemeine Informationen ausgefüllt wird:

Screenshot: Azure-Portal mit dem Bereich „Allgemeine Informationen“ für den JBoss EAP-Cluster auf VMs

  1. Wählen Sie auf der Angebotsseite Erstellen aus.
  2. 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.
  3. 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: ejb040323jbosseapcluster.
  4. Wählen Sie unter Instanzdetails die Region für die Bereitstellung aus.
  5. Belassen Sie die Standardgröße des virtuellen Computers als Größe des virtuellen Computers.
  6. Belassen Sie die Standardoption OpenJDK 17 als JDK-Version.
  7. Belassen Sie den Standardwert jbossuser als Username.
  8. Belassen Sie das Standardoptionskennwort als Authentifizierungstyp.
  9. Geben Sie unter Kennwort ein Kennwort an. Verwenden Sie denselben Wert zum Bestätigen des Passworts.
  10. Legen Sie die Anzahl zu erstellender virtueller Computer auf 3 fest.
  11. Belassen Sie unter Optional Basic Configuration die Standardoption Ja als Standardeinstellungen für optionale Konfiguration akzeptieren.
  12. Scrollen Sie nach unten im Bereich Grundlagen und beachten Sie die hilfreichen Links für das Melden von Problemen, Abrufen von Hilfe und Teilen von Feedback.
  13. Wählen Sie Weiter: JBoss-EAP-Einstellungen aus.

Die folgenden Schritte zeigen, wie der im folgenden Screenshot gezeigten Bereich JBoss EAP-Einstellungen ausgefüllt wird:

Screenshot: Azure-Portal mit dem Bereich „JBoss EAP-Einstellungen“ für den JBoss EAP-Cluster auf VMs

  1. Behalten Sie unter Verwaltete Domäne oder eigenständige Hosts für die Clustererstellung verwenden die Standardoption Verwaltete Domäne bei.
  2. Belassen Sie den Standardwert jbossadmin als JBoss EAP Admin-Benutzernamen.
  3. Geben Sie unter JBoss EAP-Kennwort ein JBoss EAP-Kennwort an. Verwenden Sie denselben Wert zum Bestätigen des Passworts. Speichern Sie diesen Wert für später.
  4. Lassen Sie die Standardoption Nein für die Verbindung mit einem vorhandenen Red Hat Satellite Server?.
  5. Wählen Sie Weiter: Azure Application Gateway aus.

Die folgenden Schritte zeigen, wie der im folgenden Screenshot gezeigte Bereich Azure Application Gateway ausgefüllt wird:

Screenshot: Azure-Portal mit dem Bereich „Azure Application Gateway“ für den JBoss EAP-Cluster auf VMs

  1. Wählen Sie für Mit Azure Application Gateway verbinden? die Option Ja aus.

  2. Klicken Sie auf Weiter: Netzwerk.

    In diesem Bereich können Sie das virtuelle Netzwerk und das Subnetz anpassen, in dem der JBoss EAP-Cluster bereitgestellt wird. Informationen zu virtuellen Netzwerken finden Sie unter Erstellen, Ändern oder Löschen eines virtuellen Netzwerks. Übernehmen Sie in diesem Bereich die Standardwerte.

  3. Wählen Sie Weiter: Datenbank aus.

Die folgenden Schritte zeigen, wie der im folgenden Screenshot gezeigte Bereich Datenbank ausgefüllt und die Bereitstellung gestartet wird:

Screenshot: Azure-Portal mit dem Bereich „Datenbank“ für den JBoss EAP-Cluster auf VMs

  1. Wählen Sie für Mit Datenbank verbinden? die Option Ja aus.
  2. Wählen Sie unter Datenbanktyp auswählen die Option PostgreSQL aus.
  3. Geben Sie unter JNDI-Name den Wert java:jboss/datasources/JavaEECafeDB an.
  4. Geben Sie unter Datenquellen-Verbindungszeichenfolge (jdbc:postgresql://<Host>:<Port>/<Datenbank>) die zuvor gespeicherte JDBC-Verbindungs-URL des PostgreSQL-Servers an.
  5. Geben Sie unter Datenbankbenutzername den Benutzernamen testuser an.
  6. Geben Sie unter Datenbankkennwort den Wert für den Platzhalter <postgresql-admin-password> an, den Sie zuvor angegeben haben. Verwenden Sie denselben Wert zum Bestätigen des Passworts.
  7. 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.
  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 35 Minuten dauern. Danach sollte auf der Bereitstellungsseite der Text Ihre Bereitstellung wurde abgeschlossen. angezeigt werden.

Überprüfen der Funktionsfähigkeit der Bereitstellung

Überprüfen Sie mithilfe der folgenden Schritte die Funktionsfähigkeit der Bereitstellung für einen JBoss EAP-Cluster auf Azure-VMs. Verwenden Sie dazu die Red Hat JBoss Enterprise Application Platform-Verwaltungskonsole:

  1. Wählen Sie auf der Bereitstellungsseite die Option Ausgaben aus.

  2. Wählen Sie das Kopiersymbol neben adminConsole aus.

    Screenshot: Azure-Portal mit den Bereitstellungsausgaben und hervorgehobener adminConsole-URL

  3. Fügen Sie die URL in einen mit dem Internet verbundenen Webbrowser ein, und drücken Sie anschließend die EINGABETASTE. Wie im folgenden Screenshot dargestellt, sollte der vertraute Anmeldebildschirm der Red Hat JBoss Enterprise Application Platform-Verwaltungskonsole angezeigt werden.

    Screenshot: Anmeldebildschirms der JBoss EAP-Verwaltungskonsole

  4. Geben Sie unter Username den Namen jbossadmin als JBoss EAP-Administratorbenutzernamen und unter Password den bereits zuvor angegebenen Wert für JBoss EAP-Kennwort ein, und wählen Sie dann Sign in aus.

  5. Wie im folgenden Screenshot gezeigt, sollte die vertraute Red Hat JBoss Enterprise Application Platform Willkommensseite der Verwaltungskonsole angezeigt werden.

    Screenshot der Willkommensseite der JBoss EAP-Verwaltungskonsole.

  6. Wählen Sie die Registerkarte Runtime aus. Wählen Sie im Navigationsbereich die Option Topology aus. Der Cluster sollte einen einzelnen Domänencontroller (master) und zwei Workerknoten enthalten, wie im folgenden Screenshot zu sehen:

    Screenshot: Runtimetopologie der JBoss EAP-Verwaltungskonsole

  7. Wählen Sie die Registerkarte Konfiguration aus. Navigieren Sie im Navigationsbereich zu Profiles>ha>Datasources & Drivers>Datasources. Hier sollte die Datenquelle dataSource-postgresql aufgeführt sein, wie im folgenden Screenshot zu sehen:

    Screenshot: Registerkarte „Configuration“ der JBoss EAP-Verwaltungskonsole mit ausgewählter Option „Datasources“

Lassen Sie die Verwaltungskonsole geöffnet. Sie wird im nächsten Abschnitt benötigt, um eine Beispiel-App im JBoss EAP-Cluster bereitzustellen.

Bereitstellen der App im JBoss EAP-Cluster

Führen Sie die folgenden Schritte aus, um die Java EE Cafe-Beispielanwendung im Red Hat JBoss EAP-Cluster bereitzustellen:

  1. Führen Sie zum Erstellen des Java EE Cafe-Beispiels die folgenden Schritte aus. Bei diesen Schritten wird davon ausgegangen, dass Sie über eine lokale Umgebung verfügen, in der Git und Maven installiert sind:

    1. Verwenden Sie den folgenden Befehl, um den Quellcode von GitHub zu klonen, und sehen Sie sich das Tag an, das dieser Version des Artikels entspricht:

      git clone https://github.com/Azure/rhel-jboss-templates.git --branch 20230418 --single-branch
      

      Sollte eine Fehlermeldung mit dem Hinweis You are in 'detached HEAD' state angezeigt werden, können Sie sie problemlos ignorieren.

    2. Verwenden Sie den folgenden Befehl, um den Quellcode zu erstellen:

      mvn clean install --file rhel-jboss-templates/eap-coffee-app/pom.xml
      

      Mit diesem Befehl wird die Datei rhel-jboss-templates/eap-coffee-app/target/javaee-cafe.war erstellt. Diese Datei wird im nächsten Schritt hochgeladen.

  2. Führen Sie die folgenden Schritte in der Red Hat JBoss Enterprise Application Platform-Verwaltungskonsole aus, um die Datei javaee-cafe.war in das Inhaltsrepository hochzuladen:

    1. Wählen Sie auf der Registerkarte Deployments im Navigationsbereich der Red Hat JBoss EAP-Verwaltungskonsole die Option Content Repository aus.

    2. Wählen Sie Add und anschließend Upload Content aus.

      Screenshot: Registerkarte „Deployments“ der JBoss EAP-Verwaltungskonsole mit hervorgehobenem Menüelement „Upload Content“

    3. Verwenden Sie Dateiauswahl des Browsers, um die Datei javaee-cafe.war auszuwählen.

    4. Wählen Sie Weiter aus.

    5. Übernehmen Sie auf dem nächsten Bildschirm die Standardwerte, und wählen Sie anschließend Finish aus.

    6. Wählen Sie View content aus.

  3. Führen Sie die folgenden Schritte aus, um eine Anwendung in der Gruppe main-server-group bereitzustellen:

    1. Wählen Sie unter Content Repository die Option javaee-cafe.war aus.

    2. Öffnen Sie das Dropdownmenü, und wählen Sie Deploy aus.

    3. Wählen Sie main-server-group als Servergruppe für die Bereitstellung von javaee-cafe.war aus.

    4. Wählen Sie Bereitstellen aus, um die Bereitstellung zu starten. Daraufhin sollte ein Hinweis wie der folgende angezeigt werden:

      Screenshot: Hinweis für eine erfolgreiche Bereitstellung

Damit ist die Bereitstellung der Java EE-Anwendung abgeschlossen. Führen Sie die folgenden Schritte aus, um auf die Anwendung zuzugreifen und alle Einstellungen zu überprüfen:

  1. Verwenden Sie den folgenden Befehl, um die öffentliche IP-Adresse der Azure Application Gateway-Instanz abzurufen. Ersetzen Sie den Platzhalter <resource-group-name> durch den Namen der Ressourcengruppe, in der der JBoss EAP-Cluster bereitgestellt wurde.

    az network public-ip show \
        --resource-group <resource-group-name> \
        --name gwip \
        --query '[ipAddress]' \
        --output tsv
    
  2. Kopieren Sie die Ausgabe. Hierbei handelt es sich um die öffentliche IP-Adresse der bereitgestellten Azure Application Gateway-Instanz.

  3. Öffnen Sie einen mit dem Internet verbundenen Webbrowser.

  4. Navigieren Sie zu der Anwendung mit der URL http://<gateway-public-ip-address>/javaee-cafe. Ersetzen Sie den Platzhalter <gateway-public-ip-address> durch die zuvor kopierte öffentliche IP-Adresse der Azure Application Gateway-Instanz.

  5. Versuchen Sie, Kaffees hinzuzufügen und zu entfernen.

Bereinigen von Ressourcen

Zum Vermeiden von Azure-Gebühren sollten Sie nicht benötigte Ressourcen bereinigen. Wenn Sie den auf Azure-VMs bereitgestellten JBoss EAP-Cluster nicht mehr benötigen, können Sie die Registrierung der JBoss EAP-Server aufheben und die Azure-Ressourcen entfernen.

Führen Sie den folgenden Befehl aus, um die Registrierung der JBoss EAP-Server und der VMs bei der Abonnementverwaltung von Red Hat aufzuheben. Ersetzen Sie den Platzhalter <resource-group-name> durch den Namen der Ressourcengruppe, in der der JBoss EAP-Cluster bereitgestellt wurde.

# Unregister domain controller
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm-adminVM \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"

# Unregister host controllers
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm1 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm1 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"

Führen Sie die folgenden Befehle aus, um die beiden Ressourcengruppen zu entfernen, in denen der JBoss EAP-Cluster und die Instanz von Azure Database for PostgreSQL – Flexibler Server bereitgestellt wurden. Ersetzen Sie den Platzhalter <resource-group-name> durch den Namen der Ressourcengruppe, in der der JBoss EAP-Cluster bereitgestellt wurde. Achten Sie darauf, dass die Umgebungsvariable $RG_NAME auf den Namen der Ressourcengruppe festgelegt ist, in der der flexible PostgreSQL-Server bereitgestellt ist.

az group delete --name <resource-group-name> --yes --no-wait
az group delete --name $RG_NAME --yes --no-wait

Nächste Schritte

Weitere Informationen zu Ihren Optionen bei der Bereitstellung von JBoss EAP in Azure finden Sie hier: