Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leest u hoe u snel JBoss Enterprise Application Platform (EAP) instelt in Azure Red Hat OpenShift met behulp van Azure Portal.
In dit artikel wordt gebruikgemaakt van de Azure Marketplace-aanbieding voor JBoss EAP om uw reis naar Azure Red Hat OpenShift te versnellen. De aanbieding richt automatisch resources in, waaronder een Azure Red Hat OpenShift-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-cluster als u liever handmatige stapsgewijze instructies gebruikt voor het uitvoeren van JBoss EAP in Azure Red Hat OpenShift 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.
Vereiste voorwaarden
Een Azure-abonnement. Als u geen Azure-account hebt, maak dan een gratis account aan 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
mysqlCLI. U kunt de CLI bijvoorbeeld installeren met behulp van de volgende opdrachten op Ubuntu- of Debian-systemen:sudo apt update sudo apt install mysql-serverEen 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?
Opmerking
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|usernameGebruik 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.
Opmerking
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-registratie.
Selecteer Nieuwe registratie.
Geef de toepassing een naam,
jboss-eap-on-aro-appbijvoorbeeld. Selecteer een ondersteund accounttype, waarmee wordt bepaald 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-id>en <service-principal-client-secret> door <tenant-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.
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)?.
Opmerking
Later ziet u in deze quickstart hoe u handmatig een toepassing implementeert met een databaseverbinding.
Selecteer Volgende: Beoordelen en maken.
Kies Beoordelen + creëren. 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 .
Klik op Creëren.
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.
Opmerking
Omdat Azure Workload Identity nog niet wordt ondersteund door Azure OpenShift, wordt in dit artikel nog steeds een gebruikersnaam en wachtwoord gebruikt voor databaseverificatie in plaats van databaseverbindingen zonder wachtwoord.
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,eaparo033123rgbijvoorbeeld. -
<database-server-name>: De naam van uw MySQL-server, die uniek moet zijn in Azure,eaparo033123mysqlbijvoorbeeld. -
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} \ --yesHet 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_HOSTSla 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.255Gebruik 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; EOFGebruik 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 bent weggenavigeerd van de De implementatie is bezig pagina, laten de volgende stappen zien 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 clusterf9e8b9Met 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 ~/.bashrcPlak de waarde uit het veld cmdToLoginWithKubeadmin in de shell en voer deze uit. U ziet het
login successfulbericht 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 afbeelding bouwen om uit te rollen
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.
Installeer Helm met behulp van de volgende opdrachten:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash # Add the JBoss EAP Helm chart repository helm repo add jboss-eap https://jbossas.github.io/eap-charts/Bereid de omgevingsvariabelen voor de implementatie voor met behulp van de volgende opdrachten:
export SRC_REPO_URL="https://github.com/azure-javaee/rhel-jboss-templates.git" export SRC_REPO_REF="20250609" export SRC_REPO_DIR="eap-coffee-app"Maak een nieuw project in het OpenShift-cluster met behulp van de volgende opdracht:
oc new-project ${PROJECT_NAME}Maak een pull-geheim voor het Red Hat Container Registry met behulp van de volgende opdracht:
oc create secret docker-registry ${CON_REG_SECRET_NAME} \ --docker-server=registry.redhat.io \ --docker-username=${CON_REG_ACC_USER_NAME} \ --docker-password=${CON_REG_ACC_PWD}Bouw de image met behulp van de volgende commando's:
helmDeployment=helm.yaml cat <<EOF >${helmDeployment} build: uri: ${SRC_REPO_URL} ref: "${SRC_REPO_REF}" contextDir: ${SRC_REPO_DIR} pullSecret: ${CON_REG_SECRET_NAME} deploy: enabled: false EOF helm install ${APPLICATION_NAME} -f helm.yaml jboss-eap/eap8 --namespace ${PROJECT_NAME}
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 EOFAls 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/1om 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 30sHet kan enkele minuten duren voordat de juiste status is bereikt. Mogelijk ziet
STATUSu zelfs kolomwaarden, waaronderErrImagePullenImagePullBackOffvoordatRunningdeze 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-cafePlak 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.
De hulpbronnen opschonen
Als u het OpenShift-cluster niet meer gaat gebruiken, gaat u terug naar uw werkresourcegroep. Bovenaan de pagina, onder de tekst Resource group, selecteer 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.