Dela via


Snabbstart: Distribuera ett JBoss EAP-kluster på virtuella Azure-datorer

Den här artikeln visar hur du snabbt distribuerar ett JBoss Enterprise Application Platform-kluster (EAP) på virtuella Azure-datorer (VM) med hjälp av Azure-portalen.

Den här artikeln använder Azure Marketplace-erbjudandet för JBoss EAP-kluster för att påskynda din resa till virtuella Azure-datorer. Erbjudandet etablerar automatiskt ett antal resurser, inklusive virtuella Datorer med Azure Red Hat Enterprise Linux (RHEL), JBoss EAP-instanser på varje virtuell dator, Red Hat-version av OpenJDK på varje virtuell dator, en JBoss EAP-hanteringskonsol och eventuellt en Azure App Gateway-instans. Om du vill se erbjudandet går du till lösningen JBoss EAP-kluster på virtuella RHEL-datorer med hjälp av Azure-portalen.

Om du föredrar manuell stegvis vägledning för att installera Red Hat JBoss EAP-kluster på virtuella Azure-datorer som inte använder automatiseringen som aktiveras av Azure Marketplace-erbjudandet kan du läsa Självstudie: Installera Red Hat JBoss EAP på virtuella Azure-datorer manuellt.

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.
  • Se till att den Azure-identitet som du använder för att logga in har rollen Deltagare eller Rollen Ägare i den aktuella prenumerationen. En översikt över Azure-roller finns i Vad är rollbaserad åtkomstkontroll i Azure (Azure RBAC)?
  • Ett Java Development Kit (JDK), version 11. I den här guiden rekommenderar vi Red Hat Build av OpenJDK. Kontrollera att miljövariabeln JAVA_HOME är korrekt inställd i de gränssnitt där du kör kommandona.
  • Git. Använd git --version för att testa om git fungerar. Den här självstudien testades med version 2.34.1.
  • Maven. Använd mvn -version för att testa om mvn fungerar. Den här självstudien har testats med version 3.8.6.

Kommentar

Det Azure Marketplace-erbjudande som du ska använda i den här artikeln innehåller stöd för Red Hat Satellite för licenshantering. Att använda Red Hat Satellite ligger utanför den här snabbstarten. En översikt över Red Hat Satellite finns i Red Hat Satellite. Mer information om hur du flyttar dina Red Hat JBoss EAP- och Red Hat Enterprise Linux-prenumerationer till Azure finns i Red Hat Cloud Access-programmet.

Konfigurera en flexibel Azure Database for PostgreSQL-server

Stegen i det här avsnittet instruerar dig att distribuera en flexibel Azure Database for PostgreSQL-server som du använder för att konfigurera databasanslutningen när du konfigurerar ett JBoss EAP-kluster i nästa avsnitt.

Använd först följande kommando för att konfigurera vissa miljövariabler.

export RG_NAME=<db-resource-group-name>
export SERVER_NAME=<database-server-name>
export ADMIN_PASSWORD=<postgresql-admin-password>

Ersätt platshållarna med följande värden, som används i hela artikeln:

  • <db-resource-group-name>: Namnet på resursgruppen som ska användas för den flexibla PostgreSQL-servern , till exempel ejb040323postgresrg.
  • <database-server-name>: Namnet på din PostgreSQL-server, som ska vara unik i Azure – till exempel ejb040323postgresqlserver.
  • <postgresql-admin-password>: Lösenordet för PostgreSQL-servern. Lösenordet måste innehålla minst åtta tecken och högst 128 tecken. Tecknen ska vara från tre av följande kategorier: engelska versaler, engelska gemener, siffror (0–9) och icke-numeriska tecken (!, $, #, %och så vidare).

Använd sedan följande steg för att skapa en flexibel Azure Database for PostgreSQL-server:

  1. Använd följande kommando för att skapa en flexibel Azure Database for PostgreSQL-server:

    az postgres flexible-server create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --database-name testdb \
        --public-access 0.0.0.0  \
        --admin-user testuser \
        --admin-password ${ADMIN_PASSWORD} \
        --yes
    
  2. Använd följande kommando för att hämta värden för PostgreSQL-servern:

    export DB_HOST=$(az postgres flexible-server show \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    
  3. Använd följande kommando för att hämta JDBC-anslutnings-URL:en (Java Database Connectivity) för PostgreSQL-servern:

    echo jdbc:postgresql://${DB_HOST}:5432/testdb
    

    Anteckna utdata som du använder som datakälla niska veze för PostgreSQL-servern senare i den här artikeln.

Distribuera ett JBoss EAP-kluster på virtuella Azure-datorer

Stegen i det här avsnittet instruerar dig att distribuera ett JBoss EAP-kluster på virtuella Azure-datorer.

Använd följande steg för att hitta JBoss EAP-klustret på virtuella Azure-datorer:

  1. Logga in på Azure-portalen genom att besöka https://aka.ms/publicportal.

  2. I sökfältet överst i Azure-portalen anger du JBoss EAP. I sökresultatet i avsnittet Marketplace väljer du JBoss EAP-kluster på virtuella datorer.

    Skärmbild av Azure-portalen som visar JBoss EAP Server på en virtuell Azure-dator i sökresultaten.

  3. I den nedrullningsbara menyn kontrollerar du att PAYG är valt.

Du kan också gå direkt till JBoss EAP-klustret på virtuella Azure-datorer . I det här fallet är rätt plan redan vald åt dig.

I båda fallen distribuerar det här erbjudandet ett JBoss EAP-kluster på virtuella Azure-datorer genom att tillhandahålla din Red Hat-prenumeration vid distributionstillfället. Erbjudandet kör klustret på Red Hat Enterprise Linux med hjälp av en betala per användning-betalningskonfiguration för de virtuella basdatorerna.

Följande steg visar hur du fyller i fönstret Grundläggande som visas i följande skärmbild.

Skärmbild av Azure-portalen som visar fönstret JBoss EAP-kluster på virtuella datorer Grundläggande.

  1. På erbjudandesidan väljer du Skapa.
  2. 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.
  3. 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 ejb040323jbosseapcluster.
  4. Under Instansinformation väljer du regionen för distributionen.
  5. Lämna den virtuella datorstorleken som standard för Storlek på virtuell dator.
  6. Lämna standardalternativet OpenJDK 17 för JDK-versionen.
  7. Låt standardvärdet jbossuser vara Användarnamn.
  8. Lämna standardalternativet Lösenord för autentiseringstyp.
  9. Ange ett lösenord för Lösenord. Använd samma värde för Bekräfta lösenord.
  10. Använd 3 för Antal virtuella datorer som ska skapas.
  11. Under Valfri grundläggande konfiguration lämnar du standardalternativet Ja för Acceptera standardvärden för valfri konfiguration.
  12. Bläddra längst ned i fönstret Grundläggande och lägg märke till de användbara länkarna för rapportproblem, få hjälp och dela feedback.
  13. Välj Nästa: JBoss EAP-inställningar.

Följande steg visar hur du fyller i fönstret JBoss EAP-inställningar som visas i följande skärmbild.

Skärmbild av Azure-portalen som visar fönstret JBoss EAP-kluster på virtuella datorer JBoss EAP-inställningar.

  1. Lämna standardalternativet Hanterad domän för Använd hanterad domän eller fristående värdar för att bilda ett kluster.
  2. Lämna standardvärdet jbossadmin för JBoss EAP Admin användarnamn.
  3. Ange ett JBoss EAP-lösenord för JBoss EAP-lösenord. Använd samma värde för Bekräfta lösenord. Spara värdet åt sidan för senare användning.
  4. Lämna standardalternativet Nej för Anslut till en befintlig Red Hat Satellite Server?.
  5. Välj Nästa: Azure Application Gateway.

Följande steg visar hur du fyller i fönstret Azure Application Gateway som visas i följande skärmbild.

Skärmbild av Azure-portalen som visar fönstret JBoss EAP-kluster på virtuella datorer i Azure Application Gateway.

  1. Välj Ja för Anslut till Azure Application Gateway?.

  2. Välj Nästa: Nätverk.

    Med det här fönstret kan du anpassa det virtuella nätverket och undernätet som JBoss EAP-klustret distribuerar till. Information om virtuella nätverk finns i Skapa, ändra eller ta bort ett virtuellt nätverk. Acceptera standardvärdena i det här fönstret.

  3. Välj Nästa: Databas.

Följande steg visar hur du fyller i fönstret Databas som visas på följande skärmbild och startar distributionen.

Skärmbild av Azure-portalen som visar fönstret JBoss EAP-kluster på virtuella datorers databas.

  1. Välj Ja för Anslut till databas?.
  2. Välj PostgreSQL för Välj databastyp.
  3. Fyll i java:jboss/datasources/JavaEECafeDB för JNDI-namn.
  4. Ange JDBC-anslutnings-URL:en för PostgreSQL-servern, som du sparade tidigare, för Datakällans niska veze (jdbc:postgresql://<host>:<port>/<database>).
  5. Fyll i testuser för databasanvändarnamn.
  6. Ange värdet för platshållaren <postgresql-admin-password>, som du angav tidigare, för Databaslösenord. Använd samma värde för Bekräfta lösenord.
  7. 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.
  8. Välj Skapa.
  9. 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. Därefter bör du se texten Distributionen är klar visas på distributionssidan.

Verifiera funktionerna i distributionen

Använd följande steg för att verifiera funktionerna i distributionen för ett JBoss EAP-kluster på virtuella Azure-datorer från Red Hat JBoss Enterprise Application Platform-hanteringskonsolen:

  1. På distributionssidan väljer du Utdata.

  2. Välj kopieringsikonen bredvid adminKonsol.

    Skärmbild av Azure-portalen som visar distributionsutdata med adminConsole-URL:en markerad.

  3. Klistra in URL:en i en internetansluten webbläsare och tryck på Retur. Du bör se den välbekanta inloggningsskärmen för Red Hat JBoss Enterprise Application Platform-hanteringskonsolen , enligt följande skärmbild.

    Skärmbild av inloggningsskärmen för JBoss EAP-hanteringskonsolen.

  4. Fyll i jbossadmin för JBoss EAP Admin username Ange värdet för JBoss EAP-lösenord som du angav tidigare för Lösenord och välj sedan Logga in.

  5. Du bör se den välbekanta välkomstsidan för Red Hat JBoss Enterprise Application Platform-hanteringskonsolen enligt följande skärmbild.

    Skärmbild av välkomstsidan för JBoss EAP-hanteringskonsolen.

  6. Välj fliken Körning . I navigeringsfönstret väljer du Topologi. Du bör se att klustret innehåller en domänkontrollants huvudnod och två arbetsnoder, enligt följande skärmbild:

    Skärmbild av JBoss EAP-hanteringskonsolens Runtime-topologi.

  7. Välj fliken Konfiguration. I navigeringsfönstret väljer du Profiler>ha>Datakällor och Drivrutiner>Datakällor. Du bör se att datakällan dataSource-postgresql visas, enligt följande skärmbild:

    Skärmbild av fliken Konfiguration av JBoss EAP-hanteringskonsolen med Datakällor valt.

Låt hanteringskonsolen vara öppen. Du använder den för att distribuera en exempelapp till JBoss EAP-klustret i nästa avsnitt.

Distribuera appen till JBoss EAP-klustret

Använd följande steg för att distribuera Java EE Cafe-exempelprogrammet till Red Hat JBoss EAP-klustret:

  1. Använd följande steg för att skapa Java EE Cafe-exemplet. Dessa steg förutsätter att du har en lokal miljö med Git och Maven installerade:

    1. Använd följande kommando för att klona källkoden från GitHub och kolla in taggen som motsvarar den här versionen av artikeln:

      git clone https://github.com/Azure/rhel-jboss-templates.git --branch 20230418 --single-branch
      

      Om du ser ett felmeddelande med texten You are in 'detached HEAD' statekan du ignorera det på ett säkert sätt.

    2. Använd följande kommando för att skapa källkoden:

      mvn clean install --file rhel-jboss-templates/eap-coffee-app/pom.xml
      

      Det här kommandot skapar filen rhel-jboss-templates/eap-coffee-app/target/javaee-café.war. Du laddar upp den här filen i nästa steg.

  2. Använd följande steg i Red Hat JBoss Enterprise Application Platform-hanteringskonsolen för att ladda upp javaee-café.war till innehållslagringsplatsen.

    1. På fliken Distributioner i Red Hat JBoss EAP-hanteringskonsolen väljer du Innehållslagringsplats i navigeringspanelen.

    2. Välj Lägg till och sedan Ladda upp innehåll.

      Skärmbild av fliken Distributioner av JBoss EAP-hanteringskonsolen med menyalternativet Ladda upp innehåll markerat.

    3. Använd webbläsarfilväljaren för att välja filen javaee-café.war .

    4. Välj Nästa.

    5. Acceptera standardvärdena på nästa skärm och välj sedan Slutför.

    6. Välj Visa innehåll.

  3. Använd följande steg för att distribuera ett program till main-server-group:

    1. Från Innehållslagringsplats väljer du javaee-café.war.

    2. Öppna den nedrullningsbara menyn och välj Distribuera.

    3. Välj main-server-group som servergrupp för distribution av javaee-café.war.

    4. Välj Distribuera för att starta distributionen. Du bör se ett meddelande som liknar följande skärmbild:

      Skärmbild av meddelandet om lyckad distribution.

Nu är du klar med att distribuera Java EE-programmet. Använd följande steg för att komma åt programmet och verifiera alla inställningar:

  1. Använd följande kommando för att hämta den offentliga IP-adressen för Azure Application Gateway. Ersätt platshållaren <resource-group-name> med namnet på resursgruppen där JBoss EAP-klustret distribueras.

    az network public-ip show \
        --resource-group <resource-group-name> \
        --name gwip \
        --query '[ipAddress]' \
        --output tsv
    
  2. Kopiera utdata, som är den offentliga IP-adressen för den distribuerade Azure Application Gateway.

  3. Öppna en internetansluten webbläsare.

  4. Navigera till programmet med URL:en http://<gateway-public-ip-address>/javaee-cafe. Ersätt platshållaren <gateway-public-ip-address> med den offentliga IP-adressen för den Azure Application Gateway som du kopierade tidigare.

  5. Försök att lägga till och ta bort kaffe.

Rensa resurser

För att undvika Azure-avgifter bör du rensa onödiga resurser. När du inte längre behöver JBoss EAP-klustret distribuerat på virtuella Azure-datorer avregistrerar du JBoss EAP-servrarna och tar bort Azure-resurserna.

Kör följande kommando för att avregistrera JBoss EAP-servrar och virtuella datorer från Red Hat-prenumerationshantering. Ersätt platshållaren <resource-group-name> med namnet på resursgruppen där JBoss EAP-klustret distribueras.

# Unregister domain controller
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm-adminVM \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"

# Unregister host controllers
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm1 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm1 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"

Kör följande kommandon för att ta bort de två resursgrupper där JBoss EAP-klustret och Azure Database for PostgreSQL – flexibel server distribueras. Ersätt platshållaren <resource-group-name> med namnet på resursgruppen där JBoss EAP-klustret distribueras. Kontrollera att miljövariabeln $RG_NAME har angetts med namnet på resursgruppen där postgreSQL–flexibel server har distribuerats.

az group delete --name <resource-group-name> --yes --no-wait
az group delete --name $RG_NAME --yes --no-wait

Nästa steg

Läs mer om dina alternativ för att distribuera JBoss EAP på Azure: