Rychlý start: Nasazení EAP JBoss v Azure Red Hat OpenShiftu pomocí webu Azure Portal

V tomto článku se dozvíte, jak rychle vystát JBoss EAP v Azure Red Hat OpenShift (ARO) pomocí webu Azure Portal.

Tento článek využívá nabídku Azure Marketplace pro JBoss EAP k urychlení vaší cesty k ARO. Nabídka automaticky zřídí prostředky včetně clusteru ARO s integrovaným openshift container Registry (OCR), operátorem JBoss EAP a volitelně i image kontejneru, včetně JBoss EAP a vaší aplikace pomocí source-to-Image (S2I). Pokud chcete nabídku zobrazit, navštivte web Azure Portal. Pokud dáváte přednost ručním podrobným pokynům pro spuštění protokolu JBoss EAP v ARO, který nevyužívá automatizaci povolenou nabídkou, přečtěte si téma Nasazení aplikace v Javě s platformou JBoss Enterprise Application Platform (JBoss EAP) v clusteru Azure Red Hat OpenShift 4.

Požadavky

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

  • Účet Red Hat s úplným profilem. Pokud ho nemáte, můžete si zaregistrovat bezplatné předplatné pro vývojáře prostřednictvím předplatného pro vývojáře Red Hat pro jednotlivce.

  • Místní vývojářský příkazový řádek s prostředím příkazů podobných systém UNIX – například Ubuntu, macOS nebo Subsystém Windows pro Linux – a nainstalovaným Rozhraním příkazového řádku Azure CLI. Informace o tom, jak nainstalovat Azure CLI, najdete v tématu Postup instalace Azure CLI.

  • Rozhraní příkazového mysql řádku. Rozhraní příkazového řádku můžete nainstalovat pomocí následujících příkazů:

sudo apt update
sudo apt install mysql-server

Poznámka:

Tyto pokyny můžete spustit také v Azure Cloud Shellu. Tento přístup má předinstalované všechny požadované nástroje.

Poznámka:

Aby bylo možné vytvořit a spustit cluster OpenShift, služba Azure Red Hat OpenShift vyžaduje minimálně 40 jader. Výchozí kvóta prostředků Azure pro nové předplatné Azure nesplňuje tento požadavek. Pokud chcete požádat o zvýšení limitu prostředků, přečtěte si téma Standardní kvóta: Zvýšení limitů podle řad virtuálních počítačů. Upozorňujeme, že bezplatné zkušební předplatné nemá nárok na navýšení kvóty, upgradujte na předplatné s průběžným platbami před vyžádáním navýšení kvóty.

Získání tajného kódu pro přijetí změn z Red Hatu

Nabídka Azure Marketplace použitá v tomto článku vyžaduje tajný klíč pro přijetí změn z Red Hatu. V této části se dozvíte, jak získat tajný kód pro přijetí změn z Red Hatu pro Azure Red Hat OpenShift. Další informace o tom, co je tajný klíč pro přijetí změn z Red Hatu a proč ho potřebujete, najdete v části Získání tajného kódu pro stažení z Red Hatu v kurzu: Vytvoření clusteru Azure Red Hat OpenShift 4.

Tajný kód pro vyžádání změn získáte pomocí následujícího postupu.

  1. Otevřete hybridní cloudovou konzolu Red Hat OpenShift a pak se pomocí účtu Red Hat přihlaste k portálu správce clusteru OpenShift. Možná budete muset přijmout další podmínky a aktualizovat svůj účet, jak je znázorněno na následujícím snímku obrazovky. Použijte stejné heslo jako při vytváření účtu.

    Snímek obrazovky se stránkou Red Hat Update Your Account

  2. Po přihlášení vyberte OpenShift a pak stažené soubory.

  3. Vyberte rozevírací seznam Všechny kategorie a pak vyberte Tokeny.

  4. V části Tajný kód vyžádat vyberte Kopírovat nebo Stáhnout a získejte hodnotu, jak je znázorněno na následujícím snímku obrazovky.

    Snímek obrazovky portálu konzoly Red Hat zobrazující tajný kód pro vyžádání změn

    Následující obsah je příkladem, který se zkopíroval z portálu konzoly Red Hat a kódy ověřování nahrazeny kódy xxxx...xxxověřování .

    {"auths":{"cloud.openshift.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"quay.io":{"auth":"xxx...xxx","email":"contoso-user@test.com"},"registry.connect.redhat.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"registry.redhat.io":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"}}}
    
  5. Uložte tajný kód do souboru, abyste ho mohli později použít.

Vytvoření instančního objektu Microsoft Entra z webu Azure Portal

Nabídka Azure Marketplace použitá v tomto článku vyžaduje instanční objekt Microsoft Entra k nasazení clusteru Azure Red Hat OpenShift. Nabídka přiřazuje instanční objekt se správnými oprávněními během nasazení bez nutnosti přiřazení role. Pokud máte instanční objekt připravený k použití, přeskočte tuto část a přejděte k další části, kde vytvoříte účet služby Red Hat Container Registry.

Pomocí následujících kroků nasaďte instanční objekt a získejte ID aplikace (klienta) a tajný klíč z webu Azure Portal. Další informace najdete v tématu Vytvoření a použití instančního objektu k nasazení clusteru Azure Red Hat OpenShift.

Poznámka:

Musíte mít dostatečná oprávnění k registraci aplikace ve vašem tenantovi Microsoft Entra. Pokud narazíte na problém, zkontrolujte požadovaná oprávnění a ujistěte se, že váš účet může identitu vytvořit. Další informace najdete v části Oprávnění požadovaná pro registraci oddílu aplikace pomocí portálu k vytvoření aplikace Microsoft Entra a instančního objektu, který má přístup k prostředkům.

  1. Přihlaste se ke svému účtu Azure prostřednictvím webu Azure Portal.

  2. Vyberte Microsoft Entra ID.

  3. Vyberte Registrace aplikací.

  4. Vyberte Nová registrace.

  5. Pojmenujte aplikaci – jboss-eap-on-aro-appnapříklad . Vyberte podporovaný typ účtu, který určuje, kdo může aplikaci používat. Po nastavení hodnot vyberte Zaregistrovat, jak je znázorněno na následujícím snímku obrazovky. Zřízení aplikace trvá několik sekund. Než budete pokračovat, počkejte na dokončení nasazení.

    Snímek obrazovky webu Azure Portal zobrazující stránku Registrace aplikace

  6. Uložte ID aplikace (klienta) ze stránky přehledu, jak je znázorněno na následujícím snímku obrazovky. Najeďte myší na hodnotu, která je na snímku obrazovky upravená, a vyberte ikonu kopírování, která se zobrazí. Popisek říká Kopírovat do schránky. Dávejte pozor, abyste zkopírovali správnou hodnotu, protože ostatní hodnoty v této části mají také ikony kopírování. Uložte ID aplikace do souboru, abyste ho mohli později použít.

    Snímek obrazovky webu Azure Portal zobrazující ID klienta instančního objektu

  7. Následujícím postupem vytvořte nový tajný klíč klienta:

    1. Vyberte Certifikáty a tajné kódy.
    2. Vyberte Tajné kódy klienta a pak Nový tajný klíč klienta.
    3. Zadejte popis tajného kódu a dobu trvání. Až budete hotovi, vyberte Přidat.
    4. Po přidání tajného klíče klienta se zobrazí hodnota tajného klíče klienta. Zkopírujte tuto hodnotu, protože ji nemůžete později načíst. Nezapomeňte zkopírovat hodnotu, nikoli ID tajného klíče.

Vytvořili jste aplikaci Microsoft Entra, instanční objekt a tajný klíč klienta.

Vytvoření účtu služby Red Hat Container Registry

Později v tomto článku se dozvíte, jak ručně nasadit aplikaci do OpenShiftu pomocí source-to-image (S2I). Účet služby Red Hat Container Registry je nezbytný k načtení image kontejneru pro protokol JBoss EAP, na kterém se má vaše aplikace spouštět. Pokud máte účet služby Red Hat Container Registry připravený k použití, přeskočte tuto část a přejděte k další části, kde nabídku nasadíte.

Pomocí následujících kroků vytvořte účet služby Red Hat Container Registry a získejte jeho uživatelské jméno a heslo. Další informace naleznete v tématu Vytváření účtů služby Registry v dokumentaci k Red Hat.

  1. Pomocí účtu Red Hat se přihlaste k aplikaci pro správu účtů služby Registry.
  2. Na stránce Účty služby Registru vyberte Nový účet služby.
  3. Zadejte název účtu služby. Název je předem označen pevným náhodným řetězcem.
    • Zadejte popis.
    • Vyberte create.
  4. Vraťte se do svých účtů služeb.
  5. Vyberte účet služby, který jste vytvořili.
    • Poznamenejte si uživatelské jméno včetně předpendovaného řetězce (to znamenáXXXXXXX|username). Toto uživatelské jméno použijte při přihlášení k registry.redhat.io.
    • Poznamenejte si heslo. Toto heslo použijte při přihlášení k registry.redhat.io.

Vytvořili jste účet služby Red Hat Container Registry.

Nasazení EAP JBoss v Azure Red Hat OpenShiftu

Kroky v této části vás nasměrují k nasazení JBoss EAP v Azure Red Hat OpenShiftu.

Následující kroky ukazují, jak najít nabídku a vyplnit podokno Základy .

  1. Na panelu hledání v horní části webu Azure Portal zadejte JBoss EAP. Ve výsledcích hledání v části Marketplace vyberte JBoss EAP v Azure Red Hat OpenShiftu, jak je znázorněno na následujícím snímku obrazovky.

    Snímek obrazovky webu Azure Portal zobrazující protokol JBoss EAP ve výsledcích hledání v Azure Red Hat OpenShiftu

    Můžete také přejít přímo na JBoss EAP v nabídce Azure Red Hat OpenShift na webu Azure Portal.

  2. Na stránce nabídky vyberte Vytvořit.

  3. V podokně Základy se ujistěte, že hodnota zobrazená v poli Předplatné je stejná jako role uvedená v části Požadavky.

  4. Nabídku musíte nasadit do prázdné skupiny prostředků. V poli Skupina zdrojů vyberte Vytvořit nový a vyplňte hodnotu skupiny prostředků. Vzhledem k tomu, že skupiny prostředků musí být v rámci předplatného jedinečné, vyberte jedinečný název. Jednoduchým způsobem, jak mít jedinečné názvy, je použít kombinaci iniciály, dnešního data a identifikátoru. Například eaparo033123rg.

  5. V části Podrobnosti o instanci vyberte oblast nasazení. Seznam oblastí Azure, ve kterých OpenShift funguje, najdete v tématu Oblasti pro Red Hat OpenShift 4.x v Azure.

  6. Vyberte Další: ARO.

Následující kroky ukazují, jak vyplnit podokno ARO zobrazené na následujícím snímku obrazovky:

Snímek obrazovky webu Azure Portal zobrazující protokol JBoss EAP v podokně Azure Red Hat OpenShift ARO

  1. V části Vytvořit nový cluster vyberte Ano.

  2. V části Zadejte informace pro vytvoření nového clusteru pro tajný kód pro přijetí změn z Red Hatu vyplňte tajný klíč pro přijetí změn z Red Hatu, který jste získali v části Získat tajný kód pro přijetí změn Red Hat. Pro potvrzení tajného kódu použijte stejnou hodnotu.

  3. Vyplňte ID klienta instančního objektu pomocí ID aplikace instančního objektu (klienta), které jste získali v části Vytvoření instančního objektu Microsoft Entra z části portálu Azure Portal.

  4. Do tajného kódu klienta instančního objektu zadejte tajný klíč aplikace instančního objektu, který jste získali v části Vytvoření instančního objektu Microsoft Entra z části portálu Azure Portal. Pro potvrzení tajného kódu použijte stejnou hodnotu.

  5. Vyberte Další aplikaci EAP.

Následující kroky ukazují, jak vyplnit podokno aplikace EAP zobrazené na následujícím snímku obrazovky a pak spustit nasazení.

Snímek obrazovky webu Azure Portal zobrazující protokol JBoss EAP v podokně aplikace EAP v Azure Red Hat OpenShiftu

  1. Ponechte výchozí možnost Ne pro nasazení aplikace do OpenShiftu pomocí source-to-image (S2I)?.

    Poznámka:

    Později v tomto rychlém startu se dozvíte, jak ručně nasadit aplikaci s připojením k databázi.

  2. Vyberte Další: Zkontrolovat a vytvořit.

  3. Vyberte Zkontrolovat a vytvořit. Ujistěte se, že se v horní části zobrazí zelená zpráva Ověření úspěšného ověření. Pokud se zpráva nezobrazí, opravte všechny problémy s ověřením a pak znovu vyberte Zkontrolovat a vytvořit .

  4. Vyberte Vytvořit.

  5. Sledujte průběh nasazení na stránce Nasazení .

V závislosti na podmínkách sítě a dalších aktivitách ve vybrané oblasti může dokončení nasazení trvat až 35 minut.

Během čekání můžete databázi nastavit.

Nastavení flexibilního serveru Azure Database for MySQL

Následující části ukazují, jak nastavit flexibilní server Azure Database for MySQL.

Nastavení proměnných prostředí v prostředí příkazového řádku

Ukázka je aplikace v Javě podporovaná databází MySQL a je nasazená do clusteru OpenShift pomocí source-to-image (S2I). Další informace o S2I najdete v dokumentaci K rozhraní S2I.

Otevřete prostředí a nastavte následující proměnné prostředí. Nahraďte náhrady podle potřeby.

RG_NAME=<resource-group-name>
SERVER_NAME=<database-server-name>
DB_DATABASE_NAME=testdb
ADMIN_USERNAME=myadmin
ADMIN_PASSWORD=Secret123456
DB_USERNAME=testuser
DB_PASSWORD=Secret123456
PROJECT_NAME=eaparo-sample
CON_REG_SECRET_NAME=eaparo-sample-pull-secret
CON_REG_ACC_USER_NAME="<red-hat-container-registry-service-account-username>"
CON_REG_ACC_PWD="<red-hat-container-registry-service-account-password>"
APPLICATION_NAME=javaee-cafe
APP_REPLICAS=3

Zástupné symboly nahraďte následujícími hodnotami, které se použijí ve zbývající části článku:

  • <resource-group-name>: Název skupiny prostředků, kterou jste vytvořili dříve , eaparo033123rgnapříklad .
  • <database-server-name>: Název vašeho serveru MySQL, který by měl být jedinečný v rámci Azure , eaparo033123mysqlnapříklad .
  • ADMIN_PASSWORD: Heslo správce vašeho databázového serveru MySQL. Tento článek byl testován pomocí zobrazeného hesla. Pravidla hesel najdete v dokumentaci k databázi.
  • <red-hat-container-registry-service-account-username> a <red-hat-container-registry-service-account-password>: Uživatelské jméno a heslo účtu služby Red Hat Container Registry, který jste vytvořili dříve.

Je vhodné uložit plně vyplněné dvojice name/value do textového souboru pro případ, že se prostředí ukončí před provedením příkazů. Tímto způsobem je můžete vložit do nové instance prostředí a snadno pokračovat.

Tyto páry názvů a hodnot jsou v podstatě "tajné kódy". Informace o způsobu, jak zabezpečit Azure Red Hat OpenShift, včetně správy tajných kódů, najdete v tématu Zabezpečení akcelerátoru cílových zón Azure Red Hat OpenShift.

Vytvoření a inicializace databáze

Dále pomocí následujících kroků vytvořte flexibilní server Azure Database for MySQL a vytvořte uživatele s oprávněními ke čtení a zápisu z/do konkrétní databáze.

  1. Pomocí následujícího příkazu vytvořte flexibilní server Azure Database for MySQL:

    az mysql flexible-server create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --database-name ${DB_DATABASE_NAME} \
        --public-access 0.0.0.0  \
        --admin-user ${ADMIN_USERNAME} \
        --admin-password ${ADMIN_PASSWORD} \
        --yes
    

    Dokončení tohoto příkazu může trvat deset nebo více minut. Po úspěšném dokončení příkazu se zobrazí výstup podobný následujícímu příkladu:

    {
      "connectionString": "mysql testdb --host ejb010406adb.mysql.database.azure.com --user myadmin --password=Secret#123345",
      "databaseName": "testdb",
      "firewallName": "AllowAllAzureServicesAndResourcesWithinAzureIps_2023-4-6_21-21-3",
      "host": "ejb010406adb.mysql.database.azure.com",
      "id": "/subscriptions/redacted/resourceGroups/ejb010406a/providers/Microsoft.DBforMySQL/flexibleServers/ejb010406adb",
      "location": "East US",
      "password": "Secret#123345",
      "resourceGroup": "ejb010406a",
      "skuname": "Standard_B1ms",
      "username": "myadmin",
      "version": "5.7"
    }
    
  2. Pomocí následujících příkazů získáte hostitele vytvořeného serveru MySQL:

    DB_HOST=$(az mysql flexible-server show \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    echo $DB_HOST
    

    Uložte pár název/hodnota do textového souboru.

  3. Pomocí následujícího příkazu vytvořte dočasné pravidlo brány firewall, které povolí připojení k serveru MySQL z veřejného internetu:

    az mysql flexible-server firewall-rule create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --rule-name "AllowAllIPs" \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    
  4. Pomocí následujícího příkazu vytvořte nového uživatele databáze s oprávněními ke čtení a zápisu konkrétní databáze. Tento příkaz je užitečný k odeslání SQL přímo do databáze.

    mysql --host ${DB_HOST} --user ${ADMIN_USERNAME} --password=${ADMIN_PASSWORD} << EOF
    CREATE USER '${DB_USERNAME}'@'%' IDENTIFIED BY '${DB_PASSWORD}';
    GRANT ALL PRIVILEGES ON ${DB_DATABASE_NAME} . * TO '${DB_USERNAME}'@'%';
    FLUSH PRIVILEGES;
    EOF
    
  5. Pomocí následujícího příkazu odstraňte dočasné pravidlo brány firewall:

    az mysql flexible-server firewall-rule delete \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME}  \
        --rule-name "AllowAllIPs" \
        --yes
    

Teď máte databázový server MySQL spuštěný a připravený k připojení k vaší aplikaci.

Ověření funkčnosti nasazení

Kroky v této části ukazují, jak ověřit, že se nasazení úspěšně dokončilo.

Pokud jste přešli mimo stránku Nasazení , následující kroky ukazují, jak se vrátit na tuto stránku. Pokud jste stále na stránce s informacemi o dokončení nasazení, můžete přeskočit ke kroku 5.

  1. V rohu libovolné stránky webu Azure Portal vyberte hamburgerovou nabídku a pak vyberte Skupiny prostředků.

  2. Do pole s textovým filtrem pro jakékoli pole zadejte několik prvních znaků skupiny prostředků, kterou jste vytvořili dříve. Pokud jste postupovali podle doporučené konvence, zadejte iniciály a pak vyberte příslušnou skupinu prostředků.

  3. V navigačním podokně v části Nastavení vyberte Nasazení. Zobrazí se uspořádaný seznam nasazení do této skupiny prostředků s nejnovějším.

  4. Posuňte se k nejstarší položce v tomto seznamu. Tato položka odpovídá nasazení, které jste začali v předchozí části. Vyberte nejstarší nasazení, jak je znázorněno na následujícím snímku obrazovky.

    Snímek obrazovky webu Azure Portal znázorňující protokol JBoss EAP v nasazeních Azure Red Hat OpenShift se zvýrazněným nejstarším nasazením

  5. V navigačním podokně vyberte Výstupy. Tento seznam zobrazuje výstupní hodnoty z nasazení, které obsahují některé užitečné informace.

  6. Otevřete prostředí, vložte hodnotu z pole cmdToGetKubeadminCredentials a spusťte ho. Zobrazí se účet správce a přihlašovací údaje pro přihlášení k portálu konzoly clusteru OpenShift. Následující příklad ukazuje účet správce:

    az aro list-credentials --resource-group eaparo033123rg --name clusterf9e8b9
    

    Tento příkaz vytvoří výstup podobný následujícímu příkladu:

    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. Vložte hodnotu z pole consoleUrl do webového prohlížeče připojeného k internetu a stiskněte Enter. Zadejte uživatelské jméno a heslo správce a pak vyberte Přihlásit se. V konzole pro správu Azure Red Hat OpenShift vyberte Operátory nainstalované operátory>, kde můžete zjistit, že je operátor JBoss EAP úspěšně nainstalován, jak je znázorněno na následujícím snímku obrazovky.

    Snímek obrazovky portálu konzoly clusteru Red Hat OpenShift se stránkou Nainstalované operátory

Dále se pomocí následujícího postupu připojte ke clusteru OpenShift pomocí Rozhraní příkazového řádku OpenShift:

  1. V prostředí si pomocí následujících příkazů stáhněte nejnovější Rozhraní příkazového řádku OpenShift 4 pro GNU/Linux. Pokud běží na jiném operačním systému než GNU/Linux, stáhněte si příslušný binární soubor pro tento operační systém.

    cd ~
    wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz
    
    mkdir openshift
    tar -zxvf openshift-client-linux.tar.gz -C openshift
    echo 'export PATH=$PATH:~/openshift' >> ~/.bashrc && source ~/.bashrc
    
  2. Vložte hodnotu z pole cmdToLoginWithKubeadmin do prostředí a spusťte ji. Měla by se zobrazit login successful zpráva a projekt, který používáte. Následující obsah je příkladem příkazu pro připojení ke clusteru OpenShift pomocí rozhraní příkazového řádku OpenShift.

    oc login \
        $(az aro show \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query apiserverProfile.url \
            --output tsv) \
        -u $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminUsername \
            --output tsv) \
        -p $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminPassword \
            --output tsv)
    

    Tento příkaz vytvoří výstup podobný následujícímu příkladu:

    Login successful.
    
    You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects'
    
    Using project "default".
    

Nasazení aplikace EAP JBoss do clusteru OpenShift

Kroky v této části ukazují, jak nasadit aplikaci do clusteru.

Nasazení aplikace do clusteru

Pomocí následujícího postupu nasaďte aplikaci do clusteru. Aplikace je hostovaná v úložišti GitHubu rhel-jboss-templates/eap-coffee-app.

  1. V prostředí spusťte následující příkazy. Příkazy vytvoří projekt, použijí oprávnění k tomu, aby S2I fungovala, image tajného klíče pro vyžádání obsahu a propojila tajný kód s relativními účty služeb v projektu, aby bylo možné vyžádat image. Ignorujte upozornění Gitu týkající se stavu "odpojený HEAD".

    git clone https://github.com/Azure/rhel-jboss-templates.git
    cd rhel-jboss-templates
    git checkout 20230615
    cd ..
    oc new-project ${PROJECT_NAME}
    oc adm policy add-scc-to-user privileged -z default --namespace ${PROJECT_NAME}
    w0=-w0
    if [[ $OSTYPE == 'darwin'* ]]; then
      w0=
    fi
    
    CON_REG_ACC_USER_NAME_BASE64=$(echo ${CON_REG_ACC_USER_NAME} | base64 $w0)
    CON_REG_ACC_PWD_BASE64=$(echo ${CON_REG_ACC_PWD} | base64 $w0)
    

    Vzhledem k tomu, že v další části se používá formát HEREDOC, je nejlepší ho zahrnout a spustit ve vlastním výňatku kódu.

    
    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: ${CON_REG_SECRET_NAME}
    type: Opaque
    data:
      username: ${CON_REG_ACC_USER_NAME_BASE64}
      password: ${CON_REG_ACC_PWD_BASE64}
    stringData:
      hostname: registry.redhat.io
    EOF
    

    Je nutné vidět secret/eaparo-sample-pull-secret created , abyste označili úspěšné vytvoření tajného kódu. Pokud tento výstup nevidíte, před pokračováním problém vyřešte a vyřešte ho. Nakonec propojte tajný kód s výchozím účtem služby pro stahování imagí kontejneru, aby je cluster mohl spustit.

    oc secrets link default ${CON_REG_SECRET_NAME} --for=pull
    oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
    
  2. K načtení streamu jboss-eap74-openjdk11-openshiftobrázku použijte následující příkazy . Potom spusťte zdroj pro proces image a počkejte, až se dokončí.

    oc apply -f https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates/eap74/eap74-openjdk11-image-stream.json
    oc new-build --name=${APPLICATION_NAME} --binary --image-stream=jboss-eap74-openjdk11-openshift:7.4.0 -e CUSTOM_INSTALL_DIRECTORIES=extensions
    oc start-build ${APPLICATION_NAME} --from-dir=rhel-jboss-templates/eap-coffee-app --follow
    

Úspěšný výstup by měl končit něco podobného jako v následujícím příkladu:

Writing manifest to image destination
Storing signatures
Successfully pushed image-registry.openshift-image-registry.svc:5000/eaparo-sample/javaee-cafe@sha256:754587c33c03bf42ba4f3ce5a11526bbfc82aea94961ce1179a415c2bfa73449
Push successful

Pokud se vám podobný výstup nezobrazuje, před pokračováním problém vyřešte a vyřešte ho.

Vytvoření tajného klíče pro heslo databáze

Dále pomocí následujících kroků vytvořte tajný kód:

  1. Pomocí následujícího příkazu vytvořte tajný kód pro uchovávání hesla databáze:

    oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
    
  2. Pomocí následujících příkazů nasaďte a spusťte tři repliky kontejnerizované aplikace v clusteru:

    cat <<EOF | oc apply -f -
    apiVersion: wildfly.org/v1alpha1
    kind: WildFlyServer
    metadata:
      name: ${APPLICATION_NAME}
    spec:
      applicationImage: ${APPLICATION_NAME}:latest
      replicas: ${APP_REPLICAS}
      env:
        - name: DB_SERVICE_PREFIX_MAPPING
          value: TEST-MYSQL=DS1
        - name: TEST_MYSQL_SERVICE_HOST
          value: ${DB_HOST}
        - name: TEST_MYSQL_SERVICE_PORT
          value: '3306'
        - name: DS1_JNDI
          value: java:jboss/datasources/JavaEECafeDB
        - name: DS1_URL
          value: jdbc:mysql://${DB_HOST}:3306/${DB_DATABASE_NAME}
        - name: DS1_DRIVER
          value: mysql
        - name: DS1_DATABASE
          value: ${DB_DATABASE_NAME}
        - name: DS1_USERNAME
          value: ${DB_USERNAME}
        - name: DS1_PASSWORD
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: password
      secrets:
        - db-secret
    EOF
    

    Pokud se příkaz úspěšně dokončil, měl by se zobrazit wildflyserver.wildfly.org/javaee-cafe created. Pokud tento výstup nevidíte, před pokračováním problém vyřešte a vyřešte ho.

  3. Spuštěním oc get pod -w | grep 1/1 monitorujte, jestli jsou spuštěné všechny pody aplikace. Když se zobrazí výstup podobný následujícímu příkladu, stisknutím kláves Ctrl + C zastavte monitorování:

    javaee-cafe-2         1/1     Running             0          31s
    javaee-cafe-1         1/1     Running             0          30s
    javaee-cafe-0         1/1     Running             0          30s
    

    Než se dostanete do správného stavu, může to trvat několik minut. Může se zobrazit STATUS i hodnoty sloupců včetně ErrImagePull a ImagePullBackOff před Running zobrazením.

  4. Spuštěním následujícího příkazu vraťte adresu URL aplikace. Tuto adresu URL můžete použít pro přístup k nasazené ukázkové aplikaci. Zkopírujte výstup do schránky.

    echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
    
  5. Vložte výstup do webového prohlížeče připojeného k internetu a stiskněte Enter. Mělo by se zobrazit uživatelské rozhraní aplikace Java EE Cafe podobné následujícímu snímku obrazovky:

    Snímek obrazovky s uživatelským rozhraním aplikace Java EE Cafe

  6. Přidejte a odstraňte některé řádky, abyste ověřili, že připojení k databázi funguje správně.

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

Pokud nebudete dál používat cluster OpenShift, přejděte zpět do pracovní skupiny prostředků. V horní části stránky v textové skupině prostředků vyberte skupinu prostředků. Pak vyberte Odstranit skupinu prostředků.

Další kroky

Další informace o nasazení JBoss EAP v Azure najdete na následujících odkazech: