Megosztás a következőn keresztül:


Oktatóanyag: JBoss EAP manuális telepítése Azure-beli virtuális gépekre (virtuális gépekre)

Ez az oktatóanyag bemutatja a Red Hat JBoss Enterprise Application Platform (EAP) telepítésének és a fürtök tartomány módban történő konfigurálását azure-beli virtuális gépeken (VM-en) a Red Hat Enterprise Linuxon (RHEL).

Ebben az oktatóanyagban megtanulhatja, hogyan végezheti el a következő feladatokat:

  • Hozzon létre egy egyéni virtuális hálózatot, és hozza létre a virtuális gépeket a hálózaton belül.
  • Telepítse a kívánt JDK-t és Red Hat JBoss EAP-t a virtuális gépekre a parancssor manuális használatával.
  • Red Hat JBoss EAP-fürt konfigurálása tartomány módban a parancssori felület (CLI) használatával.
  • Konfiguráljon egy PostgreSQL-adatforrás-kapcsolatot a fürtben.
  • Java EE-mintaalkalmazás üzembe helyezése és futtatása a fürtben.
  • Tegye elérhetővé az alkalmazást a nyilvános interneten Azure-alkalmazás Gatewayen keresztül.
  • Ellenőrizze a sikeres konfigurációt.

Ha olyan teljesen automatizált megoldást szeretne, amely az Összes lépést az Ön nevében hajtja végre GNU/Linux rendszerű virtuális gépeken, közvetlenül az Azure Portalról, olvassa el a rövid útmutatót: JBoss EAP-fürt üzembe helyezése Azure-beli virtuális gépeken (virtuális gépeken).

Ha szeretne visszajelzést küldeni, vagy szorosan együttműködni a migrálási forgatókönyvekkel a JBoss EAP Azure-megoldásokon fejlesztő mérnöki csapatával, töltse ki ezt a rövid felmérést a JBoss EAP migrálásáról , és adja meg a kapcsolattartási adatait. A programmenedzserek, építészek és mérnökök csapata azonnal kapcsolatba lép Önnel, hogy szoros együttműködést kezdeményezze.

Feljegyzés

Ebben a cikkben szerepel a slave (alárendelt) kifejezés, amelyet a Microsoft már nem használ. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk ebből a cikkből.

Előfeltételek

  • Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, első lépésként mindössze néhány perc alatt létrehozhat egy ingyenes fiókot.

  • Az Azure CLI-parancsok futtatásához telepítse az Azure CLI 2.51.0-s vagy újabb verzióját.

    • Ha a rendszer kéri, az első használatkor telepítse az Azure CLI-bővítményeket. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
    • Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
  • Győződjön meg arról, hogy rendelkezik a szükséges Red Hat-licencekkel. Red Hat JBoss EAP-jogosultsággal rendelkező Red Hat-fiókkal (RHSM) kell rendelkeznie. Ez a jogosultság lehetővé teszi, hogy a teljes mértékben automatizált megoldás ( rövid útmutató: JBoss EAP-fürt üzembe helyezése azure-beli virtuális gépeken )) telepítse a Red Hat tesztelt és minősített JBoss EAP-verzióját.

    Feljegyzés

    Ha nem rendelkezik EAP-jogosultságokkal, regisztrálhat egy ingyenes fejlesztői előfizetésre a Red Hat Developer Subscription for Individuals használatával. Mentse a következő szakaszban az RHSM-felhasználónévként és RHSM-jelszóként használt fiókadatokat.

  • Ha már regisztrált, vagy a regisztráció befejezése után az alábbi lépések végrehajtásával megtalálhatja a szükséges hitelesítő adatokat (készletazonosítókat). A rendszer ezeket a készletazonosítókat is használja az RHSM-készlet azonosítójaként EAP-jogosultsággal a következő lépésekben.

    1. Jelentkezzen be Red Hat-fiókjába.

    2. Amikor először jelentkezik be, a rendszer kérni fogja, hogy fejezze be a profilját. A használattól függően válassza a Személyes vagy a Vállalatifióktípus lehetőséget az alábbi képernyőképen látható módon:

      Képernyőkép a Red Hat-fiók ablakáról, amely a Személyes beállításokkal rendelkező fióktípus-beállításokat jeleníti meg.

    3. Nyissa meg a Red Hat Developer Subscription for Individuals előfizetést. Ez a hivatkozás a fiókjában található összes előfizetésre viszi a megfelelő termékváltozathoz.

    4. A Minden megvásárolt előfizetés tábla vezérlőelemeinek sorában válassza az Aktív lehetőséget.

    5. Válassza ki a rendezhető oszlopfejlécet a Záró dátumhoz, amíg a jövőben a legtávolabbi érték nem jelenik meg első sorként.

    6. Válassza ki az első sort. Ezután másolja és mentse el a készletazonosítókból származó főkészletek utáni értéket.

  • A Java Development Kit (JDK), 11-es verzió. Ebben az útmutatóban az OpenJDK Red Hat Buildjének használatát javasoljuk. Győződjön meg arról, hogy a JAVA_HOME környezeti változó megfelelően van beállítva azokban a rendszerhéjakban, amelyekben a parancsokat futtatja.

  • Git; használható git --version annak tesztelésére, hogy működik-e git . Ezt az oktatóanyagot a 2.25.1-es verzióval teszteltük.

  • Maven; annak tesztelésére használható mvn -version , hogy működik-e mvn . Ezt az oktatóanyagot a 3.6.3-es verzióval teszteltük.

A környezet előkészítése

Ebben a szakaszban beállítja azt az infrastruktúrát, amelyen belül telepíti a JDK-t, a Red Hat JBoss EAP-t és a PostgreSQL Java Database Connectivity (JDBC) illesztőt.

Feltételezések

Ez az oktatóanyag egy Red Hat JBoss EAP-fürtöt konfigurál tartományi módban egy felügyeleti kiszolgálóval és két felügyelt kiszolgálóval összesen három virtuális gépen. A fürt konfigurálásához a következő három Azure-beli virtuális gépet kell létrehoznia:

  • Egy rendszergazdai virtuális gép (virtuális gép neve adminVM) tartományvezérlőként fut.
  • Két felügyelt virtuális gép (virtuális gép neve mspVM1 és mspVM2) fut gazdavezérlőként.

Bejelentkezés az Azure-ba

Ha még nem tette meg, jelentkezzen be az Azure-előfizetésbe az az login paranccsal, és kövesse a képernyőn megjelenő utasításokat.

az login

Feljegyzés

Ha több Azure-bérlő van társítva az Azure-beli hitelesítő adataihoz, meg kell adnia, hogy melyik bérlőbe szeretne bejelentkezni. Ezt a beállítással --tenant teheti meg. Például: az login --tenant contoso.onmicrosoft.com.

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot az az group create paranccsal. Az erőforráscsoportok nevének globálisan egyedinek kell lennie egy előfizetésen belül. Ezért érdemes lehet elővenni néhány egyedi azonosítót a létrehozott nevekre, amelyeknek egyedinek kell lenniük. Egy hasznos technika a monogramok használata, amelyet a mai dátum mmdd követ formátumban. Ez a példa létrehoz egy erőforráscsoportot abc1110rg a westus következő helyen:

az group create \
    --name abc1110rg \
    --location westus

Virtuális hálózat létrehozása

A Red Hat JBoss EAP-fürtből álló erőforrásoknak virtuális hálózat használatával kell kommunikálniuk egymással és a nyilvános internettel. A virtuális hálózat tervezésének teljes útmutatóját az Azure-beli útmutató virtuális hálózatok tervezése című felhőadaptálási keretrendszer találja. További információkért tekintse meg az Azure Virtual Network gyakori kérdéseit.

A jelen szakaszban szereplő példa létrehoz egy virtuális hálózatot címtérrel 192.168.0.0/16 , és létrehoz egy virtuális gépekhez használt alhálózatot.

Először hozzon létre egy virtuális hálózatot az az network vnet create használatával. Az alábbi példa létrehoz egy hálózatot myVNet:

az network vnet create \
    --resource-group abc1110rg \
    --name myVNet \
    --address-prefixes 192.168.0.0/24

Hozzon létre egy alhálózatot a Red Hat JBoss EAP-fürthöz az az network vnet subnet create használatával. Az alábbi példa egy alhálózatot mySubnethoz létre:

az network vnet subnet create \
    --resource-group abc1110rg \
    --name mySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.0/25

Alhálózat létrehozása az Application Gatewayhez az az network vnet subnet create használatával. Az alábbi példa egy alhálózatot jbossVMGatewaySubnethoz létre:

az network vnet subnet create \
    --resource-group abc1110rg \
    --name jbossVMGatewaySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.128/25

Hálózati biztonsági csoport létrehozása és alhálózatok hozzárendelése hozzá

Mielőtt nyilvános IP-címekkel hoz létre virtuális gépeket, hozzon létre egy hálózati biztonsági csoportot (NSG) a korábban létrehozott virtuális hálózat és alhálózatok védelméhez.

Hozzon létre egy hálózati biztonsági csoportot az az network nsg create használatával. Az alábbi példa létrehoz egy hálózati biztonsági csoportot:mynsg

az network nsg create \
    --resource-group abc1110rg \
    --name mynsg

Hozzon létre hálózati biztonsági csoportszabályokat az az network nsg rule create használatával. Az alábbi példa létrehozza a hálózati biztonsági csoport neve és ALLOW_HTTP_ACCESSnevesített ALLOW_APPGW szabályait. Ezek a szabályok lehetővé teszik, hogy az App Gateway fogadja a Bejövő forgalmat a Red Hat JBoss EAP által használt HTTP-portokon:

az network nsg rule create \
    --resource-group abc1110rg \
    --nsg-name mynsg \
    --name ALLOW_APPGW \
    --protocol Tcp \
    --destination-port-ranges 65200-65535 \
    --source-address-prefix GatewayManager \
    --destination-address-prefix '*' \
    --access Allow \
    --priority 500 \
    --direction Inbound

az network nsg rule create \
    --resource-group abc1110rg \
    --nsg-name mynsg \
    --name ALLOW_HTTP_ACCESS \
    --protocol Tcp \
    --destination-port-ranges 22 80 443 9990 8080 \
    --source-address-prefix Internet \
    --destination-address-prefix '*' \
    --access Allow \
    --priority 510 \
    --direction Inbound

Társítsa a korábban létrehozott alhálózatokat ehhez a hálózati biztonsági csoporthoz az az network vnet subnet update használatával, ahogyan az az alábbi példában látható:

az network vnet subnet update \
    --resource-group abc1110rg \
    --vnet-name myVNet \
    --name mySubnet \
    --network-security-group mynsg

az network vnet subnet update \
    --resource-group abc1110rg \
    --vnet-name myVNet \
    --name jbossVMGatewaySubnet \
    --network-security-group mynsg

Red Hat Enterprise Linux-gép létrehozása rendszergazda számára

A rendszergazdai virtuális gép létrehozása

A virtuális gépek létrehozásához használt Marketplace-rendszerkép az RedHat:rhel-raw:86-gen2:latest. További képekért tekintse meg az Azure-ban elérhető Red Hat Enterprise Linux (RHEL) rendszerképeket.

Feljegyzés

A Red Hat által biztosított összes elérhető Red Hat Enterprise Linux-rendszerképet lekérdezheti az az vm image list paranccsal – például: az vm image list --offer RHEL --publisher RedHat --output table --all. További információ: A Red Hat Enterprise Linux rendszerképeinek áttekintése.

Ha másik rendszerképet használ, előfordulhat, hogy további kódtárakat kell telepítenie az útmutatóban használt infrastruktúra engedélyezéséhez.

Hozzon létre egy alapszintű virtuális gépet, telepítse az összes szükséges eszközt, készítsen róla pillanatképet, majd hozzon létre replikákat a pillanatkép alapján.

Hozzon létre egy virtuális gépet az az vm create paranccsal. A felügyeleti kiszolgálót ezen a virtuális gépen futtatja.

Az alábbi példa egy Red Hat Enterprise Linux rendszerű virtuális gépet hoz létre a hitelesítéshez felhasználónév és jelszópár használatával. Ha szükséges, tLS-/SSL-hitelesítést is használhat.

az vm create \
    --resource-group abc1110rg \
    --name adminVM \
    --image RedHat:rhel-raw:86-gen2:latest \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-sku Standard \
    --nsg mynsg \
    --vnet-name myVnet \
    --subnet mySubnet

Az OpenJDK 11 és a Red Hat JBoss EAP 7.4 telepítése

A telepítéshez kövesse az alábbi lépéseket:

  1. A következő paranccsal kérje le a nyilvános IP-címet adminVM:

    export ADMIN_VM_PUBLIC_IP=$(az vm show \
        --resource-group abc1110rg \
        --name adminVM \
        --show-details \
        --query publicIps | tr -d '"')
    
  2. Nyisson meg egy terminált és egy SSH-t a adminVM következő paranccsal:

    ssh azureuser@$ADMIN_VM_PUBLIC_IP
    
  3. Adja meg Secret123456 a jelszót.

  4. A következő paranccsal konfigurálja a portok tűzfalát:

    sudo firewall-cmd --zone=public --add-port={9999/tcp,8443/tcp,8009/tcp,8080/tcp,9990/tcp,9993/tcp,45700/tcp,7600/tcp} --permanent
    sudo firewall-cmd --reload
    sudo iptables-save
    

    Az első két parancs után látnia kell a szót success . A harmadik parancs után az alábbi példához hasonló kimenetnek kell megjelennie:

    # Generated by iptables-save v1.8.4 on Wed Mar 29 22:39:23 2023
    *filter
    :INPUT ACCEPT [20:3546]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [24:5446]
    COMMIT
    # Completed on Wed Mar 29 22:39:23 2023
    # Generated by iptables-save v1.8.4 on Wed Mar 29 22:39:23 2023
    *security
    :INPUT ACCEPT [19:3506]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [5:492]
    -A OUTPUT -d 168.63.129.16/32 -p tcp -m tcp --dport 53 -j ACCEPT
    -A OUTPUT -d 168.63.129.16/32 -p tcp -m tcp --dport 53 -j ACCEPT
    -A OUTPUT -d 168.63.129.16/32 -p tcp -m owner --uid-owner 0 -j ACCEPT
    -A OUTPUT -d 168.63.129.16/32 -p tcp -m conntrack --ctstate INVALID,NEW -j DROP
    COMMIT
    # Completed on Wed Mar 29 22:39:23 2023
    # Generated by iptables-save v1.8.4 on Wed Mar 29 22:39:23 2023
    *raw
    :PREROUTING ACCEPT [20:3546]
    :OUTPUT ACCEPT [24:5446]
    COMMIT
    # Completed on Wed Mar 29 22:39:23 2023
    # Generated by iptables-save v1.8.4 on Wed Mar 29 22:39:23 2023
    *mangle
    :PREROUTING ACCEPT [20:3546]
    :INPUT ACCEPT [20:3546]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [24:5446]
    :POSTROUTING ACCEPT [24:5446]
    COMMIT
    # Completed on Wed Mar 29 22:39:23 2023
    # Generated by iptables-save v1.8.4 on Wed Mar 29 22:39:23 2023
    *nat
    :PREROUTING ACCEPT [1:40]
    :INPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [4:240]
    :OUTPUT ACCEPT [4:240]
    COMMIT
    # Completed on Wed Mar 29 22:39:23 2023
    
  5. A következő parancsokkal regisztrálhatja a rendszergazdai gazdagépet a Red Hat Subscription Management (RHSM) fiókjában:

    export RHSM_USER=<your-rhsm-username>
    export RHSM_PASSWORD='<your-rhsm-password>'
    export EAP_POOL=<your-rhsm-pool-ID>
    
    sudo subscription-manager register --username ${RHSM_USER} --password ${RHSM_PASSWORD} --force
    

    A következő példához hasonló kimenetnek kell megjelennie:

    Registering to: subscription.rhsm.redhat.com:443/subscription
    The system has been registered with ID: redacted
    The registered system name is: adminVM
    
  6. A következő paranccsal csatolja a rendszergazdai gazdagépet a Red Hat JBoss EAP-készlethez:

    sudo subscription-manager attach --pool=${EAP_POOL}
    

    Feljegyzés

    Ez a parancs figyelmen kívül lesz hagyva, ha egyszerű tartalomelérési módot használ.

  7. Az OpenJDK 11 telepítéséhez használja a következő parancsot:

    sudo yum install java-11-openjdk -y
    

    Számos sornyi kimenetnek kell megjelennie, és a következővel kell végződnie: Complete!

  8. A Red Hat JBoss EAP 7.4 telepítéséhez használja az alábbi parancsokat:

    sudo subscription-manager repos --enable=jb-eap-7.4-for-rhel-8-x86_64-rpms
    sudo yum update -y --disablerepo='*' --enablerepo='*microsoft*'
    sudo yum groupinstall -y jboss-eap7
    

    A második és a harmadik parancs esetében több sornyi kimenetnek kell megjelennie, Complete!

  9. A következő parancsokkal állíthatja be az engedélyeket és a hálózati konfigurációkat:

    sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
    echo 'AllowTcpForwarding no' | sudo tee -a /etc/ssh/sshd_config
    sudo systemctl restart sshd
    
  10. A környezeti változók konfigurálásához használja az alábbi parancsokat:

    echo 'export EAP_RPM_CONF_DOMAIN="/etc/opt/rh/eap7/wildfly/eap7-domain.conf"' >> ~/.bash_profile
    echo 'export EAP_HOME="/opt/rh/eap7/root/usr/share"' >> ~/.bash_profile
    source ~/.bash_profile
    sudo touch /etc/profile.d/eap_env.sh
    echo 'export EAP_HOME="/opt/rh/eap7/root/usr/share"' | sudo tee -a /etc/profile.d/eap_env.sh
    
  11. Kilépés az SSH-kapcsolatból a kilépés beírásával.

Gépek létrehozása felügyelt kiszolgálókhoz

Telepítette az OpenJDK 11-et és a Red Hat JBoss EAP 7.4-et adminVM, amely tartományvezérlő-kiszolgálóként fut. Továbbra is elő kell készítenie a gépeket a két gazdavezérlő-kiszolgáló futtatására. Ezután létrehoz egy pillanatképet adminVM , és előkészíti a gépeket két felügyelt egységre, mspVM1 és mspVM2előkészíti a gépeket.

Ez a szakasz a gépek pillanatképével való előkészítésének megközelítését adminVMmutatja be. Térjen vissza az Azure CLI-vel bejelentkezett terminálra, majd kövesse az alábbi lépéseket:

  1. Állítsa le adminVMa következő parancsot:

    az vm stop --resource-group abc1110rg --name adminVM
    
  2. Az az snapshot create használatával készítsen pillanatképet az adminVM operációsrendszer-lemezről az alábbi példában látható módon:

    export ADMIN_OS_DISK_ID=$(az vm show \
        --resource-group abc1110rg \
        --name adminVM \
        --query storageProfile.osDisk.managedDisk.id \
        --output tsv)
    az snapshot create \
        --resource-group abc1110rg \
        --name myAdminOSDiskSnapshot \
        --source ${ADMIN_OS_DISK_ID}
    
  3. Az indításhoz adminVMhasználja a következő parancsot:

    az vm start --resource-group abc1110rg --name adminVM
    
    
  4. A létrehozáshoz mspVM1kövesse az alábbi lépéseket:

    1. Először hozzon létre egy felügyelt lemezt az mspVM1az disk create használatával:

      #Get the snapshot ID
      export SNAPSHOT_ID=$(az snapshot show \
          --name myAdminOSDiskSnapshot \
          --resource-group abc1110rg \
          --query '[id]' \
          --output tsv)
      
      #Create a new Managed Disks using the snapshot Id
      #Note that managed disk is created in the same location as the snapshot
      az disk create \
          --resource-group abc1110rg \
          --name mspVM1_OsDisk_1 \
          --source ${SNAPSHOT_ID}
      
    2. Ezután az alábbi parancsokkal hozzon létre virtuális gépet mspVM1, és csatolja az operációsrendszer-lemezt mspVM1_OsDisk_1:

      #Get the resource Id of the managed disk
      export MSPVM1_DISK_ID=$(az disk show \
          --name mspVM1_OsDisk_1 \
          --resource-group abc1110rg \
          --query '[id]' \
          --output tsv)
      
      #Create VM by attaching existing managed disks as OS
      az vm create \
          --resource-group abc1110rg \
          --name mspVM1 \
          --attach-os-disk ${MSPVM1_DISK_ID} \
          --os-type linux \
          --public-ip-sku Standard \
          --nsg mynsg \
          --vnet-name myVnet \
          --subnet mySubnet
      
    3. Az OpenJDK 11 és a Red Hat JBoss EAP 7.4 telepítésével jött létre mspVM1 . Mivel a virtuális gép az adminVM operációsrendszer-lemez pillanatképéből lett létrehozva, a két virtuális gép ugyanazzal a gazdagépnévvel rendelkezik. Az az vm run-command invoke paranccsal módosítsa a gazdagép nevét az értékremspVM1:

      az vm run-command invoke \
          --resource-group abc1110rg \
          --name mspVM1 \
          --command-id RunShellScript \
          --scripts "sudo hostnamectl set-hostname mspVM1"
      

      Ha a parancs sikeresen befejeződött, az alábbi példához hasonló kimenet jelenik meg:

      {
          "value": [
              {
              "code": "ProvisioningState/succeeded",
              "displayStatus": "Provisioning succeeded",
              "level": "Info",
              "message": "Enable succeeded: \n[stdout]\n\n[stderr]\n",
              "time": null
              }
          ]
      }
      
  5. Az alábbi parancsok használatával hozza létre mspVM2a következőt:

    #Create a new Managed Disks for mspVM2
    az disk create \
        --resource-group abc1110rg \
        --name mspVM2_OsDisk_1 \
        --source ${SNAPSHOT_ID}
    
    #Get the resource Id of the managed disk
    export MSPVM2_DISK_ID=$(az disk show \
        --name mspVM2_OsDisk_1 \
        --resource-group abc1110rg \
        --query '[id]' \
        --output tsv)
    
    #Create VM by attaching existing managed disks as OS
    az vm create \
        --resource-group abc1110rg \
        --name mspVM2 \
        --attach-os-disk ${MSPVM2_DISK_ID} \
        --os-type linux \
        --public-ip-sku Standard \
        --nsg mynsg \
        --vnet-name myVnet \
        --subnet mySubnet
    
    #Set hostname
    az vm run-command invoke \
        --resource-group abc1110rg \
        --name mspVM2 \
        --command-id RunShellScript \
        --scripts "sudo hostnamectl set-hostname mspVM2"
    

A következő parancsokkal lekérheti és megjelenítheti a privát IP-címeket, amelyeket a későbbi szakaszokban használ:

export ADMINVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export ADMINVM_IP=$(az network nic show \
    --ids ${ADMINVM_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM1_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
echo "Private IP of adminVM: ${ADMINVM_IP}"
echo "Private IP of mspVM1: ${MSPVM1_IP}"
echo "Private IP of mspVM2: ${MSPVM2_IP}"

Most mind a három gép készen áll. Ezután konfigurálja a Red Hat JBoss EAP-fürtöt felügyelt tartomány módban.

Felügyelt tartomány és fürt konfigurálása

Konfigurálja a fürtöt úgy, hogy engedélyezve van a munkamenet-replikáció. További információ: Munkamenet-replikáció.

A munkamenet-replikáció engedélyezéséhez használja a Red Hat JBoss EAP magas rendelkezésre állását a fürthöz. A Microsoft Azure nem támogatja a csoportos küldésen alapuló JGroups felderítési protokollokat. Bár használhat más JGroups felderítési protokollokat (például statikus konfigurációt (TCPPING), megosztott adatbázist (JDBC_PING), megosztott fájlrendszer-alapú pinget (FILE_PINGvagy TCPGOSSIP), erősen javasoljuk, hogy az Azure-hoz kifejlesztett megosztott fájlfelderítési protokollt használja: AZURE_PING. További információ: A JBoss EAP magas rendelkezésre állásának használata a Microsoft Azure-ban.

Azure Storage-fiók és Blob-tároló létrehozása AZURE_PING

Tárfiók és Blob-tároló létrehozásához használja az alábbi parancsokat:

# Define your storage account name
export STORAGE_ACCOUNT_NAME=azurepingstgabc1110rg
# Define your Blob container name
export CONTAINER_NAME=azurepingcontainerabc1110rg

# Create storage account
az storage account create \
    --resource-group abc1110rg \
    --name ${STORAGE_ACCOUNT_NAME} \
    --location westus \
    --sku Standard_LRS \
    --kind StorageV2 \
    --access-tier Hot

Ezután a következő paranccsal kérje le a tárfiók kulcsát későbbi használatra. Ha hibaüzenetet lát, várjon néhány percet, és próbálkozzon újra. Előfordulhat, hogy a tárfiók létrehozására szolgáló előző parancs még nem készült el.

export STORAGE_ACCESS_KEY=$(az storage account keys list \
    --resource-group abc1110rg \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --query "[0].value" \
    --output tsv)

# Create blob container
az storage container create \
    --name ${CONTAINER_NAME} \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --account-key ${STORAGE_ACCESS_KEY}

A következő kimenetnek kell megjelennie:

{
  "created": true
}

Tartományvezérlő konfigurálása (rendszergazdai csomópont)

Ez az oktatóanyag a Red Hat JBoss EAP felügyeleti PARANCSSOR-parancsaival konfigurálja a tartományvezérlőt. További információ: Felügyeleti parancssori felület – útmutató.

Az alábbi lépések a tartományvezérlő konfigurálásának beállítását ismertetik.adminVM Az SSH használatával csatlakozhat a adminVM felhasználóhoz azureuser . Ne feledje, hogy a nyilvános IP-címet adminVM korábban rögzítették a ADMIN_VM_PUBLIC_IP környezeti változóban.

ssh azureuser@$ADMIN_VM_PUBLIC_IP

Először a következő parancsokkal konfigurálja a HA-profilt és a JGroup-csoportokat a AZURE_PING protokoll használatával:

export HOST_VM_IP=$(hostname -I)
export STORAGE_ACCOUNT_NAME=azurepingstgabc1110rg
export CONTAINER_NAME=azurepingcontainerabc1110rg
export STORAGE_ACCESS_KEY=<the-value-from-before-you-connected-with-SSH>


#-Configure the HA profile and JGroups using AZURE_PING protocol
sudo -u jboss $EAP_HOME/wildfly/bin/jboss-cli.sh --echo-command \
'embed-host-controller --std-out=echo --domain-config=domain.xml --host-config=host-master.xml',\
':write-attribute(name=name,value=domain1)',\
'/profile=ha/subsystem=jgroups/stack=tcp:remove',\
'/profile=ha/subsystem=jgroups/stack=tcp:add()',\
'/profile=ha/subsystem=jgroups/stack=tcp/transport=TCP:add(socket-binding=jgroups-tcp,properties={ip_mcast=false})',\
"/profile=ha/subsystem=jgroups/stack=tcp/protocol=azure.AZURE_PING:add(properties={storage_account_name=\"${STORAGE_ACCOUNT_NAME}\", storage_access_key=\"${STORAGE_ACCESS_KEY}\", container=\"${CONTAINER_NAME}\"})",\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=MERGE3:add',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=FD_SOCK:add(socket-binding=jgroups-tcp-fd)',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=FD_ALL:add',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=VERIFY_SUSPECT:add',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=pbcast.NAKACK2:add(properties={use_mcast_xmit=false,use_mcast_xmit_req=false})',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=UNICAST3:add',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=pbcast.STABLE:add',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=pbcast.GMS:add',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=MFC:add',\
'/profile=ha/subsystem=jgroups/stack=tcp/protocol=FRAG3:add',\
'/profile=ha/subsystem=jgroups/channel=ee:write-attribute(name="stack", value="tcp")',\
'/server-group=main-server-group:write-attribute(name="profile", value="ha")',\
'/server-group=main-server-group:write-attribute(name="socket-binding-group", value="ha-sockets")',\
"/host=master/subsystem=elytron/http-authentication-factory=management-http-authentication:write-attribute(name=mechanism-configurations,value=[{mechanism-name=DIGEST,mechanism-realm-configurations=[{realm-name=ManagementRealm}]}])",\
"/host=master/interface=unsecure:add(inet-address=${HOST_VM_IP})",\
"/host=master/interface=management:write-attribute(name=inet-address, value=${HOST_VM_IP})",\
"/host=master/interface=public:add(inet-address=${HOST_VM_IP})"

# Save a copy of the domain.xml, later you need to share it with all host controllers
cp $EAP_HOME/wildfly/domain/configuration/domain.xml /tmp/domain.xml

A kimenet utolsó stanza-jának az alábbi példához hasonlóan kell kinéznie. Ha nem, a folytatás előtt hárítsa el és oldja meg a problémát.

[domain@embedded /] /host=master/interface=public:add(inet-address=192.168.0.4 )
{
    "outcome" => "success",
    "result" => undefined,
    "server-groups" => undefined,
    "response-headers" => {"process-state" => "reload-required"}
}
02:05:55,019 INFO  [org.jboss.as] (MSC service thread 1-1) WFLYSRV0050: JBoss EAP 7.4.10.GA (WildFly Core 15.0.25.Final-redhat-00001) stopped in 28ms

Ezután a következő parancsokkal konfigurálja a JBoss-kiszolgálót, és állítsa be az EAP szolgáltatást:

# Configure the JBoss server and setup EAP service
echo 'WILDFLY_HOST_CONFIG=host-master.xml' | sudo tee -a $EAP_RPM_CONF_DOMAIN

# Configure JBoss EAP management user
export JBOSS_EAP_USER=jbossadmin
export JBOSS_EAP_PASSWORD=Secret123456
sudo $EAP_HOME/wildfly/bin/add-user.sh  -u $JBOSS_EAP_USER -p $JBOSS_EAP_PASSWORD -g 'guest,mgmtgroup'

A kimenetnek a következőképpen kell kinéznie:

Added user 'jbossadmin' to file '/etc/opt/rh/eap7/wildfly/standalone/mgmt-users.properties'
Added user 'jbossadmin' to file '/etc/opt/rh/eap7/wildfly/domain/mgmt-users.properties'
Added user 'jbossadmin' with groups guest,mgmtgroup to file '/etc/opt/rh/eap7/wildfly/standalone/mgmt-groups.properties'
Added user 'jbossadmin' with groups guest,mgmtgroup to file '/etc/opt/rh/eap7/wildfly/domain/mgmt-groups.properties'

Végül az alábbi parancsokkal indítsa el az EAP szolgáltatást:

# Start the JBoss server and setup EAP service
sudo systemctl enable eap7-domain.service

# Edit eap7-domain.services
sudo sed -i 's/After=syslog.target network.target/After=syslog.target network.target NetworkManager-wait-online.service/' /usr/lib/systemd/system/eap7-domain.service
sudo sed -i 's/Before=httpd.service/Wants=NetworkManager-wait-online.service \nBefore=httpd.service/' /usr/lib/systemd/system/eap7-domain.service

# Reload and restart EAP service
sudo systemctl daemon-reload
sudo systemctl restart eap7-domain.service

# Check the status of EAP service
systemctl status eap7-domain.service

A kimenetnek a következőképpen kell kinéznie:

● eap7-domain.service - JBoss EAP (domain mode)
   Loaded: loaded (/usr/lib/systemd/system/eap7-domain.service; enabled; vendor>
   Active: active (running) since Thu 2023-03-30 02:11:44 UTC; 5s ago
 Main PID: 3855 (scl)
    Tasks: 82 (limit: 20612)
   Memory: 232.4M
   CGroup: /system.slice/eap7-domain.service
           ├─3855 /usr/bin/scl enable eap7 -- /opt/rh/eap7/root/usr/share/wildf>
           ├─3856 /bin/bash /var/tmp/sclfYu7yW
           ├─3858 /bin/sh /opt/rh/eap7/root/usr/share/wildfly/bin/launch.sh /us>
           ├─3862 /bin/sh /opt/rh/eap7/root/usr/share/wildfly/bin/domain.sh --h>
           ├─3955 /usr/lib/jvm/jre/bin/java -D[Process Controller] -server -Xms>
           └─3967 /usr/lib/jvm/jre/bin/java -D[Host Controller] -Dorg.jboss.boo>

Mar 30 02:11:44 adminVM systemd[1]: Started JBoss EAP (domain mode).

Írja be a q billentyűt a lapozóból való kilépéshez. Kilépés az SSH-kapcsolatból a kilépés beírásával.

A Red Hat JBoss EAP szolgáltatás elindítása után a felügyeleti konzolt http://$ADMIN_VM_PUBLIC_IP:9990 a webböngészőben érheti el. Jelentkezzen be a konfigurált felhasználónévvel jbossadmin és jelszóval Secret123456.

Képernyőkép a Red Hat JBoss Enterprise Application Platform tartományvezérlő felügyeleti konzoljáról.

Válassza a Futtatókörnyezet lapot. A navigációs panelen válassza a Topológia lehetőséget. Látnia kell, hogy a fürt egyelőre csak egy tartományvezérlőt tartalmaz:

Képernyőkép a Red Hat JBoss Enterprise Alkalmazásplatformról, amely csak tartományvezérlővel jeleníti meg a Futtatókörnyezet lapot és a Topológia panelt.

Gazdagépvezérlők konfigurálása (feldolgozó csomópontok)

Az SSH használatával csatlakozhat mspVM1 felhasználóként azureuser . Kérje le a virtuális gép nyilvános IP-címét a következő paranccsal:

MSPVM_PUBLIC_IP=$(az vm show \
    --resource-group abc1110rg \
    --name mspVM1 \
    --show-details \
    --query publicIps)

ssh azureuser@$MSPVM_PUBLIC_IP

Ne feledje, hogy a jelszó ugyanaz, mint korábban, mivel mspVM1 egyszerűen a klónja adminVM.

A gazdagépvezérlő mspVM1beállításához használja a következő parancsokat:

# environment variables
export DOMAIN_CONTROLLER_PRIVATE_IP=<adminVM-private-IP>
export HOST_VM_NAME=$(hostname)
export HOST_VM_NAME_LOWERCASE=$(echo "${HOST_VM_NAME,,}")
export HOST_VM_IP=$(hostname -I)

export JBOSS_EAP_USER=jbossadmin
export JBOSS_EAP_PASSWORD=Secret123456

# Save default domain configuration as backup
sudo -u jboss mv $EAP_HOME/wildfly/domain/configuration/domain.xml $EAP_HOME/wildfly/domain/configuration/domain.xml.backup

# Fetch domain.xml from domain controller
sudo -u jboss scp azureuser@${DOMAIN_CONTROLLER_PRIVATE_IP}:/tmp/domain.xml $EAP_HOME/wildfly/domain/configuration/domain.xml

A rendszer a kapcsolat jelszavát kéri. Ebben a példában a jelszó a Secret123456.

A következő parancsokkal alkalmazza a gazdagépvezérlő módosításait a következőre mspVM1:

# Setup host controller
sudo -u jboss $EAP_HOME/wildfly/bin/jboss-cli.sh --echo-command \
"embed-host-controller --std-out=echo --domain-config=domain.xml --host-config=host-slave.xml",\
"/host=${HOST_VM_NAME_LOWERCASE}/server-config=server-one:remove",\
"/host=${HOST_VM_NAME_LOWERCASE}/server-config=server-two:remove",\
"/host=${HOST_VM_NAME_LOWERCASE}/server-config=${HOST_VM_NAME_LOWERCASE}-server0:add(group=main-server-group)",\
"/host=${HOST_VM_NAME_LOWERCASE}/subsystem=elytron/authentication-configuration=slave:add(authentication-name=${JBOSS_EAP_USER}, credential-reference={clear-text=${JBOSS_EAP_PASSWORD}})",\
"/host=${HOST_VM_NAME_LOWERCASE}/subsystem=elytron/authentication-context=slave-context:add(match-rules=[{authentication-configuration=slave}])",\
"/host=${HOST_VM_NAME_LOWERCASE}:write-attribute(name=domain-controller.remote.username, value=${JBOSS_EAP_USER})",\
"/host=${HOST_VM_NAME_LOWERCASE}:write-attribute(name=domain-controller.remote, value={host=${DOMAIN_CONTROLLER_PRIVATE_IP}, port=9990, protocol=remote+http, authentication-context=slave-context})",\
"/host=${HOST_VM_NAME_LOWERCASE}/core-service=discovery-options/static-discovery=primary:write-attribute(name=host, value=${DOMAIN_CONTROLLER_PRIVATE_IP})",\
"/host=${HOST_VM_NAME_LOWERCASE}/interface=unsecured:add(inet-address=${HOST_VM_IP})",\
"/host=${HOST_VM_NAME_LOWERCASE}/interface=management:write-attribute(name=inet-address, value=${HOST_VM_IP})",\
"/host=${HOST_VM_NAME_LOWERCASE}/interface=public:write-attribute(name=inet-address, value=${HOST_VM_IP})"

A kimenet utolsó stanza-jának az alábbi példához hasonlóan kell kinéznie. Ha nem, a folytatás előtt hárítsa el és oldja meg a problémát.

[domain@embedded /] /host=mspvm1/interface=public:write-attribute(name=inet-address, value=192.168.0.5 )
{
    "outcome" => "success",
    "result" => undefined,
    "server-groups" => undefined,
    "response-headers" => {"process-state" => "reload-required"}
}
02:58:59,388 INFO  [org.jboss.as] (MSC service thread 1-2) WFLYSRV0050: JBoss EAP 7.4.10.GA (WildFly Core 15.0.25.Final-redhat-00001) stopped in 58ms

Ezután a következő parancsokkal konfigurálja a JBoss-kiszolgálót, és állítsa be az EAP szolgáltatást:

echo 'WILDFLY_HOST_CONFIG=host-slave.xml' | sudo tee -a $EAP_RPM_CONF_DOMAIN

# Enable the JBoss server and setup EAP service
sudo systemctl enable eap7-domain.service

# Edit eap7-domain.services
sudo sed -i 's/After=syslog.target network.target/After=syslog.target network.target NetworkManager-wait-online.service/' /usr/lib/systemd/system/eap7-domain.service
sudo sed -i 's/Before=httpd.service/Wants=NetworkManager-wait-online.service \nBefore=httpd.service/' /usr/lib/systemd/system/eap7-domain.service

# Reload and restart EAP service
sudo systemctl daemon-reload
sudo systemctl restart eap7-domain.service

# Check the status of EAP service
systemctl status eap7-domain.service

A kimenetnek a következőképpen kell kinéznie:

● eap7-domain.service - JBoss EAP (domain mode)
   Loaded: loaded (/usr/lib/systemd/system/eap7-domain.service; enabled; vendor>
   Active: active (running) since Thu 2023-03-30 03:02:15 UTC; 7s ago
 Main PID: 9699 (scl)
    Tasks: 51 (limit: 20612)
   Memory: 267.6M
   CGroup: /system.slice/eap7-domain.service
           ├─9699 /usr/bin/scl enable eap7 -- /opt/rh/eap7/root/usr/share/wildf>
           ├─9700 /bin/bash /var/tmp/sclgJ1hRD
           ├─9702 /bin/sh /opt/rh/eap7/root/usr/share/wildfly/bin/launch.sh /us>
           ├─9706 /bin/sh /opt/rh/eap7/root/usr/share/wildfly/bin/domain.sh --h>
           ├─9799 /usr/lib/jvm/jre/bin/java -D[Process Controller] -server -Xms>
           └─9811 /usr/lib/jvm/jre/bin/java -D[Host Controller] -Dorg.jboss.boo>

Mar 30 03:02:15 mspVM1 systemd[1]: Started JBoss EAP (domain mode).

Írja be a q billentyűt a lapozóból való kilépéshez. Kilépés az SSH-kapcsolatból a kilépés beírásával.

Az SSH használatával csatlakozhat mspVM2 felhasználóként azureuser . Kérje le a virtuális gép nyilvános IP-címét a következő paranccsal:

az vm show \
    --resource-group abc1110rg \
    --name mspVM2 \
    --show-details \
    --query publicIps

Ismételje meg az előző lépéseket, mspVM2majd lépjen ki az SSH-kapcsolatból a kilépés beírásával.

Két gazdagépvezérlő csatlakoztatása adminVMután látnia kell a fürttopológiát, ahogyan az alábbi képernyőképen látható:

Képernyőkép a Red Hat JBoss Enterprise Alkalmazásplatformról, amelyen a Futtatókörnyezet lap és a Topológia panel látható az összes gazdagéppel.

Red Hat JBoss EAP-fürt nyilvánosságra helyezése Azure-alkalmazás Átjáróval

Most, hogy létrehozta a fürtöt az Azure-beli virtuális gépeken, ez a szakasz végigvezeti a JBoss EAP internetes Azure-alkalmazás Átjáróval való felfedésén.

A Azure-alkalmazás-átjáró létrehozása

Ahhoz, hogy a Red Hat JBoss EAP elérhető legyen az interneten, nyilvános IP-cím szükséges. Hozza létre a nyilvános IP-címet, majd társítson hozzá egy Azure-alkalmazás átjárót. Hozza létre az az network public-ip create használatával, ahogy az a következő példában is látható:

az network public-ip create \
    --resource-group abc1110rg \
    --name myAGPublicIPAddress \
    --allocation-method Static \
    --sku Standard

Ezután adja hozzá a háttérkiszolgálót az Application Gateway háttérkészletéhez. A háttérbeli IP-címek lekérdezése az alábbi parancsokkal. A gazdavezérlők (munkahelyi csomópontok) csak háttérkiszolgálóként vannak konfigurálva.

export MSPVM1_NIC_ID=$(az vm show \
    --resource-group abc1110rg \
    --name mspVM1 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group abc1110rg \
    --name mspVM2 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)

Ezután hozzon létre egy Azure-alkalmazás-átjárót. Az alábbi példa létrehoz egy application gatewayt az alapértelmezett háttérkészlet gazdavezérlőivel:

az network application-gateway create \
    --resource-group abc1110rg \
    --name myAppGateway \
    --public-ip-address myAGPublicIPAddress \
    --location westus \
    --capacity 2 \
    --http-settings-port 8080 \
    --http-settings-protocol Http \
    --frontend-port 80 \
    --sku Standard_V2 \
    --subnet jbossVMGatewaySubnet \
    --vnet-name myVNet \
    --priority 1001 \
    --servers ${MSPVM1_IP} ${MSPVM2_IP}

Feljegyzés

Ez a példa egyszerű hozzáférést állít be a Red Hat JBoss EAP-kiszolgálókhoz HTTP-vel. Ha biztonságos hozzáférést szeretne, konfigurálja a TLS/SSL-megszakítást az Application Gateway teljes körű TLS-jének utasításait követve.

Ez a példa a 8080-s porton teszi elérhetővé a gazdagépvezérlőket. A későbbi lépésekben egy adatbázis-kapcsolattal rendelkező mintaalkalmazást telepíthet a fürthöz.

Az Azure Database for PostgreSQL csatlakoztatása

Ez a szakasz bemutatja, hogyan hozhat létre PostgreSQL-példányt az Azure-ban, és hogyan konfigurálhat kapcsolatot a PostgreSQL-hez a Red Hat JBoss EAP-fürtön.

Azure Database for PostgreSQL-példány létrehozása

Az adatbázispéldány létrehozásához kövesse az alábbi lépéseket:

  1. Az az postgres server create használatával hozzon létre egy PostgreSQL-példányt az Azure-ban, ahogyan az a következő példában látható:

    export DATA_BASE_USER=jboss
    export DATA_BASE_PASSWORD=Secret123456
    
    DB_SERVER_NAME="jbossdb$(date +%s)"
    echo "DB_SERVER_NAME=${DB_SERVER_NAME}"
    az postgres flexible-server create \
        --resource-group abc1110rg \
        --name ${DB_SERVER_NAME}  \
        --location westus \
        --admin-user ${DATA_BASE_USER} \
        --admin-password ${DATA_BASE_PASSWORD} \
        --version 16 \
        --public-access 0.0.0.0 \
        --tier Burstable \
        --sku-name Standard_B1ms \
        --yes
    
  2. Az Azure-szolgáltatásokból való hozzáférés engedélyezéséhez használja az alábbi parancsokat:

    # Save aside the following names for later use
    export fullyQualifiedDomainName=$(az postgres flexible-server show \
        --resource-group abc1110rg \
        --name ${DB_SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    export name=$(az postgres flexible-server show \
        --resource-group abc1110rg \
        --name ${DB_SERVER_NAME} \
        --query "name" \
        --output tsv)
    
    az postgres flexible-server firewall-rule create \
        --resource-group abc1110rg \
        --name ${DB_SERVER_NAME} \
        --rule-name "AllowAllWindowsAzureIps" \
        --start-ip-address "0.0.0.0" \
        --end-ip-address "0.0.0.0"
    
  3. Az adatbázis létrehozásához használja a következő parancsot:

    az postgres flexible-server db create \
        --resource-group abc1110rg \
        --server-name ${DB_SERVER_NAME} \
        --database-name testdb
    

Illesztőprogram telepítése

Az alábbi lépésekkel telepítheti a JDBC-illesztőprogramot a JBoss felügyeleti parancssori felületével. A Red Hat JBoss EAP JDBC-illesztőprogramjaival kapcsolatos további információkért lásd : JDBC-illesztőprogram telepítése JAR-telepítésként.

  1. SSH-hoz adminVM az alábbi paranccsal. Ezt a lépést kihagyhatja, ha már megnyitotta a kapcsolatot.

    ssh azureuser@$ADMIN_VM_PUBLIC_IP
    
  2. A JDBC-illesztőprogram letöltéséhez használja az alábbi parancsokat. Itt postgresql-42.5.2.jar használ. A JDBC-illesztőprogram letöltési helyeiről a Red Hat által biztosított JDBC-illesztőprogram letöltési helyei című témakörben talál további információt.

    jdbcDriverName=postgresql-42.5.2.jar
    sudo curl --retry 5 -Lo /tmp/${jdbcDriverName} https://jdbc.postgresql.org/download/${jdbcDriverName}
    
  3. A JDBC-illesztő üzembe helyezése a következő JBoss CLI-paranccsal:

    sudo -u jboss $EAP_HOME/wildfly/bin/jboss-cli.sh --connect --controller=$(hostname -I) --echo-command \
    "deploy /tmp/${jdbcDriverName} --server-groups=main-server-group"
    

    A kiszolgálónapló a következő helyen mspVM1 található: /var/opt/rh/eap7/lib/wildfly/domain/servers/mspvm1-server0/log/server.logmspVM2 . Ha az üzembe helyezés sikertelen, vizsgálja meg ezt a naplófájlt, és a folytatás előtt oldja meg a problémát.

A Red Hat JBoss EAP-fürt adatbázis-kapcsolatának konfigurálása

Elindította az adatbázis-kiszolgálót, beszerezte a szükséges erőforrás-azonosítót, és telepítette a JDBC-illesztőt. Következő lépésként az ebben a szakaszban ismertetett lépések bemutatják, hogyan konfigurálhat adatforrás-kapcsolatot a korábban létrehozott PostgreSQL-példánysal a JBoss parancssori felülettel.

  1. Nyisson meg egy terminált és egy SSH-t adminVM a következő paranccsal:

    ssh azureuser@$ADMIN_VM_PUBLIC_IP
    
  2. Adatforrás létrehozása az alábbi parancsokkal:

    # Replace the following values with your own
    export DATA_SOURCE_CONNECTION_STRING=jdbc:postgresql://<database-fully-qualified-domain-name>:5432/testdb
    export DATA_BASE_USER=jboss
    export JDBC_DATA_SOURCE_NAME=dataSource-postgresql
    export JDBC_JNDI_NAME=java:jboss/datasources/JavaEECafeDB
    export DATA_BASE_PASSWORD=Secret123456
    export JDBC_DRIVER_NAME=postgresql-42.5.2.jar
    
    sudo -u jboss $EAP_HOME/wildfly/bin/jboss-cli.sh --connect --controller=$(hostname -I) --echo-command \
    "data-source add --driver-name=${JDBC_DRIVER_NAME} --profile=ha --name=${JDBC_DATA_SOURCE_NAME} --jndi-name=${JDBC_JNDI_NAME} --connection-url=${DATA_SOURCE_CONNECTION_STRING} --user-name=${DATA_BASE_USER} --password=${DATA_BASE_PASSWORD}"
    

Sikeresen konfigurált egy java:jboss/datasources/JavaEECafeDB.

Java EE Cafe mintaalkalmazás üzembe helyezése

A Következő lépésekkel telepítheti a Java EE Cafe mintaalkalmazást a Red Hat JBoss EAP-fürtön:

  1. A Java EE Cafe létrehozásához kövesse az alábbi lépéseket. Az alábbi lépések feltételezik, hogy van egy helyi környezete, amelyen telepítve van a Git és a Maven:

    1. A következő paranccsal klónozza a forráskódot a GitHubról:

      git clone https://github.com/Azure/rhel-jboss-templates.git
      
    2. A forráskód létrehozásához használja a következő parancsot:

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

      Ez a parancs létrehozza az eap-coffee-app/target/javaee-café.war fájlt. Ezt a fájlt a következő lépésben töltheti fel.

  2. Nyisson meg egy webböngészőt, és lépjen a felügyeleti konzolra http://<adminVM-public-IP>:9990, majd jelentkezzen be felhasználónévvel jbossadmin és jelszóval Secret123456.

  3. A javaee-café.war tartalomtárba való feltöltéséhez kövesse az alábbi lépéseket:

    1. A Red Hat JBoss EAP felügyeleti konzol Üzembe helyezése lapján válassza a Tartalomtár lehetőséget a navigációs panelen.

    2. Válassza a Hozzáadás gombot, majd a Tartalom feltöltése lehetőséget.

      Képernyőkép a Red Hat JBoss Enterprise Application Platform Deployments lapról a Tartalom feltöltése menüpont kiemelésével.

    3. A böngészőfájl-választóval válassza ki a javaee-café.war fájlt.

    4. Válassza a Tovább lehetőséget.

    5. Fogadja el az alapértelmezett értékeket a következő képernyőn, majd válassza a Befejezés lehetőséget.

    6. Válassza a Tartalom megtekintése lehetőséget.

  4. Az alkalmazás üzembe helyezéséhez main-server-groupkövesse az alábbi lépéseket:

    1. A Content Repository-ban válassza a javaee-café.war lehetőséget.

    2. A legördülő menüben válassza az Üzembe helyezés lehetőséget.

    3. Válassza ki main-server-group kiszolgálócsoportként a javaee-café.war üzembe helyezéséhez.

    4. Az üzembe helyezés elindításához válassza az Üzembe helyezés lehetőséget. Az alábbi képernyőképhez hasonló értesítésnek kell megjelennie:

      Képernyőkép a sikeres üzembe helyezésről.

A Red Hat JBoss EAP-fürt konfigurációjának tesztelése

Konfigurálta a JBoss EAP-fürtöt, és üzembe helyezte az alkalmazást. Az alkalmazás eléréséhez kövesse az alábbi lépéseket az összes beállítás ellenőrzéséhez:

  1. Az alábbi paranccsal szerezze be a Azure-alkalmazás-átjáró nyilvános IP-címét:

    az network public-ip show \
        --resource-group abc1110rg \
        --name myAGPublicIPAddress \
        --query '[ipAddress]' \
        --output tsv
    
  2. Nyisson meg egy webböngészőt.

  3. Navigáljon az URL-címmel http://<gateway-public-ip-address>/javaee-cafe/rendelkező alkalmazáshoz. Ne felejtsd el a záró perjelet.

  4. Próbáljon kávékat hozzáadni és eltávolítani.

Az erőforrások eltávolítása

Az Azure-díjak elkerülése érdekében törölje a felesleges erőforrásokat. Ha már nincs szüksége egy Azure-beli virtuális gépen üzembe helyezett Red Hat JBoss EAP-fürtre, törölje a Red Hat JBoss EAP-kiszolgálók regisztrációját, és távolítsa el az Azure-erőforrásokat.

Az alábbi parancsokkal törölje a Red Hat JBoss EAP-kiszolgálók és virtuális gépek regisztrációját a Red Hat-előfizetés felügyeletéből:

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

# Unregister host controllers
az vm run-command invoke \
    --resource-group abc1110rg \
    --name mspVM1 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"
az vm run-command invoke \
    --resource-group abc1110rg \
    --name mspVM2 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"

Az erőforráscsoport abc1110rgtörléséhez használja a következő parancsot:

az group delete --name abc1110rg --yes --no-wait

Következő lépések

Folytassa a JBoss EAP Azure-beli futtatásának lehetőségeit.