Snabbstart: Distribuera JBoss EAP på Azure Red Hat OpenShift
Den här artikeln visar hur du snabbt konfigurerar JBoss Enterprise Application Platform (EAP) på Azure Red Hat OpenShift med hjälp av Azure Portal.
Den här artikeln använder Azure Marketplace-erbjudandet för JBoss EAP för att påskynda din resa till Azure Red Hat OpenShift. Erbjudandet etablerar automatiskt resurser, inklusive ett Azure Red Hat OpenShift-kluster med ett inbyggt OpenShift Container Registry (OCR), JBoss EAP-operatorn och eventuellt en containeravbildning inklusive JBoss EAP och ditt program med hjälp av Source-to-Image (S2I). Om du vill se erbjudandet går du till Azure Portal. Om du föredrar manuell stegvis vägledning för att köra JBoss EAP på Azure Red Hat OpenShift som inte använder automatiseringen som aktiveras av erbjudandet kan du läsa Distribuera ett Java-program med Red Hat JBoss Enterprise Application Platform (JBoss EAP) på ett Azure Red Hat OpenShift 4-kluster.
Om du är intresserad av att ge feedback eller arbeta nära dina migreringsscenarier med utvecklingsteamet som utvecklar JBoss EAP för Azure-lösningar, fyller du i den här korta undersökningen om JBoss EAP-migrering och inkluderar din kontaktinformation. Teamet med programchefer, arkitekter och ingenjörer kommer snabbt att kontakta dig för att initiera ett nära samarbete.
Förutsättningar
En Azure-prenumeration. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Ett Red Hat-konto med fullständig profil. Om du inte har en kan du registrera dig för en kostnadsfri utvecklarprenumeration via Red Hat Developer-prenumerationen för enskilda användare.
En lokal kommandorad för utvecklare med en UNIX-liknande kommandomiljö – till exempel Ubuntu, macOS eller Windows-undersystem för Linux – och Azure CLI installerat. Information om hur du installerar Azure CLI finns i Så här installerar du Azure CLI.
The
mysql
CLI. Du kan till exempel installera CLI med hjälp av följande kommandon på Ubuntu- eller Debianbaserade system:sudo apt update sudo apt install mysql-server
En Azure-identitet som du använder för att logga in som har rollen Deltagare och rollen Administratör för användaråtkomst eller Rollen Ägare i den aktuella prenumerationen. En översikt över Azure-roller finns i Vad är rollbaserad åtkomstkontroll i Azure (Azure RBAC)?
Kommentar
Azure Red Hat OpenShift kräver minst 40 kärnor för att kunna skapa och köra ett OpenShift-kluster. Azure-resurskvoten av standardtyp för en ny Azure-prenumeration uppfyller inte det här kravet. Information om hur du begär en ökning av resursgränsen finns i Öka VCPU-kvoterna för VM-familjen. Observera att den kostnadsfria utvärderingsprenumerationen inte är berättigad till en kvotökning. Uppgradera till en betala per användning-prenumeration innan du begär en kvotökning. Mer information finns i Uppgradera ditt kostnadsfria Azure-konto eller Azure for Students Starter-konto.
Hämta en Red Hat-pullhemlighet
Azure Marketplace-erbjudandet som används i den här artikeln kräver en Red Hat-pullhemlighet. Det här avsnittet visar hur du hämtar en Red Hat-pullhemlighet för Azure Red Hat OpenShift. Information om vad en Red Hat-pullhemlighet är och varför du behöver den finns i avsnittet Hämta en Red Hat-pullhemlighet i Självstudie: Skapa ett Azure Red Hat OpenShift 4-kluster.
Använd följande steg för att hämta pull-hemligheten:
Öppna Red Hat OpenShift Hybrid Cloud Console och använd sedan ditt Red Hat-konto för att logga in på OpenShift-klusterhanterarens portal. Du kan behöva acceptera fler villkor och uppdatera ditt konto enligt följande skärmbild. Använd samma lösenord som när du skapade kontot.
När du har loggat in väljer du OpenShift och sedan Nedladdningar.
Välj listrutan Alla kategorier och välj sedan Token.
Under Pull secret (Hämta hemlighet) väljer du Kopiera eller Ladda ned för att hämta värdet, enligt följande skärmbild.
Följande innehåll är ett exempel som kopierades från Red Hat-konsolportalen med autentiseringskoderna ersatta med
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"}}}
Spara hemligheten i en fil så att du kan använda den senare.
Skapa ett Red Hat Container Registry-tjänstkonto
Senare visar den här artikeln hur du manuellt distribuerar ett program till OpenShift med hjälp av S2I (Source-to-Image). Ett Red Hat Container Registry-tjänstkonto krävs för att hämta containeravbildningen för JBoss EAP som programmet ska köras på. Om du har ett Red Hat Container Registry-tjänstkonto som är redo att användas hoppar du över det här avsnittet och går vidare till nästa avsnitt, där du distribuerar erbjudandet.
Använd följande steg för att skapa ett Red Hat Container Registry-tjänstkonto och hämta dess användarnamn och lösenord. Mer information finns i Skapa registertjänstkonton i Red Hat-dokumentationen.
- Använd ditt Red Hat-konto för att logga in på registertjänstkontohanteringsprogrammet.
- På sidan Registertjänstkonton väljer du Nytt tjänstkonto.
- Ange ett namn för tjänstkontot. Namnet förbereds med en fast, slumpmässig sträng.
- Ange en beskrivning.
- Välj Skapa.
- Gå tillbaka till dina tjänstkonton.
- Välj det tjänstkonto som du skapade.
- Anteckna användarnamnet, inklusive den förberedda strängen (d.s.a
XXXXXXX|username
. ). Använd det här användarnamnet när du loggar inregistry.redhat.io
på . - Anteckna lösenordet. Använd det här lösenordet när du loggar in
registry.redhat.io
på .
- Anteckna användarnamnet, inklusive den förberedda strängen (d.s.a
Du har skapat ditt Red Hat Container Registry-tjänstkonto.
Skapa ett Microsoft Entra-tjänsthuvudnamn från Azure Portal
Azure Marketplace-erbjudandet som används i den här artikeln kräver ett Microsoft Entra-tjänsthuvudnamn för att distribuera ditt Azure Red Hat OpenShift-kluster. Erbjudandet tilldelar tjänstens huvudnamn rätt behörighet under distributionstiden, utan rolltilldelning. Om du har ett tjänsthuvudnamn som är redo att användas hoppar du över det här avsnittet och går vidare till nästa avsnitt, där du skapar ett Red Hat Container Registry-tjänstkonto.
Använd följande steg för att distribuera ett huvudnamn för tjänsten och hämta dess program-ID (klient)-ID och hemlighet från Azure Portal. Mer information finns i Skapa och använda ett huvudnamn för tjänsten för att distribuera ett Azure Red Hat OpenShift-kluster.
Kommentar
Du måste ha tillräcklig behörighet för att registrera ett program med din Microsoft Entra-klientorganisation. Om du stöter på ett problem kontrollerar du de behörigheter som krävs för att se till att ditt konto kan skapa identiteten. Mer information finns i Registrera en Microsoft Entra-app och skapa ett huvudnamn för tjänsten.
Logga in på ditt Azure-konto via Azure Portal.
Välj Microsoft Entra ID.
Välj Appregistreringar.
Välj Ny registrering.
Ge programmet namnet , till exempel
jboss-eap-on-aro-app
. Välj en kontotyp som stöds, som avgör vem som kan använda programmet. När du har angett värdena väljer du Registrera, enligt följande skärmbild. Det tar flera sekunder att etablera programmet. Vänta tills distributionen har slutförts innan du fortsätter.Spara program-ID:t (klient) från översiktssidan, enligt följande skärmbild. Hovra pekaren över värdet, som redigeras i skärmbilden, och välj den kopieringsikon som visas. Knappbeskrivningen säger Kopiera till Urklipp. Var noga med att kopiera rätt värde, eftersom de andra värdena i det avsnittet också har kopieringsikoner. Spara program-ID:t i en fil så att du kan använda det senare.
Skapa en ny klienthemlighet genom att följa dessa steg:
- Välj Certifikat och hemligheter.
- Välj Klienthemligheter och sedan Ny klienthemlighet.
- Ange en beskrivning av hemligheten och en varaktighet. När du är klar väljer du Lägg till.
- När klienthemligheten har lagts till visas värdet för klienthemligheten. Kopiera det här värdet eftersom du inte kan hämta det senare. Se till att kopiera värdet och inte det hemliga ID:t.
Du har skapat ditt Microsoft Entra-program, tjänstens huvudnamn och klienthemlighet.
Verifiera tjänstens huvudnamn
Använd följande kommando för att verifiera tjänstens huvudnamn:
az login \
--service-principal \
--username <service-principal-client-id> \
--password <service-principal-client-secret> \
--tenant <tenant-id>
az account show
Ersätt <service-principal-client-id>
, <service-principal-client-secret>
och <tenant-id>
med de värden som du fick i föregående steg. Om du ser kontoinformationen är tjänstens huvudnamn giltigt.
Distribuera JBoss EAP på Azure Red Hat OpenShift
Stegen i det här avsnittet instruerar dig att distribuera JBoss EAP på Azure Red Hat OpenShift.
Följande steg visar hur du hittar erbjudandet och fyller i fönstret Grundläggande .
I sökfältet överst i Azure Portal anger du JBoss EAP. I sökresultatet i avsnittet Marketplace väljer du JBoss EAP på Azure Red Hat OpenShift, som du ser i följande skärmbild.
Du kan också gå direkt till JBoss EAP på Azure Red Hat OpenShift-erbjudandet på Azure Portal.
På erbjudandesidan väljer du Skapa.
I fönstret Grundläggande ser du till att värdet som visas i fältet Prenumeration är samma som har de roller som anges i avsnittet förutsättningar.
I fältet Resursgrupp väljer du Skapa ny och fyller i ett värde för resursgruppen. Eftersom resursgrupper måste vara unika i en prenumeration väljer du ett unikt namn. Ett enkelt sätt att få unika namn är att använda en kombination av dina initialer, dagens datum och någon identifierare. Till exempel eaparo033123rg.
Under Instansinformation väljer du regionen för distributionen. En lista över Azure-regioner där OpenShift fungerar finns i Regioner för Red Hat OpenShift 4.x i Azure.
Välj Nästa: ARO.
Följande steg visar hur du fyller i ARO-fönstret som visas på följande skärmbild:
Under Skapa ett nytt kluster väljer du Ja.
Under Ange information för att skapa ett nytt kluster, för Red Hat-pullhemlighet, fyller du i den Red Hat-pullhemlighet som du fick i avsnittet Hämta en Red Hat-pullhemlighet . Använd samma värde för Bekräfta hemlighet.
Fyll i klient-ID för tjänstens huvudnamn med det program-ID för tjänstens huvudnamn (klient) som du fick i avsnittet Skapa ett Microsoft Entra-tjänsthuvudnamn från Azure Portal.
Fyll i Klienthemlighet för tjänstens huvudnamn med den programhemlighet för tjänstens huvudnamn som du fick i avsnittet Skapa ett Microsoft Entra-tjänsthuvudnamn från avsnittet Azure Portal. Använd samma värde för Bekräfta hemlighet.
Välj Nästa EAP-program.
Följande steg visar hur du fyller i fönstret EAP-program som visas i följande skärmbild och sedan startar distributionen.
Lämna standardalternativet Nej för Distribuera ett program till OpenShift med hjälp av Source-to-Image (S2I)?.
Kommentar
Senare visar den här snabbstarten hur du distribuerar ett program manuellt med en databasanslutning.
Välj Nästa: Granska + skapa.
Välj Granska + skapa. Kontrollera att det gröna valideringsmeddelandet som skickats visas längst upp. Om meddelandet inte visas kan du åtgärda eventuella valideringsproblem och sedan välja Granska + skapa igen.
Välj Skapa.
Spåra förloppet för distributionen på sidan Distribution pågår .
Beroende på nätverksförhållanden och annan aktivitet i den valda regionen kan distributionen ta upp till 35 minuter att slutföra.
Medan du väntar kan du konfigurera databasen.
Konfigurera Azure Database for MySQL – flexibel server
Följande avsnitt visar hur du konfigurerar Azure Database for MySQL – flexibel server.
Ange miljövariabler i kommandoradsgränssnittet
Exemplet är ett Java-program som backas upp av en MySQL-databas och distribueras till OpenShift-klustret med hjälp av S2I (Source-to-Image). Mer information om S2I finns i S2I-dokumentationen.
Kommentar
Eftersom Azure Workload Identity ännu inte stöds av Azure OpenShift använder den här artikeln fortfarande användarnamn och lösenord för databasautentisering i stället för att använda lösenordslösa databasanslutningar.
Öppna ett gränssnitt och ange följande miljövariabler. Ersätt ersättningarna efter behov.
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
Ersätt platshållarna med följande värden som används under resten av artikeln:
<resource-group-name>
: Namnet på resursgruppen som du skapade tidigare – till exempeleaparo033123rg
.<database-server-name>
: Namnet på mySQL-servern, som ska vara unik i Azure – till exempeleaparo033123mysql
.ADMIN_PASSWORD
: Administratörslösenordet för mySQL-databasservern. Den här artikeln har testats med hjälp av lösenordet som visas. I databasdokumentationen finns lösenordsregler.<red-hat-container-registry-service-account-username>
och<red-hat-container-registry-service-account-password>
: Användarnamnet och lösenordet för Red Hat Container Registry-tjänstkontot som du skapade tidigare.
Det är en bra idé att spara de fullständigt ifyllda namn/värde-paren i en textfil, om gränssnittet avslutas innan du är klar med att köra kommandona. På så sätt kan du klistra in dem i en ny instans av gränssnittet och enkelt fortsätta.
Dessa namn/värde-par är i huvudsak "hemligheter". Ett produktionsklart sätt att skydda Azure Red Hat OpenShift, inklusive hemlig hantering, finns i Säkerhet för Azure Red Hat OpenShift-acceleratorn för landningszoner.
Skapa och initiera databasen
Använd sedan följande steg för att skapa en Azure Database for MySQL – flexibel server och skapa en användare med behörighet att läsa/skriva från/till den specifika databasen.
Använd följande kommando för att skapa en Azure Database for MySQL – flexibel server:
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
Det kan ta minst tio minuter att slutföra det här kommandot. När kommandot har slutförts visas utdata som liknar följande exempel:
{ "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" }
Använd följande kommandon för att hämta värden för den skapade MySQL-servern:
DB_HOST=$(az mysql flexible-server show \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --query "fullyQualifiedDomainName" \ --output tsv) echo $DB_HOST
Spara namn/värde-paret i textfilen.
Använd följande kommando för att skapa en tillfällig brandväggsregel för att tillåta anslutning till MySQL-servern från det offentliga Internet:
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
Använd följande kommando för att skapa en ny databasanvändare med behörighet att läsa och skriva den specifika databasen. Det här kommandot är användbart för att skicka SQL direkt till databasen.
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
Använd följande kommando för att ta bort den tillfälliga brandväggsregeln:
az mysql flexible-server firewall-rule delete \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --rule-name "AllowAllIPs" \ --yes
Nu har du en MySQL-databasserver som körs och är redo att ansluta till din app.
Verifiera funktionerna i distributionen
Stegen i det här avsnittet visar hur du kontrollerar att distributionen har slutförts.
Om du har navigerat bort från sidan Distribution pågår visar följande steg hur du kommer tillbaka till den sidan. Om du fortfarande är på sidan som visar Att distributionen är klar kan du gå vidare till steg 5.
I hörnet på en Azure Portal sida väljer du hamburgermenyn och väljer sedan Resursgrupper.
I rutan med texten Filtrera för ett fält anger du de första tecknen i resursgruppen som du skapade tidigare. Om du följde den rekommenderade konventionen anger du dina initialer och väljer sedan lämplig resursgrupp.
I navigeringsfönstret går du till avsnittet Inställningar och väljer Distributioner. Du ser en ordnad lista över distributionerna till den här resursgruppen, med den senaste först.
Rulla till den äldsta posten i den här listan. Den här posten motsvarar den distribution som du startade i föregående avsnitt. Välj den äldsta distributionen enligt följande skärmbild.
I navigeringsfönstret väljer du Utdata. Den här listan visar utdatavärdena från distributionen, som innehåller användbar information.
Öppna gränssnittet, klistra in värdet från fältet cmdToGetKubeadminCredentials och kör det. Du ser administratörskontot och autentiseringsuppgifterna för att logga in på OpenShift-klusterkonsolportalen. I följande exempel visas ett administratörskonto:
az aro list-credentials --resource-group eaparo033123rg --name clusterf9e8b9
Det här kommandot genererar utdata som liknar följande exempel:
{ "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx", "kubeadminUsername": "kubeadmin" }
Klistra in värdet från fältet consoleUrl i en Internetansluten webbläsare och tryck sedan på Retur. Fyll i administratörens användarnamn och lösenord och välj sedan Logga in. I administratörskonsolen för Azure Red Hat OpenShift väljer du Operatorer>installerade operatorer, där du kan se att JBoss EAP-operatorn har installerats, enligt följande skärmbild.
Använd sedan följande steg för att ansluta till OpenShift-klustret med hjälp av OpenShift CLI:
I gränssnittet använder du följande kommandon för att ladda ned den senaste OpenShift 4 CLI för GNU/Linux. Om du kör ett annat operativsystem än GNU/Linux laddar du ned rätt binärfil för operativsystemet.
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
Klistra in värdet från fältet cmdToLoginWithKubeadmin i gränssnittet och kör det. Du bör se meddelandet
login successful
och projektet som du använder. Följande innehåll är ett exempel på kommandot för att ansluta till OpenShift-klustret med hjälp av 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)
Det här kommandot genererar utdata som liknar följande exempel:
Login successful. You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default".
Distribuera en JBoss EAP-app till OpenShift-klustret
Stegen i det här avsnittet visar hur du distribuerar en app i klustret.
Distribuera appen till klustret
Använd följande steg för att distribuera appen till klustret. Appen finns i GitHub-lagringsplatsen rhel-jboss-templates/eap-coffee-app.
Kör följande kommandon i gränssnittet. Kommandona skapar ett projekt, tillämpar en behörighet för att göra det möjligt för S2I att fungera, avbilda pull-hemligheten och länka hemligheten till de relativa tjänstkontona i projektet för att aktivera avbildningshämtningen. Ignorera Git-varningen om "frånkopplat HEAD-tillstånd".
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)
Eftersom nästa avsnitt använder HEREDOC-format är det bäst att inkludera och köra det i ett eget kodutdrag.
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
Du måste se
secret/eaparo-sample-pull-secret created
för att visa att hemligheten har skapats. Om du inte ser dessa utdata kan du felsöka och lösa problemet innan du fortsätter. Slutligen länkar du hemligheten till standardtjänstkontot för att ladda ned containeravbildningar så att klustret kan köra dem.oc secrets link default ${CON_REG_SECRET_NAME} --for=pull oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
Använd följande kommandon för att hämta avbildningsströmmen
jboss-eap74-openjdk11-openshift
. Starta sedan källan till avbildningsprocessen och vänta tills den har slutförts.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
Lyckade utdata bör sluta med något som liknar följande exempel:
Writing manifest to image destination
Storing signatures
Successfully pushed image-registry.openshift-image-registry.svc:5000/eaparo-sample/javaee-cafe@sha256:754587c33c03bf42ba4f3ce5a11526bbfc82aea94961ce1179a415c2bfa73449
Push successful
Om du inte ser liknande utdata kan du felsöka och lösa problemet innan du fortsätter.
Skapa en hemlighet för databaslösenordet
Använd sedan följande steg för att skapa en hemlighet:
Använd följande kommando för att skapa en hemlighet för att lagra lösenordet för databasen:
oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
Använd följande kommandon för att distribuera och köra tre repliker av den containerbaserade appen i klustret:
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
Om kommandot har slutförts bör du se
wildflyserver.wildfly.org/javaee-cafe created
. Om du inte ser dessa utdata kan du felsöka och lösa problemet innan du fortsätter.Kör
oc get pod -w | grep 1/1
för att övervaka om alla poddar i appen körs. När du ser utdata som liknar följande exempel trycker du på Ctrl + C för att stoppa övervakningen:javaee-cafe-2 1/1 Running 0 31s javaee-cafe-1 1/1 Running 0 30s javaee-cafe-0 1/1 Running 0 30s
Det kan ta några minuter att nå rätt tillstånd. Du kan till och med se
STATUS
kolumnvärden inklusiveErrImagePull
ochImagePullBackOff
innanRunning
visas.Kör följande kommando för att returnera programmets URL. Du kan använda den här URL:en för att komma åt den distribuerade exempelappen. Kopiera utdata till Urklipp.
echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
Klistra in utdata i en Internetansluten webbläsare och tryck sedan på Retur. Du bör se användargränssnittet för Java EE Cafe-appen som liknar följande skärmbild:
Lägg till och ta bort några rader för att kontrollera att databasanslutningen fungerar korrekt.
Rensa resurser
Om du inte ska fortsätta att använda OpenShift-klustret går du tillbaka till din arbetsgrupp. Välj resursgruppen under texten Resursgrupp överst på sidan. Välj sedan Ta bort resursgrupp.
Gå vidare
Mer information om hur du distribuerar JBoss EAP på Azure finns i Red Hat JBoss EAP på Azure.