Dela via


Snabbstart: Distribuera JBoss EAP på Azure Red Hat OpenShift

Den här artikeln visar hur du snabbt ställer upp JBoss Enterprise Application Platform (EAP) på Azure Red Hat OpenShift (ARO) med hjälp av Azure-portalen.

Den här artikeln använder Azure Marketplace-erbjudandet för JBoss EAP för att påskynda din resa till ARO. Erbjudandet etablerar automatiskt resurser inklusive ett ARO-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-portalen. Om du föredrar manuell stegvis vägledning för att köra JBoss EAP på ARO 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.

Förutsättningar

  • 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 installera CLI med hjälp av följande kommandon:

sudo apt update
sudo apt install mysql-server

Kommentar

Du kan också köra den här vägledningen från Azure Cloud Shell. Den här metoden har alla nödvändiga verktyg förinstallerade.

Kommentar

Azure Red Hat OpenShift kräver minst 40 kärnor för att kunna skapa och köra ett OpenShift-kluster. Standardkvoten för Azure-resurser för en ny Azure-prenumeration uppfyller inte detta krav. Information om hur du begär en ökning av resursgränsen finns i Standardkvot: Öka gränserna per VM-serie. 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.

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.

  1. Ö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.

    Skärmbild av sidan Uppdatera ditt konto i Red Hat.

  2. När du har loggat in väljer du OpenShift och sedan Nedladdningar.

  3. Välj listrutan Alla kategorier och välj sedan Token.

  4. 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.

    Skärmbild av Red Hat-konsolportalen som visar pull-hemligheten.

    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"}}}
    
  5. Spara hemligheten i en fil så att du kan använda den senare.

Skapa ett Microsoft Entra-tjänsthuvudnamn från Azure-portalen

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-portalen. 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 avsnittet Behörigheter som krävs för att registrera en app i Använda portalen för att skapa ett Microsoft Entra-program och tjänstens huvudnamn som kan komma åt resurser.

  1. Logga in på ditt Azure-konto via Azure-portalen.

  2. Välj Microsoft Entra ID.

  3. Välj Appregistreringar.

  4. Välj Ny registrering.

  5. 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.

    Skärmbild av Azure-portalen som visar sidan Registrera ett program.

  6. 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.

    Skärmbild av Azure-portalen som visar klient-ID för tjänstens huvudnamn.

  7. Skapa en ny klienthemlighet genom att följa dessa steg:

    1. Välj Certifikat och hemligheter.
    2. Välj Klienthemligheter och sedan Ny klienthemlighet.
    3. Ange en beskrivning av hemligheten och en varaktighet. När du är klar väljer du Lägg till.
    4. 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.

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.

  1. Använd ditt Red Hat-konto för att logga in på registertjänstkontohanteringsprogrammet.
  2. På sidan Registertjänstkonton väljer du Nytt tjänstkonto.
  3. Ange ett namn för tjänstkontot. Namnet förbereds med en fast, slumpmässig sträng.
    • Ange en beskrivning.
    • Välj Skapa.
  4. Gå tillbaka till dina tjänstkonton.
  5. Välj det tjänstkonto som du skapade.
    • Anteckna användarnamnet, inklusive den förberedda strängen (d.s.aXXXXXXX|username. ). Använd det här användarnamnet när du loggar in registry.redhat.iopå .
    • Anteckna lösenordet. Använd det här lösenordet när du loggar in registry.redhat.iopå .

Du har skapat ditt Red Hat Container Registry-tjänstkonto.

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 .

  1. I sökfältet överst i Azure-portalen 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.

    Skärmbild av Azure-portalen som visar JBoss EAP på Azure Red Hat OpenShift i sökresultat.

    Du kan också gå direkt till JBoss EAP på Azure Red Hat OpenShift-erbjudandet på Azure-portalen.

  2. På erbjudandesidan väljer du Skapa.

  3. 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.

  4. Du måste distribuera erbjudandet i en tom resursgrupp. 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.

  5. 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.

  6. Välj Nästa: ARO.

Följande steg visar hur du fyller i ARO-fönstret som visas på följande skärmbild:

Skärmbild av Azure-portalen som visar JBoss EAP i Azure Red Hat OpenShift ARO-fönstret.

  1. Under Skapa ett nytt kluster väljer du Ja.

  2. 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.

  3. 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-portalen.

  4. 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 Azure-portalen . Använd samma värde för Bekräfta hemlighet.

  5. 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.

Skärmbild av Azure-portalen som visar JBoss EAP i Azure Red Hat OpenShift EAP-programfönstret.

  1. 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.

  2. Välj Nästa: Granska + skapa.

  3. 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.

  4. Välj Skapa.

  5. 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.

Ö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 exempel eaparo033123rg.
  • <database-server-name>: Namnet på mySQL-servern, som ska vara unik i Azure – till exempel eaparo033123mysql.
  • 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.

  1. 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 här kommandot kan ta minst tio minuter att slutföra. 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"
    }
    
  2. 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.

  3. 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
    
  4. 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
    
  5. 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.

  1. I hörnet på en Azure-portalsida väljer du hamburgermenyn och sedan Resursgrupper.

  2. 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.

  3. 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.

  4. 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.

    Skärmbild av Azure-portalen som visar JBoss EAP på Azure Red Hat OpenShift-distributioner med den äldsta distributionen markerad.

  5. I navigeringsfönstret väljer du Utdata. Den här listan visar utdatavärdena från distributionen, som innehåller användbar information.

  6. Ö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"
    }
    
  7. 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.

    Skärmbild av Red Hat OpenShift-klusterkonsolportalen som visar sidan Installerade operatorer.

Använd sedan följande steg för att ansluta till OpenShift-klustret med hjälp av OpenShift CLI:

  1. 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
    
  2. 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.

  1. 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 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)
    

    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
    
  2. 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:

  1. 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}
    
  2. 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.

  3. 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 inklusive ErrImagePull och ImagePullBackOff innan Running visas.

  4. 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
    
  5. 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:

    Skärmbild av användargränssnittet för Java EE Cafe-appen.

  6. 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.

Nästa steg

Läs mer om hur du distribuerar JBoss EAP i Azure genom att följa dessa länkar: