Kurz: Ruční instalace protokolu EAP Red Hat JBoss ve službě Azure Virtual Machines

V tomto kurzu se dozvíte, jak nainstalovat Red Hat JBoss EAP a nakonfigurovat cluster v režimu domény na virtuálních počítačích Azure, v Red Hat Enterprise Linuxu (RHEL).

V tomto kurzu se naučíte provádět následující úlohy:

  • Vytvořte vlastní virtuální síť a vytvořte virtuální počítače v síti.
  • Na virtuální počítače nainstalujte požadovanou sadu JDK a Red Hat JBoss EAP pomocí příkazového řádku ručně.
  • Nakonfigurujte cluster Red Hat JBoss EAP v režimu domény pomocí rozhraní příkazového řádku (CLI).
  • Nakonfigurujte připojení zdroje dat PostgreSQL v clusteru.
  • Nasaďte a spusťte ukázkovou aplikaci Java EE v clusteru.
  • Zveřejnění aplikace na veřejném internetu prostřednictvím služby Aplikace Azure Gateway
  • Ověřte úspěšnou konfiguraci.

Pokud dáváte přednost plně automatizovanému řešení, které provede všechny tyto kroky vaším jménem na virtuálních počítačích s GNU/Linuxem, přímo z webu Azure Portal, přečtěte si rychlý start: Nasazení JBoss EAP Serveru na virtuálním počítači Azure pomocí webu Azure Portal.

Poznámka:

Tento článek obsahuje odkazy na termín slave (podřízený) , což je termín, který už Microsoft nepoužívá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.

Požadavky

  • Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

  • Nainstalujte Azure CLI verze 2.51.0 nebo vyšší , abyste mohli spouštět příkazy Azure CLI.

    • Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
  • Ujistěte se, že máte potřebné licence Red Hatu. Musíte mít účet Red Hat s nárokem na správu předplatného Red Hat (RHSM) pro EAP red Hat JBoss. Tento nárok umožňuje plně automatizované řešení uvedené výše (v nasazení JBoss EAP Serveru na virtuálním počítači Azure pomocí webu Azure Portal) k instalaci testované a certifikované verze JBoss EAP red Hat.

    Poznámka:

    Pokud nemáte nárok na EAP, můžete si zaregistrovat bezplatné předplatné pro vývojáře prostřednictvím předplatného red hat developer pro jednotlivce. Uložte si podrobnosti o účtu, které se používají jako uživatelské jméno RHSM a heslo RHSM v další části.

  • Pokud už jste zaregistrovaní nebo po dokončení registrace, můžete pomocí následujícího postupu vyhledat potřebné přihlašovací údaje (ID fondu). Tato ID fondu se také používají jako ID fondu RHSM s nárokem EAP v dalších krocích.

    1. Přihlaste se ke svému účtu Red Hat.

    2. Při prvním přihlášení se zobrazí výzva k dokončení profilu. V závislosti na využití vyberte osobní nebo firemní typ účtu, jak je znázorněno na následujícím snímku obrazovky:

      Snímek obrazovky s oknem účtu Red Hat zobrazující možnosti typu účtu s vybranou možností Osobní

    3. Otevřete vývojářské předplatné Red Hat pro jednotlivce. Tento odkaz vás přenese na všechna předplatná ve vašem účtu pro příslušnou skladovou položku.

    4. V řádku ovládacích prvků v tabulce Všechny zakoupené předplatná vyberte Aktivní. Tím se zajistí, že se zobrazí jenom aktivní předplatná.

    5. Vyberte záhlaví seřaditelného sloupce pro koncové datum , dokud se hodnota v budoucnu nezobrazí jako první řádek.

    6. Vyberte první řádek. Pak zkopírujte a uložte si hodnotu následující hlavní fondy z ID fondu.

  • Java JDK verze 11. V této příručce doporučujeme build Red Hat OpenJDK. Ujistěte se, že je vaše JAVA_HOME proměnná prostředí správně nastavená v prostředích, ve kterých spouštíte příkazy.

  • Git– používá git --version se k otestování, jestli git funguje. Tento kurz byl testován s verzí 2.25.1.

  • Maven, slouží mvn -version k otestování, jestli mvn funguje. Tento kurz byl testován s verzí 3.6.3.

Příprava prostředí

V této části nastavíte infrastrukturu, ve které nainstalujete sadu JDK, Red Hat JBoss EAP a ovladač PostgreSQL JDBC.

Předpoklady

Tento kurz nakonfiguruje cluster EAP red Hat JBoss v režimu domény se serverem pro správu a dvěma spravovanými servery na celkem třech virtuálních počítačích. Pokud chcete nakonfigurovat cluster, musíte vytvořit následující tři virtuální počítače Azure:

  • Virtuální počítač správce (název adminVMvirtuálního počítače) běží jako řadič domény.
  • Dva spravované virtuální počítače (názvy mspVM1 virtuálních počítačů a mspVM2) se spouštějí jako řadič hostitele.

Přihlášení k Azure

Pokud jste to ještě neudělali, přihlaste se ke svému předplatnému Azure pomocí příkazu az login a podle pokynů na obrazovce.

az login

Poznámka:

Pokud máte k přihlašovacím údajům Azure přidružených více tenantů Azure, musíte určit, ke kterému tenantovi se chcete přihlásit. Můžete to udělat pomocí --tenant této možnosti. Například az login --tenant contoso.onmicrosoft.com.

Vytvoření skupiny zdrojů

Vytvořte skupinu prostředků pomocí příkazu az group create. Názvy skupin prostředků musí být globálně jedinečné v rámci předplatného. Z tohoto důvodu zvažte předvyplnění některého jedinečného identifikátoru u všech názvů, které vytvoříte, které musí být jedinečné. Užitečnou technikou je použít iniciály následované dnešním datem ve mmdd formátu. Tento příklad vytvoří skupinu prostředků pojmenovanou abc1110rgeastus v umístění:

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

Vytvoření virtuální sítě

Prostředky, které tvoří cluster Red Hat JBoss EAP, musí vzájemně komunikovat a veřejný internet pomocí virtuální sítě. Kompletní průvodce plánováním virtuální sítě najdete v průvodci architekturou přechodu na cloud pro Azure. Další informace najdete v tématu Nejčastější dotazy ke službě Azure Virtual Network.

Příklad v této části vytvoří virtuální síť s adresními prostory 192.168.0.0/16 a vytvoří podsíť použitou pro virtuální počítače.

Nejprve vytvořte virtuální síť pomocí příkazu az network vnet create. Následující příklad vytvoří síť s názvem myVNet:

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

Vytvořte podsíť pro cluster Red Hat JBoss EAP pomocí příkazu az network vnet subnet create. Následující příklad vytvoří podsíť s názvem mySubnet:

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

Vytvořte podsíť pro službu Application Gateway pomocí příkazu az network vnet subnet create. Následující příklad vytvoří podsíť s názvem jbossVMGatewaySubnet:

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

Vytvoření skupiny zabezpečení sítě a přiřazení podsítí k ní

Před vytvořením virtuálních počítačů s veřejnými IP adresami vytvořte skupinu zabezpečení sítě (NSG) pro zabezpečení virtuální sítě a podsítí vytvořených dříve.

Vytvořte skupinu zabezpečení sítě pomocí příkazu az network nsg create. Následující příklad vytvoří skupinu zabezpečení sítě s názvem mynsg:

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

Vytvořte pravidla skupiny zabezpečení sítě pomocí příkazu az network nsg rule create. Následující příklad vytvoří pravidla skupiny zabezpečení sítě pojmenovaná ALLOW_APPGW a ALLOW_HTTP_ACCESS. Tato pravidla umožňují službě App Gateway přijímat příchozí provoz na portech HTTP používaných protokolem EAP Red Hat JBoss:

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

Přidružte podsítě vytvořené dříve k této skupině zabezpečení sítě pomocí příkazu az network vnet subnet update, jak je znázorněno v následujícím příkladu:

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

Vytvoření počítače s Red Hat Enterprise Linuxem pro správce

Vytvoření virtuálního počítače správce

Image z Marketplace, kterou používáte k vytvoření virtuálních počítačů, je RedHat:rhel-raw:86-gen2:latest. Další image najdete v tématu Image RHEL (Red Hat Enterprise Linux) dostupné v Azure.

Poznámka:

Pomocí příkazu az vm image list můžete zadat dotaz na všechny dostupné image Red Hat Enterprise Linuxu , například: az vm image list --offer RHEL --publisher RedHat --output table --all. Další informace najdete v tématu Přehled imagí Red Hat Enterprise Linuxu.

Pokud používáte jinou image, možná budete muset nainstalovat další knihovny, abyste povolili infrastrukturu použitou v této příručce.

Vytvořte základní virtuální počítač, nainstalujte na něj všechny požadované nástroje, pořiďte jeho snímek a pak vytvořte repliky na základě snímku.

Vytvořte virtuální počítač pomocí příkazu az vm create. Na tomto virtuálním počítači spustíte Správa istrace serveru.

Následující příklad vytvoří virtuální počítač s Red Hat Enterprise Linuxem pomocí páru uživatelského jména a hesla pro ověření. V případě potřeby můžete místo toho použít ověřování TLS/SSL.

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

Instalace OpenJDK 11 a Red Hat JBoss EAP 7.4

K instalaci použijte následující postup:

  1. Veřejnou IP adresu adminVMzískáte pomocí následujícího příkazu:

    export ADMIN_VM_PUBLIC_IP=$(az vm show \
        --resource-group abc1110rg \
        --name adminVM \
        --show-details \
        --query publicIps | tr -d '"')
    
  2. Pomocí následujícího příkazu otevřete terminál a SSH:adminVM

    ssh azureuser@$ADMIN_VM_PUBLIC_IP
    
  3. Zadejte Secret123456 heslo.

  4. Nakonfigurujte bránu firewall pro porty pomocí následujícího příkazu:

    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
    

    Slovo by se mělo zobrazit success za prvními dvěma příkazy. Po třetím příkazu by se měl zobrazit výstup podobný následujícímu příkladu:

    # 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. Pomocí následujících příkazů zaregistrujte hostitele správce do účtu správy předplatného Red Hat (RHSM):

    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
    

    Měl by se zobrazit výstup podobný následujícímu příkladu:

    Registering to: subscription.rhsm.redhat.com:443/subscription
    The system has been registered with ID: redacted
    The registered system name is: adminVM
    
  6. Pomocí následujícího příkazu připojte hostitele správce k fondu EAP Red Hat JBoss:

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

    Poznámka:

    Tento příkaz se ignoruje, pokud používáte režim Jednoduchý přístup k obsahu.

  7. Pomocí následujícího příkazu nainstalujte OpenJDK 11:

    sudo yum install java-11-openjdk -y
    

    Měli byste vidět mnoho řádků výstupu, končící na Complete!

  8. Pomocí následujících příkazů nainstalujte Red Hat JBoss EAP 7.4:

    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
    

    U druhého a třetího příkazu byste měli vidět mnoho řádků výstupu, končících na Complete!

  9. Pomocí následujících příkazů nastavte oprávnění a konfigurace PROTOKOLU TCP:

    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. Ke konfiguraci proměnných prostředí použijte následující příkazy:

    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. Ukončete připojení SSH zadáním ukončení.

Vytvoření počítačů pro spravované servery

Nainstalovali jste OpenJDK 11 a Red Hat JBoss EAP 7.4 adminVM, který běží jako server řadiče domény. Stále potřebujete připravit počítače na spuštění dvou serverů hostitelského kontroleru. Dále vytvoříte snímek adminVM a připravíte počítače pro dva spravované severy mspVM1 a mspVM2.

Tato část představuje přístup k přípravě počítačů se snímkem adminVM. Vraťte se do terminálu s přihlášenou službou Azure CLI a pak postupujte následovně:

  1. K zastavení adminVMpoužijte následující příkaz:

    az vm stop --resource-group abc1110rg --name adminVM
    
  2. Pomocí příkazu az snapshot create pořiďte snímek adminVM disku s operačním systémem, jak je znázorněno v následujícím příkladu:

    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. Spuštěním následujícího příkazu adminVM:

    az vm start --resource-group abc1110rg --name adminVM
    
    
  4. Pomocí následujících kroků vytvořte mspVM1:

    1. Nejprve vytvořte spravovaný disk pro mspVM1příkaz az disk create:

      #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. Dále pomocí následujících příkazů vytvořte virtuální počítač mspVM1, připojte disk mspVM1_OsDisk_1s operačním systémem:

      #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. Vytvořili mspVM1 jste aplikaci OpenJDK 11 a Red Hat JBoss EAP 7.4. Vzhledem k tomu, že se virtuální počítač vytvořil ze snímku adminVM disku s operačním systémem, mají dva virtuální počítače stejný název hostitele. Pomocí příkazu az vm run-command můžete změnit název hostitele na hodnotu mspVM1:

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

      Po úspěšném dokončení příkazu se zobrazí výstup podobný následujícímu příkladu:

      {
          "value": [
              {
              "code": "ProvisioningState/succeeded",
              "displayStatus": "Provisioning succeeded",
              "level": "Info",
              "message": "Enable succeeded: \n[stdout]\n\n[stderr]\n",
              "time": null
              }
          ]
      }
      
  5. K vytvoření mspVM2použijte stejné příkazy:

    #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"
    

Pomocí následujících příkazů získáte a zobrazíte privátní IP adresy, které použijete v dalších částech:

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}"

Teď jsou všechny tři počítače připravené. Dále nakonfigurujete cluster Red Hat JBoss EAP v režimu spravované domény.

Konfigurace spravované domény a clusteru

Nakonfigurujte cluster s povolenou replikací relací. Další informace naleznete v tématu Replikace relace.

Pokud chcete povolit replikaci relací, použijte pro cluster vysokou dostupnost Red Hat JBoss EAP. Microsoft Azure nepodporuje protokoly zjišťování JGroups založené na vícesměrové vysílání UDP. I když můžete používat jiné protokoly zjišťování JGroups (například statickou konfiguraci (TCPPING), sdílenou databázi (JDBC_PING), příkaz ping založený na systému souborů (FILE_PING) nebo TCPGOSSIP), důrazně doporučujeme použít protokol zjišťování sdílených souborů speciálně vyvinutý pro Azure: AZURE_PING. Další informace najdete v tématu Použití vysoké dostupnosti JBoss EAP v Microsoft Azure.

Vytvoření účtu úložiště Azure a kontejneru objektů blob pro AZURE_PING

K vytvoření účtu úložiště a kontejneru objektů blob použijte následující příkazy:

# 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 eastus \
    --sku Standard_LRS \
    --kind StorageV2 \
    --access-tier Hot

Potom pomocí následujícího příkazu načtěte klíč účtu úložiště pro pozdější použití. Pokud se zobrazí chyba, počkejte několik minut a zkuste to znovu. Příčinou chyby může být předchozí příkaz pro vytvoření účtu úložiště, který se úplně nedokončil.

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}

Měl by se zobrazit následující výstup:

{
  "created": true
}

Konfigurace řadiče domény (uzel správce)

V tomto kurzu se ke konfiguraci řadiče domény používají příkazy rozhraní příkazového řádku pro správu EAP Red Hat JBoss. Další informace najdete v průvodci rozhraním příkazového řádku pro správu.

Následující kroky nastaví konfiguraci řadiče domény v systému adminVM. Připojte se jako adminVMazureuser uživatel pomocí SSH. Vzpomeňte si, že veřejná IP adresa adminVM byla zachycena dříve do ADMIN_VM_PUBLIC_IP proměnné prostředí.

ssh azureuser@$ADMIN_VM_PUBLIC_IP

Nejprve pomocí následujících příkazů nakonfigurujte profil vysoké dostupnosti a skupiny JGroup pomocí AZURE_PING protokolu:

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

Poslední stanza výstupu by měla vypadat podobně jako v následujícím příkladu. Pokud ne, před pokračováním problém vyřešte a vyřešte ho.

[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

Pak pomocí následujících příkazů nakonfigurujte server JBoss a nastavte službu EAP:

# 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'

Výstup by měl vypadat zhruba jako v tomto příkladu:

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'

Nakonec pomocí následujících příkazů spusťte službu EAP:

# 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

Výstup by měl vypadat zhruba jako v tomto příkladu:

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

Zadáním q ukončete pager. Ukončete připojení SSH zadáním ukončení.

Po spuštění služby Red Hat JBoss EAP můžete ke konzole pro správu přistupovat prostřednictvím http://$ADMIN_VM_PUBLIC_IP:9990 webového prohlížeče. Přihlaste se pomocí nakonfigurovaného uživatelského jména jbossadmin a hesla Secret123456.

Snímek obrazovky konzoly pro správu řadiče domény platformy Enterprise Application Platform pro Red Hat JBoss

Vyberte kartu Runtime. V navigačním podokně vyberte Topologie. Teď byste měli vidět, že váš cluster obsahuje jenom jeden řadič domény:

Snímek obrazovky platformy Podnikové aplikace Red Hat JBoss, která zobrazuje kartu Runtime a podokno Topologie s pouze řadičem domény

Konfigurace řadičů hostitele (pracovních uzlů)

Připojte se jako azureuser uživatel pomocí mspVM1 SSH. Pomocí následujícího příkazu získejte veřejnou IP adresu virtuálního počítače:

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

ssh azureuser@$MSPVM_PUBLIC_IP

Vzpomeňte si, že heslo je stejné jako předtím, protože mspVM1 je to jednoduše klon .adminVM

K nastavení hostitelského kontroleru použijte mspVM1následující příkazy:

# 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

Zobrazí se výzva k zadání hesla pro připojení. V tomto příkladu je heslo Secret123456.

Pomocí následujících příkazů použijte změny kontroleru hostitele na 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})"

Poslední stanza výstupu by měla vypadat podobně jako v následujícím příkladu. Pokud ne, před pokračováním problém vyřešte a vyřešte ho.

[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

Pak pomocí následujících příkazů nakonfigurujte server JBoss a nastavte službu EAP:

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

Výstup by měl vypadat zhruba jako v tomto příkladu:

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

Zadáním q ukončete pager. Ukončete připojení SSH zadáním ukončení.

Připojte se jako azureuser uživatel pomocí mspVM2 SSH. Pomocí následujícího příkazu získejte veřejnou IP adresu virtuálního počítače:

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

Opakujte předchozí kroky mspVM2a ukončete připojení SSH zadáním ukončení.

Po připojení adminVMdvou řadičů hostitelů byste měli být schopni zobrazit topologii clusteru, jak je znázorněno na následujícím snímku obrazovky:

Snímek obrazovky platformy Podnikové aplikace Red Hat JBoss, která zobrazuje kartu Runtime a podokno Topologie se všemi hostiteli

Zveřejnění clusteru Red Hat JBoss EAP s Aplikace Azure Gateway

Teď, když jste vytvořili cluster Red Hat JBoss EAP na virtuálních počítačích Azure, vás tato část provede procesem zveřejnění EAP Red Hat JBoss EAP na internetu pomocí služby Aplikace Azure Gateway.

Vytvoření brány Aplikace Azure

K zveřejnění protokolu EAP Red Hat JBoss eAP na internetu se vyžaduje veřejná IP adresa. Vytvořte veřejnou IP adresu a pak k ní přidružte bránu Aplikace Azure. Pomocí příkazu az network public-ip create ho vytvořte, jak je znázorněno v následujícím příkladu:

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

Dále přidejte back-endové servery do back-endového fondu služby Application Gateway. K dotazování na back-endové IP adresy použijte následující příkazy. Řadiče hostitelů (pracovní uzly) jsou nakonfigurované jenom jako back-endové servery.

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)

Dále vytvořte bránu Aplikace Azure. Následující příklad vytvoří aplikační bránu s řadiči hostitelů ve výchozím back-endovém fondu:

az network application-gateway create \
    --resource-group abc1110rg \
    --name myAppGateway \
    --public-ip-address myAGPublicIPAddress \
    --location eastus \
    --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}

Poznámka:

Tento příklad nastaví jednoduchý přístup k serverům EAP Red Hat JBoss pomocí protokolu HTTP. Pokud chcete zabezpečený přístup, nakonfigurujte ukončení protokolu TLS/SSL podle pokynů na konci protokolu TLS se službou Application Gateway.

Tento příklad zveřejňuje kontrolery hostitelů na portu 8080. V dalších krocích nasadíte ukázkovou aplikaci s připojením k databázi ke clusteru.

Připojení Azure Database for PostgreSQL

V této části se dozvíte, jak vytvořit instanci PostgreSQL v Azure a nakonfigurovat připojení k PostgreSQL v clusteru Red Hat JBoss EAP.

Vytvoření instance Azure Database for PostgreSQL

K vytvoření instance databáze použijte následující postup:

  1. Pomocí příkazu az postgres server create zřiďte instanci PostgreSQL v Azure, jak je znázorněno v následujícím příkladu:

    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 server create \
        --resource-group abc1110rg \
        --name ${DB_SERVER_NAME}  \
        --location eastus \
        --admin-user ${DATA_BASE_USER} \
        --ssl-enforcement Enabled \
        --admin-password ${DATA_BASE_PASSWORD} \
        --sku-name GP_Gen5_2
    
  2. Pomocí následujících příkazů povolte přístup ze služeb Azure:

    # Save aside the following names for later use
    export fullyQualifiedDomainName=$(az postgres server show \
        --resource-group abc1110rg \
        --name ${DB_SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    export name=$(az postgres server show \
        --resource-group abc1110rg \
        --name ${DB_SERVER_NAME} \
        --query "name" \
        --output tsv)
    
    az postgres server firewall-rule create \
        --resource-group abc1110rg \
        --server ${DB_SERVER_NAME} \
        --name "AllowAllAzureIps" \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 0.0.0.0
    
  3. K vytvoření databáze použijte následující příkaz:

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

Instalace ovladače

Pomocí následujícího postupu nainstalujte ovladač JDBC pomocí rozhraní příkazového řádku pro správu JBoss. Další informace o ovladačích JDBC v red Hat JBoss EAP naleznete v tématu Instalace ovladače JDBC jako nasazení JAR.

  1. Pomocí následujícího příkazu se přes SSH připojte k adminVM serveru SSH. Tento krok můžete přeskočit, pokud už máte otevřené připojení.

    ssh azureuser@$ADMIN_VM_PUBLIC_IP
    
  2. Ke stažení ovladače JDBC použijte následující příkazy. Tady použijete postgresql-42.5.2.jar. Další informace o umístěních pro stahování ovladačů JDBC naleznete v tématu Umístění stažení ovladačů JDBC, které poskytuje Red Hat.

    jdbcDriverName=postgresql-42.5.2.jar
    sudo curl --retry 5 -Lo /tmp/${jdbcDriverName} https://jdbc.postgresql.org/download/${jdbcDriverName}
    
  3. Pomocí následujícího příkazu rozhraní příkazového řádku JBoss nasaďte ovladač JDBC:

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

    Protokol serveru se nachází na mspVM1 adrese a mspVM2 na /var/opt/rh/eap7/lib/wildfly/domain/servers/mspvm1-server0/log/server.logadrese . Pokud nasazení selže, projděte si tento soubor protokolu a před pokračováním problém vyřešte.

Konfigurace připojení k databázi pro cluster Red Hat JBoss EAP

Spustili jste databázový server, získali potřebné ID prostředku a nainstalovali jste ovladač JDBC. Dále kroky v této části ukazují, jak pomocí rozhraní příkazového řádku JBoss nakonfigurovat připojení zdroje dat k instanci PostgreSQL, kterou jste vytvořili dříve.

  1. Pomocí následujícího příkazu otevřete terminál a SSH:adminVM

    ssh azureuser@$ADMIN_VM_PUBLIC_IP
    
  2. K vytvoření zdroje dat použijte následující příkazy:

    # 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@<database-server-name>
    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}"
    

Po provedení těchto kroků jste úspěšně nakonfigurovali zdroj dat s názvem java:jboss/datasources/JavaEECafeDB.

Nasazení ukázkové aplikace Java EE Cafe

Pomocí následujících kroků nasaďte ukázkovou aplikaci Java EE Cafe do clusteru Red Hat JBoss EAP:

  1. Pomocí následujícího postupu sestavte Java EE Cafe. Tento postup předpokládá, že máte místní prostředí s nainstalovaným Gitem a Mavenem:

    1. Ke klonování zdrojového kódu z GitHubu použijte následující příkaz:

      git clone https://github.com/Azure/rhel-jboss-templates.git
      
    2. K sestavení zdrojového kódu použijte následující příkaz:

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

      Tento příkaz vytvoří soubor eap-coffee-app/target/javaee-café.war. Tento soubor nahrajete v dalším kroku.

  2. Otevřete webový prohlížeč a přejděte do konzoly pro správu na adrese http://<adminVM-public-IP>:9990, pak se přihlaste pomocí uživatelského jména jbossadmin a hesla Secret123456.

  3. Pomocí následujícího postupu nahrajte soubor javaee-café.war do úložiště obsahu:

    1. Na kartě Nasazení konzoly pro správu Red Hat JBoss EAP vyberte v navigačním podokně úložiště obsahu.

    2. Vyberte tlačítko Přidat a pak vyberte Nahrát obsah.

      Snímek obrazovky s kartou Nasazení podnikové aplikační platformy Red Hat JBoss a zvýrazněnou možností Nabídky Nahrát obsah

    3. Pomocí voliče souborů prohlížeče vyberte soubor javaee-café.war .

    4. Vyberte Další.

    5. Přijměte výchozí hodnoty na další obrazovce a pak vyberte Dokončit.

    6. Vyberte Zobrazit obsah.

  4. Pomocí následujícího postupu nasaďte aplikaci do main-server-group:

    1. V úložišti obsahu vyberte javaee-café.war.

    2. V rozevírací nabídce vyberte Nasadit.

    3. Jako skupinu serverů vyberte main-server-group pro nasazení javaee-café.war.

    4. Výběrem možnosti Nasadit zahájíte nasazení. Mělo by se zobrazit upozornění podobné následujícímu snímku obrazovky:

      Snímek obrazovky s oznámením o úspěšném nasazení

Testování konfigurace clusteru Red Hat JBoss EAP

Dokončili jste konfiguraci clusteru Red Hat JBoss EAP a nasadili do něj aplikaci Java EE. Pokud chcete ověřit všechna nastavení, použijte následující postup:

  1. Pomocí následujícího příkazu získejte veřejnou IP adresu brány Aplikace Azure:

    az network public-ip show \
        --resource-group abc1110rg \
        --name myAGPublicIPAddress \
        --query '[ipAddress]' \
        --output tsv
    
  2. Otevřete webový prohlížeč.

  3. Přejděte do aplikace s adresou URL http://<gateway-public-ip-address>/javaee-cafe/. Nezapomeňte na koncové lomítko.

  4. Zkuste přidat a odebrat kávu.

Vyčištění prostředků

Abyste se vyhnuli poplatkům za Azure, měli byste vyčistit nepotřebné prostředky. Pokud už cluster Red Hat JBoss EAP nasazený na virtuálním počítači Azure nepotřebujete, zrušte registraci serverů EAP Red Hat JBoss a odeberte prostředky Azure.

Pomocí následujících příkazů zrušíte registraci serverů a virtuálních počítačů EAP red Hat jBoss ze správy předplatného Red Hat:

# 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"

Pomocí následujícího příkazu odstraňte skupinu abc1110rgprostředků:

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

Další kroky

Pokračujte v prozkoumání možností spuštění Red Hat JBoss EAP v Azure.