共用方式為


快速入門:在 Azure Red Hat OpenShift 上部署 JBoss EAP

本文說明如何使用 Azure 入口網站,在 Azure Red Hat OpenShift 上快速設定 JBoss 企業應用程式平臺 (EAP)。

本文使用適用於 JBoss EAP 的 Azure Marketplace 供應專案,加速您前往 Azure Red Hat OpenShift 的旅程。 供應專案會自動布建資源,包括具有內建 OpenShift Container Registry(OCR)、JBoss EAP 操作員的 Azure Red Hat OpenShift 叢集,以及選擇性的容器映射,包括 JBoss EAP,以及使用 Source-to-Image (S2I) 的應用程式。 若要查看供應項目,請瀏覽 Azure 入口網站。 如果您想要在 Azure Red Hat OpenShift 上執行 JBoss EAP 的手動逐步指引,但未使用供應專案所啟用的自動化功能,請參閱 在 Azure Red Hat OpenShift 4 叢集上部署 Java 應用程式與 Red Hat JBoss Enterprise Application Platform (JBoss EAP)。

若您有興趣與開發 Azure 上 JBoss EAP 解決方案的工程團隊緊密合作以進行移轉,請填寫這份簡短的 JBoss EAP 移轉問卷,並附上您的連絡資訊。 由專案經理、結構設計師和工程師組成的小組會立即連絡您,以展開緊密合作。

必要條件

注意

Azure Red Hat OpenShift 至少需要 40 個核心,才能建立和執行 OpenShift 叢集。 新 Azure 訂閱的預設 Azure 資源配額不符合這項需求。 若要要求提高資源限制,請參閱提高 VM 系列 vCPU 配額。 附註:免費試用訂用帳戶不符合提高配額的資格。 請先升級至隨用隨付訂用帳戶,再要求增加配額。 如需詳細資訊,請參閱將您的 Azure 免費帳戶或 Azure 學生入門版帳戶升級 (部分機器翻譯)。

取得 Red Hat 提取祕密

本文中使用的 Azure Marketplace 供應項目需要 Red Hat 提取祕密。 本節會示範如何取得 Azure Red Hat OpenShift 的 Red Hat 提取祕密。 若要了解 Red Hat 提取祕密是什麼,以及為何需要該項,請參閱教學課程:建立 Azure Red Hat OpenShift 4 叢集中的取得 Red Hat 提取密碼章節。

使用下列步驟來取得提取祕密:

  1. 開啟 Red Hat OpenShift Hybrid Cloud Console,然後使用您的 Red Hat 帳戶登入 OpenShift 叢集管理員入口網站。 您可能需要接受更多條款並更新您的帳戶,如下列螢幕擷取畫面所示。 使用您在建立帳戶時所使用的相同密碼。

    螢幕擷取畫面顯示 Red Hat 更新您的帳戶頁面。

  2. 登入之後,請選取 [OpenShift],然後 [下載]

  3. 選取 [所有類別] 下拉式清單 ,然後選取 [權杖]

  4. 在 [提取祕密] 底下,選取 [複製] 或 [下載] 以取得此值,如下列螢幕擷取畫面所示。

    Red Hat 主控台入口網站的螢幕擷取畫面,其中顯示提取祕密。

    下列內容是從 Red Hat 控制台入口網站複製的範例,而 xxxx...xxx 將會取代驗證碼。

    {"auths":{"cloud.openshift.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"quay.io":{"auth":"xxx...xxx","email":"contoso-user@test.com"},"registry.connect.redhat.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"registry.redhat.io":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"}}}
    
  5. 將祕密儲存至檔案,以供日後使用。

建立 Red Hat Container Registry 服務帳戶

稍後,本文會示範如何使用 Source-to-Image (S2I) 手動將應用程式部署至 OpenShift。 需要具備 Red Hat Container Registry 服務帳戶,才能提取用於執行您應用程式的 JBoss EAP 容器映像。 若您有已準備就緒的 Red Hat Container Registry 服務帳戶,請略過本節並移至下一節,說明您如何部署供應項目。

使用下列步驟來建立 Red Hat Container Registry 服務帳戶,並取得其使用者名稱和密碼。 如需詳細資訊,請參閱 Red Hat 文件中的建立登錄服務帳戶

  1. 使用您的 Red Hat 帳戶登入登錄服務帳戶管理應用程式
  2. 在 [登錄服務帳戶] 頁面中,選取 [新服務帳戶]
  3. 請為服務帳戶提供名稱。 名稱前面會加上固定的隨機字串。
    • 輸入描述。
    • 選取 [建立]
  4. 瀏覽回到您的服務帳戶。
  5. 選取您建立的服務帳戶。
    • 記下使用者名稱,包括前面所加上的字串 (也就是 XXXXXXX|username)。 您將於登入 registry.redhat.io 時使用此使用者名稱。
    • 記下密碼。 您將於登入 registry.redhat.io 時使用此密碼。

您已建立自己的 Red Hat Container Registry 服務帳戶。

從 Azure 入口網站建立 Microsoft Entra 服務主體

本文中使用的 Azure Marketplace 供應項目需要 Microsoft Entra 服務主體來部署 Azure Red Hat OpenShift 叢集。 供應項目會在部署期間指派具有適當權限的服務主體,而不需要進行角色指派。 若您有已準備就緒的服務主體,請略過本節並移至下一節,說明您如何建立 Red Hat Container Registry 服務帳戶。

使用下列步驟來部署服務主體,並從 Azure 入口網站取得其應用程式 (用戶端) 識別碼和祕密。 如需更多資訊,請參閱建立和使用服務主體以部署 Azure Red Hat OpenShift 叢集

注意

您必須擁有足夠的權限,才能使用 Microsoft Entra 租用戶註冊應用程式。 如果您遇到問題,請檢查必要的權限以確保您的帳戶可以建立身分識別。 如需詳細資訊,請參閱註冊 Microsoft Entra 應用程式並建立服務主體

  1. 透過 Azure 入口網站登入 Azure 帳戶。

  2. 選取 [Microsoft Entra ID]

  3. 選取 應用程式註冊

  4. 選取新增註冊

  5. 應用程式的名稱,例如 jboss-eap-on-aro-app。 選取一個受支援的帳戶類型,以決定誰可以使用該應用程式。 設定值後,請選取 [註冊],如下列螢幕擷取畫面所示。 佈建應用程式需要幾秒鐘的時間。 等待部署完成,然後再繼續進行。

    Azure 入口網站的螢幕擷取畫面,其中顯示 [註冊應用程式] 頁面。

  6. 從概觀頁面儲存應用程式 (用戶端) 識別碼,如下列螢幕擷取畫面所示。 將指標暫留在值上方 (螢幕擷取畫面中已遮蔽該值),然後選取出現的複製圖示。 工具提示會顯示 [複製到剪貼簿]。 請小心複製正確的值,因為該區段中的其他值也會有複製圖示。 將應用程式識別碼儲存至檔案,以供日後使用。

    Azure 入口網站的螢幕擷取畫面,其中顯示 [概觀] 頁面 (應用程式 (用戶端) 識別碼已醒目提示)。

  7. 依照下列步驟建立新的用戶端密碼:

    1. 選取 [憑證和秘密]
    2. 選取 [用戶端密碼],然後選取 [新用戶端密碼]
    3. 提供祕密的描述及持續時間。 完成後,選取 [新增]
    4. 新增用戶端密碼之後,就會顯示用戶端密碼的值。 請複製此值,因為您之後無法取得此值。 請務必複製 [值],而不是 [祕密識別碼]

您已建立 Microsoft Entra 應用程式、服務主體和用戶端密碼。

驗證此服務主體

使用下列命令,來驗證此服務主體:

az login \
    --service-principal \
    --username <service-principal-client-id> \
    --password <service-principal-client-secret> \
    --tenant <tenant-id>
az account show

<service-principal-client-id><service-principal-client-secret><tenant-id> 取代為您在先前步驟中取得的值。 如果您看到帳戶資訊,則表示此為有效的服務主體。

在 Azure Red Hat OpenShift 上部署 JBoss EAP

本章節中的步驟會引導您在 Azure Red Hat OpenShift 上部署 JBoss EAP。

下列步驟會示範如何尋找供應項目,並填寫 [基本] 窗格。

  1. 在 [Azure 入口網站] 頂端的搜尋列中,輸入 [JBoss EAP]。 在搜尋結果中的 [Marketplace] 區段中,選取 [Azure Red Hat OpenShift 上的 JBoss EAP],如下列螢幕擷取畫面所示。

    Azure 入口網站的螢幕擷取畫面,其中顯示搜尋結果中 Azure Red Hat OpenShift 上的 JBoss EAP。

    您也可以直接前往 Azure 入口網站上 Azure Red Hat OpenShift 上的 JBoss EAP 供應項目

  2. 在供應項目頁面上,選取 [建立]

  3. 在 [基本] 窗格中,確保 [訂用帳戶] 欄位中顯示的值與先決條件區段中所列的角色相同。

  4. 您必須在空的資源群組中部署供應項目。 在 [資源群組] 欄位中,選取 [建立新群組],然後填入資源群組的值。 因為資源群組在訂用帳戶內必須是唯一的,所以請挑選唯一的名稱。 擁有唯一名稱的簡單方式是使用您的姓名縮寫、今天日期與一些識別碼的組合。 例如,eaparo033123rg

  5. 在 [執行個體詳細資料] 下方,選取部署的區域。 如需有 OpenShift 運作的 Azure 區域清單,請參閱 Azure 上適用於 Red Hat OpenShift 4.x 的區域

  6. 選取 [下一步:ARO]

以下步驟將示範如何填寫下列螢幕擷取畫面所示的 [ARO] 窗格:

Azure 入口網站的螢幕擷取畫面,其中顯示 Azure Red Hat OpenShift ARO 窗格上的 JBoss EAP。

  1. 在 [建立新叢集] 底下,選取 [是]

  2. 在 [提供資訊以建立新叢集] 底下,針對 [Red Hat 提取祕密] 填入您在取得 Red Hat 提取祕密章節中所取得的 Red Hat 提取祕密。 針對 [確認祕密] 使用相同的值。

  3. 使用您在從 Azure 入口網站建立 Microsoft Entra 服務主體章節中取得的服務主體應用程式 (用戶端) 識別碼,填妥 [服務主體用戶端識別碼]

  4. 使用您在從 Azure 入口網站建立 Microsoft Entra 服務主體章節中取得的服務主體應用程式祕密,填妥 [服務主體用戶端密碼]。 針對 [確認祕密] 使用相同的值。

  5. 選取 [下一個 EAP 應用程式]

以下步驟將示範如何填寫下列螢幕擷取畫面所示的 [EAP 應用程式] 窗格,然後開始部署。

Azure 入口網站的螢幕擷取畫面,其中顯示 Azure Red Hat OpenShift EAP 應用程式窗格上的 JBoss EAP。

  1. 對於「是否使用 Source-to-Image (S2I) 將應用程式部署至 OpenShift?」,請保留預設選項 [否]

    注意

    稍後,本快速入門會示範如何使用資料庫連結手動部署應用程式。

  2. 完成時,選取 [下一步:檢閱 + 建立]。

  3. 選取 [檢閱 + 建立]。 確保頂端顯示綠色的 [通過驗證] 訊息。 如果訊息未出現,請修正任何驗證問題,然後再次選取 [檢閱 + 建立]

  4. 選取 建立

  5. 在 [正在進行部署] 頁面上,追蹤部署的進度。

根據所選取區域中的網路狀況和其他活動,部署最多可能需要 35 分鐘的時間才能完成。

等候時,您可以設定資料庫。

設定適用於 MySQL 的 Azure 資料庫 - 彈性伺服器

下列各節說明如何設定適用於 MySQL 的 Azure 資料庫 - 彈性伺服器。

在命令列殼層中設定環境變數

此範例是由 MySQL 資料庫支援的 Java 應用程式,並使用 Source-to-Image (S2I) 部署至 OpenShift 叢集。 如需關於 S2I 的詳細資訊,請參閱 S2I 文件

注意

由於 Azure OpenShift 尚不支援 Azure 工作負載身分識別,本文仍會使用使用者名稱和密碼進行資料庫驗證,而不是使用無密碼的資料庫連線。

開啟殼層並設定下列環境變數。 視需求取代替代項目。

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

將預留位置取代為下列值,本文之後都將使用這些值:

  • <resource-group-name>:您先前建立的資源群組名稱,例如 eaparo033123rg
  • <database-server-name>:您的 MySQL 伺服器名稱,此名稱在整個 Azure 中應該是唯一的,例如 eaparo033123mysql
  • ADMIN_PASSWORD:您 MySQL 資料庫伺服器的管理員密碼。 本文是使用顯示的密碼進行測試。 如需密碼規則,請參閱資料庫文件。
  • <red-hat-container-registry-service-account-username><red-hat-container-registry-service-account-password>:您先前建立 Red Hat Container Registry 服務帳戶的使用者名稱和密碼。

理想方式是先將完全填妥的名稱/值組儲存在文字檔中,避免殼層在您完成執行命令之前就結束。 如此一來,您就可以將資訊貼到殼層的新執行個體,輕鬆地繼續作業。

這些名稱/值組基本上就是「祕密」。 如需確保 Azure Red Hat OpenShift 生產就緒方式的安全性 (包括祕密管理),請參閱 Azure Red Hat OpenShift 登陸區域加速器安全性

建立並初始化資料庫

接下來,使用下列步驟建立適用於 MySQL 的 Azure 資料庫 - 彈性伺服器,並建立具有讀取/寫入特定資料庫權限的使用者。

  1. 使用下列命令建立適用於 MySQL 的 Azure 資料庫 - 彈性伺服器:

    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
    

    此命令可能需要十分鐘以上才能完成。 命令完成之後,您會看到類似於下列範例的輸出:

    {
      "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. 使用下列命令來取得已建立 MySQL 伺服器的主機:

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

    將名稱/值組儲存至文字檔。

  3. 使用下列命令建立暫時防火牆規則,以允許從公開網際網路連線至 MySQL 伺服器:

    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. 使用下列命令建立具有讀取和寫入特定資料庫權限的新資料庫使用者。 此命令有助於將 SQL 直接傳送至資料庫。

    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. 使用下列命令來刪除臨時的防火牆規則:

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

您現在已執行 MySQL 資料庫伺服器,並準備好連線至您的應用程式。

驗證部署的功能

本節中的步驟將示範如何確認成功完成的部署。

如果您離開 [正在進行部署] 頁面,則下列步驟顯示如何返回該頁面。 如果您仍在顯示 [您的部署已完成] 的頁面上,您可以跳到第 5 步。

  1. 在任何 Azure 入口網站頁面的角落,選取漢堡功能表後再選取 [資源群組]

  2. 在包含 [篩選任何欄位] 文字的方塊中,輸入您先前建立資源群組的前幾個字元。 如果您遵循建議的慣例,請輸入您的縮寫,然後選取適當的資源群組。

  3. 在瀏覽窗格的 [設定] 區段中,選取 [部署]。 您會看到此資源群組的已排序部署清單,而且會先列出最新的部署。

  4. 捲動至此清單中的最舊項目。 此項目會對應至您已在上節中啟動的部署。 選取最舊部署,如下列螢幕擷取畫面所示。

    Azure 入口網站的螢幕擷取畫面,其中顯示 Azure Red Hat OpenShift 部署上的 JBoss EAP,並醒目提示最舊的部署。

  5. 在瀏覽窗格中,選取 [輸出]。 此清單會顯示部署的輸出值,其中包含一些實用資訊。

  6. 開啟殼層,貼上 [cmdToGetKubeadminCredentials] 欄位中的值,然後加以執行。 您會看到用於登入 OpenShift 叢集控制台入口網站的管理員帳戶和登入資訊。 以下範例會顯示管理員帳戶:

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

    此命令所產生的輸出與下列範例類似:

    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. 將 [consoleUrl] 欄位中的值貼到已連上網際網路的網頁瀏覽器中,然後按下 Enter 鍵。 填入管理員使用者名稱和密碼,然後選取 [登入]。 在 Azure Red Hat OpenShift 的管理控制台中,選取 [運算子]>[已安裝運算子],您可以在其中找到已成功安裝的 JBoss EAP 運算子,如下列螢幕擷取畫面所示。

    Red Hat OpenShift 叢集主控台入口網站的螢幕擷取畫面,其中顯示 [已安裝的運算子] 頁面。

接下來,請遵循下列步驟使用 OpenShift CLI 連線至 OpenShift 叢集:

  1. 在殼層中,使用下列命令下載適用於 GNU/Linux 的最新 OpenShift 4 CLI。 如果在 GNU/Linux 以外的作業系統上執行,請下載適用於該作業系統的二進位檔。

    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. 將 [cmdToLoginWithKubeadmin] 欄位的值貼到殼層中,然後加以執行。 您應該會看到 login successful 訊息和您正在使用的專案。 下列內容是使用 OpenShift CLI 連線至 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)
    

    此命令所產生的輸出與下列範例類似:

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

將 JBoss EAP 應用程式部署至 OpenShift 叢集

本節中的步驟會示範如何在叢集上部署應用程式。

將應用程式部署至叢集

使用下列步驟將應用程式部署至叢集。 應用程式會託管於 GitHub 存放庫 rhel-jboss-templates/eap-coffee-app 中。

  1. 在殼層中執行下列命令。 命令會建立專案、套用權限以讓 S2I 能夠運作、映射提取秘密,並將秘密連結至專案中的相對服務帳戶以啟用映像提取。 忽略有關「已中斷連接 HEAD」狀態的 Git 警告。

    git clone https://github.com/Azure/rhel-jboss-templates.git
    cd rhel-jboss-templates
    git checkout 20240904
    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)
    

    因為下一節會使用 HEREDOC 格式,所以理想方式是將其包含在自己的程式碼摘錄中並加以執行。

    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
    

    您必須看到 secret/eaparo-sample-pull-secret created 以指出成功建立秘密。 如果您看不到此輸出,則請先進行疑難排解並解決問題,再繼續進行。 最後,將秘密連結至預設服務帳戶以下載容器映像,讓叢集可以加以執行。

    oc secrets link default ${CON_REG_SECRET_NAME} --for=pull
    oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
    
  2. 使用下列命令來提取映像資料流 jboss-eap74-openjdk11-openshift。 然後,啟動來源至映像流程,並等到完成為止。

    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
    

成功的輸出應會以類似下列的範例結束:

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

如果您看不到類似輸出,則請先進行疑難排解並解決問題,再繼續進行。

建立資料庫密碼的秘密

接下來,使用下列步驟建立秘密:

  1. 使用下列命令建立儲存資料庫密碼的秘密:

    oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
    
  2. 使用下列命令,在叢集中部署和執行三個容器化應用程式的複本:

    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
    

    如果命令順利完成,您應會看到 wildflyserver.wildfly.org/javaee-cafe created。 如果您看不到此輸出,則請先進行疑難排解並解決問題,再繼續進行。

  3. 執行 oc get pod -w | grep 1/1 以監視應用程式的所有 Pod 是否正在執行。 當您看到類似下列範例的輸出時,請按下 Ctrl + C 鍵來停止監視:

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

    這可能需要幾分鐘才會達到適當的狀態。 您甚至可以在顯示 Running 之前看到 STATUS 資料行值,包括 ErrImagePullImagePullBackOff

  4. 執行下列命令以傳回應用程式的 URL。 您可以使用此 URL 來存取已部署的範例應用程式。 將輸出複製到剪貼簿。

    echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
    
  5. 將輸出貼到已連上網際網路的網頁瀏覽器中,然後按下 Enter 鍵。 您應該會看到類似於下列螢幕擷取畫面的 Java EE Cafe 使用者介面:

    螢幕擷取畫面,其中顯示 JAVA EE Cafe 範例應用程式 UI。

  6. 新增和刪除一些列,以確認資料庫連線如期運作。

清除資源

如果您沒有要繼續使用 OpenShift 叢集,請瀏覽回到工作資源群組。 在頁面頂端的 [資源群組] 文字底下,選取資源群組。 然後,選取 [刪除資源群組]

後續步驟

如需在 Azure 上部署 JBoss EAP 的詳細資訊,請參閱 Azure 上的 Red Hat JBoss EAP