Краткое руководство. Развертывание JBoss EAP в Azure Red Hat OpenShift с помощью портал Azure

В этой статье показано, как быстро встать JBoss EAP в Azure Red Hat OpenShift (ARO) с помощью портал Azure.

В этой статье используется предложение Azure Marketplace для JBoss EAP, чтобы ускорить переход к ARO. Предложение автоматически подготавливает ресурсы, включая кластер ARO со встроенным реестром контейнеров OpenShift (OCR), оператором JBoss EAP и при необходимости образом контейнера, включая JBoss EAP и приложение с помощью исходного образа (S2I). Чтобы просмотреть предложение, посетите портал Azure. Если вы предпочитаете вручную пошаговое руководство по запуску JBoss EAP в ARO, которое не использует автоматизацию, включенную предложением, см . статью "Развертывание приложения Java с помощью Red Hat JBoss Enterprise Application Platform (JBoss EAP) в кластере Azure Red Hat OpenShift 4.

Необходимые компоненты

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

  • Учетная запись Red Hat с полным профилем. Если у вас нет подписки, вы можете зарегистрироваться для получения бесплатной подписки разработчика с помощью подписки red Hat Developer для частных лиц.

  • Локальная командная строка разработчика с такой командной средой, как UNIX, например Ubuntu, macOS или подсистема Windows для Linux, и Azure CLI. Чтобы узнать, как установить Azure CLI, см . инструкции по установке Azure CLI.

  • Интерфейс командной mysql строки. Вы можете установить ИНТЕРФЕЙС командной строки с помощью следующих команд:

sudo apt update
sudo apt install mysql-server

Примечание.

Вы также можете выполнить это руководство из Azure Cloud Shell. Этот подход имеет все предварительно установленные средства предварительных требований.

Примечание.

Для создания и запуска кластера OpenShift в Azure Red Hat OpenShift требуется не менее 40 ядер. Стандартная квота ресурсов Azure для новой подписки Azure не соответствует этому требованию. Чтобы запросить увеличение лимита ресурсов, см . раздел "Стандартная квота: увеличение ограничений по рядам виртуальных машин". Обратите внимание на то, что бесплатная пробная подписка не дает права на увеличение квоты. Прежде чем запрашивать его, перейдите на подписку с оплатой по мере использования.

Получение секрета извлечения Red Hat

Предложение Azure Marketplace, используемое в этой статье, требует секрета извлечения Red Hat. В этом разделе показано, как получить секрет извлечения Red Hat для Azure Red Hat OpenShift. Дополнительные сведения о секрете извлечения Red Hat и его необходимости см . в разделе "Получение секрета извлечения Red Hat" в руководстве по созданию кластера Azure Red Hat OpenShift 4.

Чтобы получить секрет извлечения, выполните следующие действия.

  1. Откройте консоль Red Hat OpenShift Hybrid Cloud Console, а затем используйте учетную запись Red Hat для входа на портал диспетчера кластеров OpenShift. Возможно, вам потребуется принять дополнительные условия и обновить учетную запись, как показано на следующем снимке экрана. Используйте тот же пароль, что и при создании учетной записи.

    Снимок экрана: страница

  2. После входа выберите OpenShift и downloads.

  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. Сохраните секрет в файле, чтобы его можно было использовать позже.

Создание субъекта-службы Microsoft Entra из портал Azure

Предложение Azure Marketplace, используемое в этой статье, требует субъекта-службы Microsoft Entra для развертывания кластера Azure Red Hat OpenShift. Предложение назначает субъекту-службе надлежащие привилегии во время развертывания без назначения ролей. Если у вас есть субъект-служба, готовый к использованию, пропустите этот раздел и перейдите к следующему разделу, где вы создадите учетную запись службы реестра контейнеров Red Hat.

Выполните следующие действия, чтобы развернуть субъект-службу и получить идентификатор приложения (клиента) и секрет из портал 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, субъект-службу и секрет клиента.

Создание учетной записи службы реестра контейнеров Red Hat

Далее в этой статье показано, как вручную развернуть приложение в OpenShift с помощью source-to-Image (S2I). Учетная запись службы реестра контейнеров Red Hat необходима для извлечения образа контейнера для JBoss EAP, на котором выполняется приложение. Если у вас есть учетная запись службы реестра контейнеров Red Hat, готовая к использованию, пропустите этот раздел и перейдите к следующему разделу, где вы развернете предложение.

Выполните следующие действия, чтобы создать учетную запись службы реестра контейнеров Red Hat и получить имя пользователя и пароль. Дополнительные сведения см. в разделе "Создание учетных записей службы реестра" в документации по Red Hat.

  1. Используйте учетную запись Red Hat для входа в приложение управления учетными записями службы реестра.
  2. На странице "Учетные записи службы реестра" выберите "Новая учетная запись службы".
  3. Укажите имя учетной записи службы. Имя предопределено фиксированной случайной строкой.
    • Введите описание.
    • Нажмите кнопку Создать.
  4. Вернитесь к учетным записям службы.
  5. Выберите созданную учетную запись службы.
    • Запишите имя пользователя, включая предустановленную строку (тXXXXXXX|username. е. ). Используйте это имя пользователя при входе в registry.redhat.ioсистему.
    • Запишите пароль. Используйте этот пароль при входе в registry.redhat.ioсистему.

Вы создали учетную запись службы реестра контейнеров Red Hat.

Развертывание JBoss EAP в Azure Red Hat OpenShift

В этом разделе описано, как развернуть JBoss EAP в Azure Red Hat OpenShift.

В следующих шагах показано, как найти предложение и заполнить область "Основные сведения".

  1. В строке поиска в верхней части портал Azure введите JBoss EAP. В результатах поиска в разделе Marketplace выберите JBoss EAP в Azure Red Hat OpenShift, как показано на следующем снимке экрана.

    Снимок экрана: портал Azure с JBoss EAP в Azure Red Hat OpenShift в результатах поиска.

    Вы также можете перейти непосредственно в JBoss EAP в предложении Azure Red Hat OpenShift на портал Azure.

  2. На странице предложения нажмите кнопку "Создать".

  3. На панели "Основные сведения" убедитесь, что значение, отображаемое в поле "Подписка", совпадает с ролями, перечисленными в разделе предварительных требований.

  4. Необходимо развернуть предложение в пустой группе ресурсов. В поле "Группа ресурсов" выберите "Создать" и введите значение для группы ресурсов. Так как группы ресурсов должны быть уникальными в пределах подписки, выберите уникальное имя. Простой способ создания уникальных имен — использовать сочетание ваших инициалов, текущей даты и некоторого идентификатора. Например, eaparo033123rg.

  5. В разделе "Сведения об экземпляре" выберите регион для развертывания. Список регионов Azure, где работает OpenShift, см. в разделе "Регионы Для Red Hat OpenShift 4.x" в Azure.

  6. Нажмите кнопку "Далее": ARO.

Ниже показано, как заполнить область ARO, показанную на следующем снимке экрана:

Снимок экрана: портал Azure, показывающий JBoss EAP на панели ARO Azure Red Hat OpenShift.

  1. В разделе "Создание нового кластера" выберите "Да".

  2. В разделе "Предоставление сведений о создании нового кластера" для секрета извлечения Red Hat введите секрет извлечения Red Hat, полученный в разделе "Получение секрета извлечения Red Hat". Используйте то же значение для подтверждения секрета.

  3. Введите идентификатор клиента субъекта-службы с идентификатором приложения (клиента) субъекта-службы, полученного в разделе "Создание субъекта-службы Microsoft Entra" из раздела портал Azure.

  4. Заполните секрет клиента субъекта-службы секретом приложения субъекта-службы, полученного в разделе "Создание субъекта-службы Microsoft Entra" из раздела портал Azure. Используйте то же значение для подтверждения секрета.

  5. Выберите следующее приложение EAP.

Ниже показано, как заполнить область приложения EAP, показанную на следующем снимке экрана, а затем запустить развертывание.

Снимок экрана: портал Azure с приложением JBoss EAP в Azure Red Hat OpenShift EAP.

  1. Оставьте параметр no по умолчанию для развертывания приложения в OpenShift с помощью source-to-Image (S2I)?.

    Примечание.

    Далее в этом кратком руководстве показано, как вручную развернуть приложение с подключением к базе данных.

  2. По завершении выберите Next: Отзыв и создание.

  3. Выберите Review + create (Просмотреть и создать). Убедитесь, что в верхней части появится зеленое сообщение "Проверка пройдена ". Если сообщение не отображается, исправьте проблемы проверки, а затем нажмите кнопку "Проверить и создать еще раз".

  4. Нажмите кнопку создания.

  5. Отслеживание хода выполнения развертывания на странице " Развертывание".

В зависимости от сетевых условий и других действий в выбранном регионе развертывание может занять до 35 минут.

Подождите, вы можете настроить базу данных.

Настройка База данных Azure для MySQL — гибкий сервер

В следующих разделах показано, как настроить База данных Azure для MySQL — гибкий сервер.

Задание переменных среды в командной строке

Примером является приложение Java, поддерживаемое базой данных MySQL, и развертывается в кластере OpenShift с помощью исходного образа (S2I). Дополнительные сведения о S2I см. в документации по S2I.

Откройте оболочку и задайте следующие переменные среды. Замените замены соответствующим образом.

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, созданной ранее.

Рекомендуется сохранить полностью заполненные пары name/value в текстовом файле, если оболочка завершится, прежде чем выполнить команды. Таким образом, их можно вставить в новый экземпляр оболочки и легко продолжить.

Эти пары name/value по сути являются секретами. Готовый к работе способ защиты Azure Red Hat OpenShift, включая управление секретами, см. в статье "Безопасность" для акселератора целевой зоны Azure Red Hat OpenShift.

Создание и инициализация базы данных

Затем выполните следующие действия, чтобы создать База данных Azure для MySQL — гибкий сервер и создать пользователя с разрешениями на чтение и запись из конкретной базы данных.

  1. Чтобы создать гибкий сервер База данных Azure для 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
    

    Эта команда может занять десять или более минут. После успешного завершения команды вы увидите выходные данные, аналогичные следующему примеру:

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

    Сохраните пару name/value в текстовый файл.

  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 с развертыванием JBoss EAP в Azure Red Hat OpenShift с выделенным самым старым развертыванием.

  5. В области навигации выберите выходные данные. В этом списке показаны выходные значения из развертывания, которые содержат некоторые полезные сведения.

  6. Откройте оболочку, вставьте значение из поля cmdToGetKubeadminCredentials и выполните его. Вы увидите учетную запись администратора и учетные данные для входа на портал консоли кластера OpenShift. В следующем примере показана учетная запись администратора:

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

    Выходные данные этой команды выглядят примерно так:

    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. Вставьте значение из поля consoleUrl в веб-браузер, подключенный к Интернету, и нажмите клавишу ВВОД. Введите имя пользователя и пароль администратора, а затем нажмите кнопку "Войти". В консоли администрирования Azure Red Hat OpenShift выберите операторы, установленные операторы>, где можно найти, что оператор JBoss EAP успешно установлен, как показано на следующем снимке экрана.

    Снимок экрана: портал консоли кластера Red Hat OpenShift с страницей

Затем выполните следующие действия, чтобы подключиться к кластеру OpenShift с помощью интерфейса командной строки OpenShift:

  1. В оболочке используйте следующие команды, чтобы скачать последнюю версию интерфейса командной строки OpenShift 4 для GNU/Linux. При запуске в ОС, отличной от 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 с помощью интерфейса командной строки 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, изображение секрета извлечения и связывание секрета с относительными учетными записями служб в проекте, чтобы включить извлечение изображения. Не учитывайте предупреждение Git о состоянии "отсоединяемой головы".

    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)
    

    Так как в следующем разделе используется формат 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
    

    Для достижения правильного состояния может потребоваться несколько минут. Вы даже можете увидеть STATUS значения столбцов, включая ErrImagePull и ImagePullBackOff прежде чем Running отображаться.

  4. Выполните следующую команду, чтобы вернуть URL-адрес приложения. Этот URL-адрес можно использовать для доступа к развернутого примера приложения. Скопируйте выходные данные в буфер обмена.

    echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
    
  5. Вставьте выходные данные в веб-браузер, подключенный к Интернету, и нажмите клавишу ВВОД. Вы увидите пользовательский интерфейс приложения Кафе Java EE, аналогичного следующему снимку экрана:

    Снимок экрана: пользовательский интерфейс приложения Java EE Cafe.

  6. Добавьте и удалите некоторые строки, чтобы убедиться, что подключение к базе данных работает правильно.

Очистка ресурсов

Если вы не собираетесь продолжать использовать кластер OpenShift, вернитесь к рабочей группе ресурсов. В верхней части страницы под текстом Группа ресурсов выберите группу ресурсов. Затем выберите "Удалить группу ресурсов".

Следующие шаги

Дополнительные сведения о развертывании JBoss EAP в Azure см. по следующим ссылкам: