Quickstart: JBoss EAP implementeren in Azure Red Hat OpenShift
In dit artikel leest u hoe u JBoss Enterprise Application Platform (EAP) snel instelt in Azure Red Hat OpenShift (ARO) met behulp van Azure Portal.
In dit artikel wordt gebruikgemaakt van de Azure Marketplace-aanbieding voor JBoss EAP om uw reis naar ARO te versnellen. De aanbieding richt automatisch resources in, waaronder een ARO-cluster met een ingebouwd OpenShift Container Registry (OCR), de JBoss EAP-operator en eventueel een containerinstallatiekopie, waaronder JBoss EAP en uw toepassing met behulp van Source-to-Image (S2I). Ga naar Azure Portal om de aanbieding te bekijken. Zie Een Java-toepassing implementeren met Red Hat JBoss Enterprise Application Platform (JBoss EAP) op een Azure Red Hat OpenShift 4-cluster als u de voorkeur geeft aan handmatige stapsgewijze instructies voor het uitvoeren van JBoss EAP op ARO waarvoor de automatisering niet wordt gebruikt.
Als u feedback wilt geven of nauw wilt samenwerken aan uw migratiescenario's met het technische team dat JBoss EAP in Azure-oplossingen ontwikkelt, vult u deze korte enquête in over de migratie van JBoss EAP en neemt u uw contactgegevens op. Het team van programmamanagers, architecten en technici neemt onmiddellijk contact met u op om nauwe samenwerking te initiëren.
Vereisten
Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Een Red Hat-account met volledig profiel. Als u nog geen abonnement hebt, kunt u zich registreren voor een gratis ontwikkelaarsabonnement via het Red Hat Developer Subscription for Individuals.
Een lokale opdrachtregel voor ontwikkelaars met een UNIX-achtige opdrachtomgeving, bijvoorbeeld Ubuntu, macOS of Windows-subsysteem voor Linux- en Azure CLI geïnstalleerd. Zie De Azure CLI installeren voor meer informatie over het installeren van de Azure CLI.
De
mysql
CLI. U kunt de CLI bijvoorbeeld installeren met behulp van de volgende opdrachten op Ubuntu- of Debian-systemen:sudo apt update sudo apt install mysql-server
Een Azure-identiteit die u gebruikt om u aan te melden met de rol Inzender en de rol Beheerder voor gebruikerstoegang of de rol Eigenaar in het huidige abonnement. Zie Wat is op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC)voor een overzicht van Azure-rollen?
Notitie
Azure Red Hat OpenShift vereist minimaal 40 kernen om een OpenShift-cluster te maken en uit te voeren. Het standaardquotum voor Azure-resources voor een nieuw Azure-abonnement voldoet niet aan deze vereiste. Zie VCPU-quota verhogen als u een verhoging van uw resourcelimiet wilt aanvragen. Houd er rekening mee dat het gratis proefabonnement niet in aanmerking komt voor een quotumverhoging. Voer een upgrade uit naar een abonnement met betalen per gebruik voordat u een quotumverhoging aanvraagt. Zie Uw gratis Azure-account of Azure for Students Starter-account upgraden voor meer informatie.
Een Red Hat pull-geheim ophalen
Voor de Azure Marketplace-aanbieding die in dit artikel wordt gebruikt, is een Red Hat-pull-geheim vereist. In deze sectie wordt beschreven hoe u een Red Hat-pull-geheim voor Azure Red Hat OpenShift krijgt. Voor meer informatie over wat een Red Hat-pull-geheim is en waarom u het nodig hebt, raadpleegt u de sectie Get a Red Hat pull secret in Tutorial: Create an Azure Red Hat OpenShift 4 cluster.
Gebruik de volgende stappen om het pull-geheim op te halen:
Open de Red Hat OpenShift Hybrid Cloud-console en gebruik vervolgens uw Red Hat-account om u aan te melden bij de OpenShift-clusterbeheerportal. Mogelijk moet u meer voorwaarden accepteren en uw account bijwerken, zoals wordt weergegeven in de volgende schermopname. Gebruik hetzelfde wachtwoord als bij het maken van het account.
Nadat u zich hebt aangemeld, selecteert u OpenShift en vervolgens Downloads.
Selecteer de vervolgkeuzelijst Alle categorieën en selecteer vervolgens Tokens.
Selecteer onder Pull-geheim de optie Kopiëren of Downloaden om de waarde op te halen, zoals wordt weergegeven in de volgende schermopname.
De volgende inhoud is een voorbeeld dat is gekopieerd uit de Red Hat-consoleportal, waarbij de verificatiecodes zijn vervangen door
xxxx...xxx
.{"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"}}}
Sla het geheim op in een bestand, zodat u het later kunt gebruiken.
Een Red Hat Container Registry-serviceaccount maken
Later laat dit artikel zien hoe u handmatig een toepassing implementeert in OpenShift met behulp van Source-to-Image (S2I). Een Red Hat Container Registry-serviceaccount is nodig om de containerinstallatiekopie voor JBoss EAP op te halen waarop uw toepassing moet worden uitgevoerd. Als u een Red Hat Container Registry-serviceaccount hebt dat klaar is voor gebruik, slaat u deze sectie over en gaat u verder met de volgende sectie, waar u de aanbieding implementeert.
Gebruik de volgende stappen om een Red Hat Container Registry-serviceaccount te maken en de gebruikersnaam en het wachtwoord op te halen. Zie Registerserviceaccounts maken in de Red Hat-documentatie voor meer informatie.
- Gebruik uw Red Hat-account om u aan te melden bij de registerserviceaccountbeheertoepassing.
- Selecteer nieuw serviceaccount op de pagina Registerserviceaccounts.
- Geef een naam op voor het serviceaccount. De naam wordt voorafgegaan door een vaste, willekeurige tekenreeks.
- Voer een omschrijving in.
- Selecteer Maken.
- Ga terug naar uw serviceaccounts.
- Selecteer het serviceaccount dat u hebt gemaakt.
- Noteer de gebruikersnaam, inclusief de vooraf gedefinieerde tekenreeks (dat wil gezegd).
XXXXXXX|username
Gebruik deze gebruikersnaam wanneer u zich aanmeldt bijregistry.redhat.io
. - Noteer het wachtwoord. Gebruik dit wachtwoord wanneer u zich aanmeldt bij
registry.redhat.io
.
- Noteer de gebruikersnaam, inclusief de vooraf gedefinieerde tekenreeks (dat wil gezegd).
U hebt uw Red Hat Container Registry-serviceaccount gemaakt.
Een Microsoft Entra-service-principal maken vanuit Azure Portal
Voor de Azure Marketplace-aanbieding die in dit artikel wordt gebruikt, is een Microsoft Entra-service-principal vereist om uw Azure Red Hat OpenShift-cluster te implementeren. De aanbieding wijst de service-principal toe met de juiste bevoegdheden tijdens de implementatietijd, zonder dat er roltoewijzing nodig is. Als u een service-principal wilt gebruiken, slaat u deze sectie over en gaat u verder met de volgende sectie, waar u een Red Hat Container Registry-serviceaccount maakt.
Gebruik de volgende stappen om een service-principal te implementeren en de toepassings-id (client) en het geheim ervan op te halen uit de Azure-portal. Zie Een service-principal maken en gebruiken voor het implementeren van een Azure Red Hat OpenShift-cluster voor meer informatie.
Notitie
U moet over voldoende machtigingen beschikken om een toepassing te registreren bij uw Microsoft Entra-tenant. Als u tegen een probleem aanloopt, controleert u de vereiste machtigingen om ervoor te zorgen dat uw account de identiteit kan maken. Zie Een Microsoft Entra-app registreren en een service-principal maken voor meer informatie.
Meld u via Azure Portal aan bij uw Azure-account.
Selecteer Microsoft Entra ID.
Selecteer App-registraties.
Selecteer Nieuwe registratie.
Geef de toepassing een naam,
jboss-eap-on-aro-app
bijvoorbeeld. Kies een ondersteund accounttype, dat bepaalt wie de toepassing kan gebruiken. Nadat u de waarden hebt ingesteld, selecteert u Registreren, zoals wordt weergegeven in de volgende schermopname. Het duurt enkele seconden om de toepassing in te richten. Wacht tot de implementatie is voltooid voordat u doorgaat.Sla de toepassings-id (client) op de overzichtspagina op, zoals wordt weergegeven in de volgende schermopname. Beweeg de muisaanwijzer over de waarde, die wordt bewerkt in de schermopname en selecteer het kopieerpictogram dat wordt weergegeven. De knopinfo zegt Kopiëren naar klembord. Zorg ervoor dat u de juiste waarde kopieert, omdat de andere waarden in die sectie ook kopieerpictogrammen hebben. Sla de toepassings-id op in een bestand, zodat u deze later kunt gebruiken.
Maak een nieuw clientgeheim door de volgende stappen uit te voeren:
- Selecteer Certificaten en geheimen.
- Selecteer Clientgeheimen en vervolgens Nieuw clientgeheim.
- Geef een beschrijving op van het geheim en een duur. Wanneer u klaar bent, selecteert u Toevoegen.
- Nadat het clientgeheim is toegevoegd, wordt de waarde van het clientgeheim weergegeven. Kopieer deze waarde omdat u deze later niet meer kunt ophalen. Kopieer de waarde en niet de geheime id.
U hebt uw Microsoft Entra-toepassing, service-principal en clientgeheim gemaakt.
De service-principal valideren
Gebruik de volgende opdracht om de service-principal te valideren:
az login \
--service-principal \
--username <service-principal-client-id> \
--password <service-principal-client-secret> \
--tenant <tenant-id>
az account show
Vervang , <service-principal-client-secret>
en <tenant-id>
door <service-principal-client-id>
de waarden die u in de vorige stappen hebt verkregen. Als u de accountgegevens ziet, is de service-principal geldig.
JBoss EAP implementeren in Azure Red Hat OpenShift
Met de stappen in deze sectie gaat u JBoss EAP implementeren in Azure Red Hat OpenShift.
In de volgende stappen ziet u hoe u de aanbieding kunt vinden en het deelvenster Basisbeginselen kunt invullen.
Voer in de zoekbalk boven in Azure Portal JBoss EAP in. Selecteer in de zoekresultaten in de sectie Marketplace JBoss EAP in Azure Red Hat OpenShift, zoals wordt weergegeven in de volgende schermopname.
U kunt ook rechtstreeks naar de JBoss EAP in Azure Red Hat OpenShift-aanbieding in Azure Portal gaan.
Selecteer Maken op de pagina aanbieding.
Controleer in het deelvenster Basisbeginselen of de waarde die wordt weergegeven in het veld Abonnement hetzelfde is als de rollen die worden vermeld in de sectie Vereisten.
U moet de aanbieding implementeren in een lege resourcegroep. Selecteer in het veld Resourcegroep nieuwe maken en vul een waarde in voor de resourcegroep. Omdat resourcegroepen uniek moeten zijn binnen een abonnement, kiest u een unieke naam. Een eenvoudige manier om unieke namen te hebben, is door een combinatie van uw initialen, de datum van vandaag en een bepaalde id te gebruiken. Bijvoorbeeld eaparo033123rg.
Selecteer onder Exemplaardetails de regio voor de implementatie. Zie Regio's voor Red Hat OpenShift 4.x in Azure voor een lijst met Azure-regio's waarin OpenShift wordt uitgevoerd.
Selecteer Volgende: ARO.
In de volgende stappen ziet u hoe u het ARO-deelvenster kunt invullen dat wordt weergegeven in de volgende schermopname:
Selecteer Ja onder Een nieuw cluster maken.
Vul onder Geef informatie op voor het maken van een nieuw cluster voor Red Hat-pull-geheim het Red Hat-pull-geheim dat u hebt verkregen in de sectie Get a Red Hat pull secret . Gebruik dezelfde waarde voor Het geheim bevestigen.
Vul de client-id van de service-principal in met de service-principaltoepassings-id (client) die u hebt verkregen in de sectie Een Microsoft Entra-service-principal maken in de sectie Azure Portal.
Vul het clientgeheim van de service-principal in met het toepassingsgeheim van de service-principal die u hebt verkregen in de sectie Een Microsoft Entra-service-principal maken in de sectie Azure Portal. Gebruik dezelfde waarde voor Het geheim bevestigen.
Selecteer Volgende EAP-toepassing.
In de volgende stappen ziet u hoe u het deelvenster EAP-toepassing invult dat wordt weergegeven in de volgende schermopname en vervolgens de implementatie start.
Laat de standaardoptie Nee staan voor het implementeren van een toepassing in OpenShift met behulp van Source-to-Image (S2I)?.
Notitie
Later ziet u in deze quickstart hoe u handmatig een toepassing implementeert met een databaseverbinding.
Selecteer Volgende: Beoordelen en maken.
Selecteer Controleren + maken. Zorg ervoor dat het groene bericht Validatie geslaagd bovenaan wordt weergegeven. Als het bericht niet wordt weergegeven, lost u validatieproblemen op en selecteert u Controleren en opnieuw maken .
Selecteer Maken.
Houd de voortgang van de implementatie op de implementatiepagina bij .
Afhankelijk van netwerkvoorwaarden en andere activiteiten in uw geselecteerde regio kan het tot 35 minuten duren voordat de implementatie is voltooid.
Terwijl u wacht, kunt u de database instellen.
Azure Database for MySQL - Flexibele server instellen
In de volgende secties ziet u hoe u Azure Database for MySQL - Flexible Server instelt.
Omgevingsvariabelen instellen in de opdrachtregelshell
Het voorbeeld is een Java-toepassing die wordt ondersteund door een MySQL-database en wordt geïmplementeerd in het OpenShift-cluster met behulp van Source-to-Image (S2I). Zie de S2I-documentatie voor meer informatie over S2I.
Open een shell en stel de volgende omgevingsvariabelen in. Vervang de vervangingen indien van toepassing.
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
Vervang de tijdelijke aanduidingen door de volgende waarden, die in de rest van het artikel worden gebruikt:
<resource-group-name>
: De naam van de resourcegroep die u eerder hebt gemaakt,eaparo033123rg
bijvoorbeeld.<database-server-name>
: De naam van uw MySQL-server, die uniek moet zijn in Azure,eaparo033123mysql
bijvoorbeeld.ADMIN_PASSWORD
: het beheerderswachtwoord van uw MySQL-databaseserver. Dit artikel is getest met behulp van het weergegeven wachtwoord. Raadpleeg de databasedocumentatie voor wachtwoordregels.<red-hat-container-registry-service-account-username>
en<red-hat-container-registry-service-account-password>
: de gebruikersnaam en het wachtwoord van het Red Hat Container Registry-serviceaccount dat u eerder hebt gemaakt.
Het is een goed idee om de volledig ingevulde naam-/waardeparen op te slaan in een tekstbestand, voor het geval de shell wordt afgesloten voordat u klaar bent met het uitvoeren van de opdrachten. Op die manier kunt u ze in een nieuw exemplaar van de shell plakken en eenvoudig doorgaan.
Deze naam-/waardeparen zijn in wezen 'geheimen'. Zie Security for the Azure Red Hat OpenShift accelerator (Beveiliging voor de Azure Red Hat OpenShift-landingszoneversneller) voor een productieklare manier om Azure Red Hat OpenShift te beveiligen, inclusief geheimbeheer.
De database maken en initialiseren
Gebruik vervolgens de volgende stappen om een Azure Database for MySQL - Flexible Server te maken en een gebruiker te maken met machtigingen voor het lezen/schrijven van/naar de specifieke database.
Gebruik de volgende opdracht om een Azure Database for MySQL - Flexible Server te maken:
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
Het kan tien of meer minuten duren voordat deze opdracht is voltooid. Wanneer de opdracht is voltooid, ziet u uitvoer die lijkt op het volgende voorbeeld:
{ "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" }
Gebruik de volgende opdrachten om de host van de gemaakte MySQL-server op te halen:
DB_HOST=$(az mysql flexible-server show \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --query "fullyQualifiedDomainName" \ --output tsv) echo $DB_HOST
Sla het naam-/waardepaar op in het tekstbestand.
Gebruik de volgende opdracht om een tijdelijke firewallregel te maken om verbinding met de MySQL-server vanaf het openbare internet toe te staan:
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
Gebruik de volgende opdracht om een nieuwe databasegebruiker te maken met machtigingen voor het lezen en schrijven van de specifieke database. Deze opdracht is handig om SQL rechtstreeks naar de database te verzenden.
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
Gebruik de volgende opdracht om de tijdelijke firewallregel te verwijderen:
az mysql flexible-server firewall-rule delete \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --rule-name "AllowAllIPs" \ --yes
U hebt nu een MySQL-databaseserver die wordt uitgevoerd en klaar is om verbinding te maken met uw app.
De functionaliteit van de implementatie controleren
In de stappen in deze sectie ziet u hoe u kunt controleren of de implementatie is voltooid.
Als u weg navigeert van de implementatiepagina wordt uitgevoerd , ziet u in de volgende stappen hoe u terug kunt gaan naar die pagina. Als u nog steeds op de pagina bent waarin wordt aangegeven dat uw implementatie is voltooid, kunt u doorgaan naar stap 5.
Selecteer in de hoek van een azure-portalpagina het hamburgermenu en selecteer vervolgens Resourcegroepen.
Voer in het vak met het tekstfilter voor een veld de eerste paar tekens in van de resourcegroep die u eerder hebt gemaakt. Als u de aanbevolen conventie hebt gevolgd, voert u uw initialen in en selecteert u vervolgens de juiste resourcegroep.
Selecteer Implementaties in het navigatiedeelvenster in de sectie Instellingen. U ziet een geordende lijst met de implementaties voor deze resourcegroep, met de meest recente eerst.
Schuif naar het oudste item in deze lijst. Deze vermelding komt overeen met de implementatie die u in de vorige sectie hebt gestart. Selecteer de oudste implementatie, zoals wordt weergegeven in de volgende schermopname.
Selecteer Uitvoer in het navigatiedeelvenster. Deze lijst bevat de uitvoerwaarden van de implementatie, die nuttige informatie bevat.
Open de shell, plak de waarde uit het veld cmdToGetKubeadminCredentials en voer deze uit. U ziet het beheerdersaccount en de referenties voor aanmelding bij de OpenShift-clusterconsoleportal. In het volgende voorbeeld ziet u een beheerdersaccount:
az aro list-credentials --resource-group eaparo033123rg --name clusterf9e8b9
Met deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:
{ "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx", "kubeadminUsername": "kubeadmin" }
Plak de waarde uit het consoleUrl-veld in een webbrowser met internetverbinding en druk op Enter. Vul de gebruikersnaam en het wachtwoord van de beheerder in en selecteer Vervolgens Aanmelden. Selecteer in de beheerconsole van Azure Red Hat OpenShift operators>geïnstalleerd operators, waar u kunt zien dat de JBoss EAP-operator is geïnstalleerd, zoals wordt weergegeven in de volgende schermopname.
Gebruik vervolgens de volgende stappen om verbinding te maken met het OpenShift-cluster met behulp van de OpenShift CLI:
Gebruik in de shell de volgende opdrachten om de nieuwste OpenShift 4 CLI voor GNU/Linux te downloaden. Als het wordt uitgevoerd op een ander besturingssysteem dan GNU/Linux, downloadt u het juiste binaire bestand voor dat besturingssysteem.
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
Plak de waarde uit het veld cmdToLoginWithKubeadmin in de shell en voer deze uit. U ziet het
login successful
bericht en het project dat u gebruikt. De volgende inhoud is een voorbeeld van de opdracht om verbinding te maken met het OpenShift-cluster met behulp van de 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)
Met deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:
Login successful. You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default".
Een JBoss EAP-app implementeren in het OpenShift-cluster
In de stappen in deze sectie ziet u hoe u een app in het cluster implementeert.
De app implementeren in het cluster
Gebruik de volgende stappen om de app in het cluster te implementeren. De app wordt gehost in de GitHub-opslagplaats rhel-jboss-templates/eap-coffee-app.
Voer in de shell de volgende opdrachten uit. Met de opdrachten maakt u een project, past u een machtiging toe om S2I te laten werken, maakt u een afbeelding van het pull-geheim en koppelt u het geheim aan de relatieve serviceaccounts in het project om de pull-installatiekopie in te schakelen. Negeer de Git-waarschuwing over de status 'losgekoppelde 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)
Omdat in de volgende sectie de HEREDOC-indeling wordt gebruikt, kunt u deze het beste opnemen en uitvoeren in een eigen codefragment.
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
U moet zien
secret/eaparo-sample-pull-secret created
dat het geheim is gemaakt. Als u deze uitvoer niet ziet, kunt u het probleem oplossen voordat u doorgaat. Koppel tot slot het geheim aan het standaardserviceaccount voor het downloaden van containerinstallatiekopieën, zodat het cluster ze kan uitvoeren.oc secrets link default ${CON_REG_SECRET_NAME} --for=pull oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
Gebruik de volgende opdrachten om de installatiekopiestroom
jboss-eap74-openjdk11-openshift
op te halen. Start vervolgens de bron naar het afbeeldingsproces en wacht totdat deze is voltooid.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
Geslaagde uitvoer moet eindigen met iets dat lijkt op het volgende voorbeeld:
Writing manifest to image destination
Storing signatures
Successfully pushed image-registry.openshift-image-registry.svc:5000/eaparo-sample/javaee-cafe@sha256:754587c33c03bf42ba4f3ce5a11526bbfc82aea94961ce1179a415c2bfa73449
Push successful
Als u vergelijkbare uitvoer niet ziet, kunt u het probleem oplossen voordat u doorgaat.
Een geheim maken voor het databasewachtwoord
Gebruik vervolgens de volgende stappen om een geheim te maken:
Gebruik de volgende opdracht om een geheim te maken voor het bewaren van het wachtwoord van de database:
oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
Gebruik de volgende opdrachten om drie replica's van de container-app in het cluster te implementeren en uit te voeren:
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
Als de opdracht is voltooid, ziet u het volgende
wildflyserver.wildfly.org/javaee-cafe created
. Als u deze uitvoer niet ziet, kunt u het probleem oplossen voordat u doorgaat.Voer uit
oc get pod -w | grep 1/1
om te controleren of alle pods van de app worden uitgevoerd. Wanneer u uitvoer ziet die vergelijkbaar is met het volgende voorbeeld, drukt u op Ctrl + C om de bewaking te stoppen:javaee-cafe-2 1/1 Running 0 31s javaee-cafe-1 1/1 Running 0 30s javaee-cafe-0 1/1 Running 0 30s
Het kan enkele minuten duren voordat de juiste status is bereikt. Mogelijk ziet
STATUS
u zelfs kolomwaarden, waaronderErrImagePull
enImagePullBackOff
voordatRunning
deze wordt weergegeven.Voer de volgende opdracht uit om de URL van de toepassing te retourneren. U kunt deze URL gebruiken voor toegang tot de geïmplementeerde voorbeeld-app. Kopieer de uitvoer naar het klembord.
echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
Plak de uitvoer in een webbrowser met internetverbinding en druk op Enter. U ziet nu de gebruikersinterface van de Java EE Cafe-app die vergelijkbaar is met de volgende schermopname:
Voeg enkele rijen toe en verwijder deze om te controleren of de databaseverbinding correct werkt.
Resources opschonen
Als u het OpenShift-cluster niet meer gaat gebruiken, gaat u terug naar uw werkresourcegroep. Selecteer boven aan de pagina, onder de tekst Resourcegroep, de resourcegroep. Selecteer vervolgens Resourcegroep verwijderen.
Volgende stap
Zie Red Hat JBoss EAP in Azure voor meer informatie over het implementeren van JBoss EAP in Azure.