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 einrichten.
In diesem Artikel wird das Azure Marketplace-Angebot für JBoss EAP verwendet, um Ihre Journey zu Azure Red Hat OpenShift zu beschleunigen. Das Angebot stellt automatisch Ressourcen bereit, darunter einen Azure Red Hat OpenShift-Cluster mit einer integrierten OpenShift Container Registry (OCR), den JBoss EAP Operator und optional ein Containerimage 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 Schrittanleitung zum Ausführen von JBoss EAP unter Azure Red Hat OpenShift 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
Eine Azure-Subscription. Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.
Ein Red Hat-Konto mit vollständigem Profil. Wenn Sie keins haben, können Sie sich über Red Hat-Entwicklerabonnements für Einzelpersonen für ein kostenloses Entwicklerabonnement registrieren.
Eine lokale Entwicklerbefehlszeile mit einer UNIX-ähnlichen Befehlsumgebung (z. B. Ubuntu, macOS oder Windows-Subsystem für Linux) und die Azure CLI müssen installiert sein. Anweisungen zum Installieren der Azure-Befehlszeilenschnittstelle finden Sie unter Gewusst wie: Installieren der Azure-Befehlszeilenschnittstelle.
Die
mysql
CLI. Sie können die CLI zum Beispiel mit den folgenden Befehlen auf Ubuntu- oder Debian-basierten Systemen installieren:sudo apt update sudo apt install mysql-server
Eine Azure-Identität, die Sie für die Anmeldung verwenden, mit der Rolle Mitwirkender und der Rolle Benutzerzugriffsadministrator oder mit der Rolle Besitzer im aktuellen Abonnement. Eine Übersicht über Azure-Rollen finden Sie unter Was ist die rollenbasierte Zugriffssteuerung (Azure RBAC)?
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. Informationen zum Anfordern einer Erhöhung des Ressourcengrenzwerts finden Sie unter Erhöhen der vCPU-Kontingente der VM-Familie. Beachten Sie, dass das kostenlose Testabonnement ist nicht für eine Kontingenterhöhung berechtigt ist. Führen Sie ein Upgrade auf ein Nutzungsbasierte Zahlungs-Abonnement durch, bevor Sie eine Kontingenterhöhung anfordern. Weitere Informationen finden Sie unter: Durchführen eines Upgrades für Ihr kostenloses Azure-Konto oder Ihr Azure for Students Starter-Konto.
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 Pull Secret ist und warum Sie es benötigen, finden Sie im Abschnitt Abrufen eines Red Hat Pull Secrets des Tutorials: Erstellen eines Azure Red Hat OpenShift 4-Clusters.
Führen Sie die folgenden Schritte aus, um den geheimen Pullschlüssel abzurufen:
Ö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.
Nachdem Sie sich angemeldet haben, wählen Sie OpenShift und dann Downloads aus.
Wählen Sie die Dropdownliste Alle Kategorien und dann Token aus.
Wählen Sie unter Geheimen Schlüssel ziehen die Option Kopieren oder Herunterladen aus, um den Wert abzurufen, wie im folgenden Screenshot gezeigt.
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"}}}
Speichern Sie den geheimen Schlüssel in einer Datei, damit Sie ihn später verwenden können.
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.
- Verwenden Sie Ihr Red Hat-Konto, um sich bei der Registry-Dienstkonto-Kontoverwaltungsanwendung anzumelden.
- Wählen Sie auf der Seite Registry-Dienstkonten die Option Neues Dienstkonto aus.
- 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.
- Navigieren Sie zurück zu Ihren Dienstkonten.
- 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 beiregistry.redhat.io
anmelden. - Notieren Sie sich das Kennwort. Sie verwenden dieses Kennwort für die Anmeldung bei
registry.redhat.io
.
- Notieren Sie sich den Benutzernamen, einschließlich der vorangestellten Zeichenfolge (und zwar
Sie haben Ihr Red Hat Container Registry-Dienstkonto erstellt.
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 unter Registrieren einer Microsoft Entra-App und Erstellen eines Dienstprinzipals.
Melden Sie sich über das Azure-Portal bei Ihrem Azure-Konto an.
Wählen Sie Microsoft Entra ID aus.
Wählen Sie App-Registrierungen aus.
Wählen Sie Neue Registrierung aus.
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.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.
Erstellen Sie einen neuen geheimen Clientschlüssel, indem Sie die folgenden Schritte ausführen:
- Wählen Sie Zertifikate & Geheimnisse aus.
- Wählen Sie Geheime Clientschlüssel und dann Neuer geheimer Clientschlüssel aus.
- Geben Sie eine Beschreibung des geheimen Schlüssels und eine Dauer ein. Wenn Sie fertig sind, wählen Sie Hinzufügen aus.
- 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.
Überprüfen des Dienstprinzipals
Führen Sie den folgenden Befehl aus, um den Dienstprinzipal zu überprüfen:
az login \
--service-principal \
--username <service-principal-client-id> \
--password <service-principal-client-secret> \
--tenant <tenant-id>
az account show
Ersetzen Sie <service-principal-client-id>
, <service-principal-client-secret>
und <tenant-id>
durch die in den vorherigen Schritten abgerufenen Werte. Wenn die Kontoinformationen angezeigt werden, ist der Dienstprinzipal gültig.
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.
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.
Sie können auch direkt zum JBoss EAP im Azure Red Hat OpenShift-Angebot im Azure-Portal wechseln.
Wählen Sie auf der Angebotsseite Erstellen aus.
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.
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.
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.
Wählen Sie Weiter: ARO aus.
Die folgenden Schritte zeigen, wie Sie den im folgenden Screenshot gezeigten ARO-Bereich ausfüllen:
Wählen Sie unter Neues Cluster erstellen Ja aus.
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.
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.
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.
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.
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.
Klicken Sie auf Weiter: Überprüfen + erstellen.
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.
Klicken Sie auf Erstellen.
Verfolgen Sie den Status der Bereitstellung auf der Seite Bereitstellung wird durchgeführt.
Abhängig von den Netzwerkbedingungen und anderen Aktivitäten in Ihrer 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.
Hinweis
Da Azure Workload Identity von Azure OpenShift noch nicht unterstützt wird, verwendet dieser Artikel weiterhin Benutzernamen und Kennwort für die Datenbankauthentifizierung, anstatt kennwortlose Datenbankverbindungen zu verwenden.
Ö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 Beispieleaparo033123mysql
.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 "geheime Schlüssel". 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.
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
Die Ausführung dieses Befehls 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" }
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.
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
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
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.
Wählen Sie in der Ecke oben links einer beliebigen Azure-Portalseite das Hamburger-Menü und dann Ressourcengruppen aus.
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.
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.
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.
Wählen Sie im linken Navigationsbereich Ausgaben aus. Diese Liste enthält die Ausgabewerte aus der Bereitstellung, die einige nützliche Informationen enthalten.
Ö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" }
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.
Führen Sie als Nächstes die folgenden Schritte aus, um mithilfe der OpenShift CLI eine Verbindung mit dem OpenShift-Cluster herzustellen:
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
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.
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 20240904 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
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:
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}
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 created
angezeigt werden. Wenn diese Ausgabe nicht angezeigt wird, beheben Sie das Problem, bevor Sie fortfahren.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 wieErrImagePull
undImagePullBackOff
angezeigt, bevorRunning
angezeigt wird.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
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:
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ächster Schritt
Weitere Informationen zum Bereitstellen von JBoss EAP in Azure finden Sie unter Red Hat JBoss EAP in Azure.