Partilhar via


Guia de início rápido: implantar o JBoss EAP no Red Hat OpenShift do Azure

Este artigo mostra como configurar rapidamente o JBoss Enterprise Application Platform (EAP) no Red Hat OpenShift do Azure usando o portal do Azure.

Este artigo usa a oferta do Azure Marketplace para JBoss EAP para acelerar sua jornada para o Azure Red Hat OpenShift. A oferta provisiona automaticamente recursos, incluindo um cluster do Azure Red Hat OpenShift com um OCR (Container Registry) OpenShift integrado, o JBoss EAP Operator e, opcionalmente, uma imagem de contêiner incluindo JBoss EAP e seu aplicativo usando Source-to-Image (S2I). Para ver a oferta, visite o portal do Azure. Se você preferir orientação passo a passo manual para executar o JBoss EAP no Azure Red Hat OpenShift que não usa a automação habilitada pela oferta, consulte Implantar um aplicativo Java com o Red Hat JBoss Enterprise Application Platform (JBoss EAP) em um cluster do Azure Red Hat OpenShift 4.

Se você estiver interessado em fornecer comentários ou trabalhar de perto em seus cenários de migração com a equipe de engenharia que desenvolve o JBoss EAP em soluções do Azure, preencha esta breve pesquisa sobre a migração do JBoss EAP e inclua suas informações de contato. A equipe de gerentes de programa, arquitetos e engenheiros entrará prontamente em contato com você para iniciar uma estreita colaboração.

Pré-requisitos

Nota

O Azure Red Hat OpenShift requer, pelo menos, 40 núcleos para criar e executar um cluster do OpenShift. A quota de recursos predefinida de uma nova subscrição do Azure não cumpre este requisito. Para solicitar um aumento no limite de recursos, consulte Aumentar as cotas de vCPU da família VM. Observe que a assinatura de avaliação gratuita não é qualificada para um aumento de cota. Atualize para uma subscrição pré-paga antes de solicitar um aumento de quota. Para obter mais informações, consulte Atualizar sua conta gratuita do Azure ou Conta do Azure for Students Starter.

Obtenha um segredo de atração da Red Hat

A oferta do Azure Marketplace usada neste artigo requer um segredo de pull da Red Hat. Esta seção mostra como obter um segredo de pull da Red Hat para o Azure Red Hat OpenShift. Para saber o que é um segredo de pull do Red Hat e por que você precisa dele, consulte a seção Obter um segredo de pull do Red Hat do Tutorial: Criar um cluster do Azure Red Hat OpenShift 4.

Use as seguintes etapas para obter o segredo de extração:

  1. Abra o Red Hat OpenShift Hybrid Cloud Console e use sua conta Red Hat para fazer login no portal do gerenciador de clusters OpenShift. Talvez seja necessário aceitar mais termos e atualizar sua conta, conforme mostrado na captura de tela a seguir. Utilize a mesma palavra-passe de quando criou a conta.

    Captura de tela da página Red Hat Update Your Account.

  2. Depois de entrar, selecione OpenShift e Downloads.

  3. Selecione a lista suspensa Todas as categorias e, em seguida, selecione Tokens.

  4. Em Extrair segredo, selecione Copiar ou Baixar para obter o valor, conforme mostrado na captura de tela a seguir.

    Captura de tela do portal do console Red Hat que mostra o segredo de pull.

    O conteúdo a seguir é um exemplo que foi copiado do portal do console Red Hat, com os códigos de autenticação substituídos por 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. Salve o segredo em um arquivo para que você possa usá-lo mais tarde.

Criar uma conta de serviço do Red Hat Container Registry

Mais tarde, este artigo mostra como implantar manualmente um aplicativo no OpenShift usando Source-to-Image (S2I). Uma conta de serviço do Red Hat Container Registry é necessária para extrair a imagem do contêiner para o JBoss EAP no qual executar seu aplicativo. Se você tiver uma conta de serviço do Red Hat Container Registry pronta para uso, ignore esta seção e passe para a próxima seção, onde você implanta a oferta.

Use as etapas a seguir para criar uma conta de serviço do Red Hat Container Registry e obter seu nome de usuário e senha. Para obter mais informações, consulte Criando contas de serviço de registro na documentação da Red Hat .

  1. Use sua conta Red Hat para entrar no Aplicativo de Gerenciamento de Conta do Serviço de Registro.
  2. Na página Contas de Serviço de Registro, selecione Nova Conta de Serviço.
  3. Forneça um nome para a Conta de Serviço. O nome é precedido de uma cadeia de caracteres fixa e aleatória.
    • Introduza uma descrição.
    • Selecione criar.
  4. Navegue de volta às suas Contas de Serviço.
  5. Selecione a Conta de Serviço que você criou.
    • Anote o nome de usuário, incluindo a cadeia de caracteres prepended (ou seja, XXXXXXX|username). Utilize este nome de utilizador quando iniciar sessão no registry.redhat.io.
    • Anote a senha. Utilize esta palavra-passe quando iniciar sessão no registry.redhat.io.

Você criou sua conta de serviço do Red Hat Container Registry.

Criar uma entidade de serviço do Microsoft Entra a partir do portal do Azure

A oferta do Azure Marketplace usada neste artigo requer uma entidade de serviço do Microsoft Entra para implantar seu cluster do Azure Red Hat OpenShift. A oferta atribui à entidade de serviço privilégios adequados durante o tempo de implantação, sem necessidade de atribuição de função. Se você tiver uma entidade de serviço pronta para uso, ignore esta seção e passe para a próxima seção, onde você cria uma conta de serviço do Red Hat Container Registry.

Use as etapas a seguir para implantar uma entidade de serviço e obter sua ID de Aplicativo (cliente) e segredo do portal do Azure. Para obter mais informações, consulte Criar e usar uma entidade de serviço para implantar um cluster do Azure Red Hat OpenShift.

Nota

Você deve ter permissões suficientes para registrar um aplicativo com seu locatário do Microsoft Entra. Se você tiver um problema, verifique as permissões necessárias para garantir que sua conta possa criar a identidade. Para obter mais informações, consulte Registrar um aplicativo Microsoft Entra e criar uma entidade de serviço.

  1. Entre na sua conta do Azure por meio do portal do Azure.

  2. Selecione Microsoft Entra ID.

  3. Selecione Registos de aplicações.

  4. Selecione Novo registo.

  5. Nomeie o aplicativo - por exemplo, jboss-eap-on-aro-app. Selecione um tipo de conta suportado, que determina quem pode usar o aplicativo. Depois de definir os valores, selecione Registrar, conforme mostrado na captura de tela a seguir. Leva vários segundos para provisionar o aplicativo. Aguarde a conclusão da implantação antes de prosseguir.

    Captura de ecrã do portal do Azure que mostra a página Registar uma aplicação.

  6. Salve o ID do aplicativo (cliente) na página de visão geral, conforme mostrado na captura de tela a seguir. Passe o ponteiro sobre o valor, que é editado na captura de tela, e selecione o ícone de cópia que aparece. A dica de ferramenta diz Copiar para área de transferência. Tenha cuidado para copiar o valor correto, pois os outros valores nessa seção também têm ícones de cópia. Salve a ID do aplicativo em um arquivo para que você possa usá-lo mais tarde.

    Captura de ecrã do portal do Azure que mostra a página Descrição Geral com o ID da Aplicação (cliente) realçado.

  7. Crie um novo segredo de cliente seguindo estas etapas:

    1. Selecione Certificados & segredos.
    2. Selecione Segredos do cliente e, em seguida , Novo segredo do cliente.
    3. Forneça uma descrição do segredo e uma duração. Quando terminar, selecione Adicionar.
    4. Depois que o segredo do cliente é adicionado, o valor do segredo do cliente é exibido. Copie esse valor porque não é possível recuperá-lo mais tarde. Certifique-se de copiar o valor e não a ID secreta.

Você criou seu aplicativo Microsoft Entra, entidade de serviço e segredo do cliente.

Validar a entidade de serviço

Use o seguinte comando para validar a entidade de serviço:

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

Substitua <service-principal-client-id>, <service-principal-client-secret>e <tenant-id> pelos valores obtidos nas etapas anteriores. Se você vir as informações da conta, a entidade de serviço será válida.

Implantar o JBoss EAP no Red Hat OpenShift do Azure

As etapas nesta seção direcionam você para implantar o JBoss EAP no Red Hat OpenShift do Azure.

As etapas a seguir mostram como encontrar a oferta e preencher o painel Noções básicas .

  1. Na barra de pesquisa na parte superior do portal do Azure, digite JBoss EAP. Nos resultados da pesquisa, na seção Marketplace , selecione JBoss EAP no Azure Red Hat OpenShift, conforme mostrado na captura de tela a seguir.

    Captura de tela do portal do Azure que mostra o JBoss EAP no Red Hat OpenShift do Azure nos resultados da pesquisa.

    Você também pode ir diretamente para a oferta JBoss EAP no Azure Red Hat OpenShift no portal do Azure.

  2. Na página da oferta, selecione Criar.

  3. No painel Noções básicas, verifique se o valor mostrado no campo Assinatura é o mesmo que tem as funções listadas na seção de pré-requisitos.

  4. Você deve implantar a oferta em um grupo de recursos vazio. No campo Grupo de recursos, selecione Criar novo e preencha um valor para o grupo de recursos. Como os grupos de recursos devem ser exclusivos dentro de uma assinatura, escolha um nome exclusivo. Uma maneira fácil de ter nomes exclusivos é usar uma combinação de suas iniciais, a data de hoje e algum identificador. Por exemplo, eaparo033123rg.

  5. Em Detalhes da instância, selecione a região para a implantação. Para obter uma lista de regiões do Azure onde o OpenShift opera, consulte Regiões do Red Hat OpenShift 4.x no Azure.

  6. Selecione Next: ARO.

As etapas a seguir mostram como preencher o painel ARO mostrado na captura de tela a seguir:

Captura de tela do portal do Azure que mostra o JBoss EAP no painel ARO do Red Hat OpenShift do Azure.

  1. Em Criar um novo cluster, selecione Sim.

  2. Em Fornecer informações para criar um novo cluster, para o segredo de pull da Red Hat, preencha o segredo de pull da Red Hat que você obteve na seção Obter um segredo de pull da Red Hat. Use o mesmo valor para Confirmar segredo.

  3. Preencha a ID do cliente da entidade de serviço com a ID do Aplicativo (cliente) da entidade de serviço que você obteve na seção Criar uma entidade de serviço do Microsoft Entra na seção Portal do Azure.

  4. Preencha o segredo do cliente da entidade de serviço com o segredo do aplicativo da entidade de serviço que você obteve na seção Criar uma entidade de serviço do Microsoft Entra no portal do Azure. Use o mesmo valor para Confirmar segredo.

  5. Selecione Próximo aplicativo EAP.

As etapas a seguir mostram como preencher o painel Aplicativo EAP mostrado na captura de tela a seguir e iniciar a implantação.

Captura de tela do portal do Azure que mostra o JBoss EAP no painel Aplicativo EAP Red Hat OpenShift do Azure.

  1. Deixe a opção padrão de Não para implantar um aplicativo no OpenShift usando Source-to-Image (S2I)?.

    Nota

    Mais tarde, este guia de início rápido mostra como implantar manualmente um aplicativo com uma conexão de banco de dados.

  2. Selecione Seguinte: Rever + criar.

  3. Selecione Rever + criar. Verifique se a mensagem verde Validação aprovada aparece na parte superior. Se a mensagem não aparecer, corrija os problemas de validação e selecione Rever + criar novamente.

  4. Selecione Criar.

  5. Acompanhe o progresso da implantação na página Implantação está em andamento .

Dependendo das condições da rede e de outras atividades na região selecionada, a implantação pode levar até 35 minutos para ser concluída.

Enquanto espera, você pode configurar o banco de dados.

Configurar o Banco de Dados do Azure para MySQL - Servidor Flexível

As seções a seguir mostram como configurar o Banco de Dados do Azure para MySQL - Servidor Flexível.

Definir variáveis de ambiente no shell de linha de comando

O exemplo é um aplicativo Java apoiado por um banco de dados MySQL e é implantado no cluster OpenShift usando Source-to-Image (S2I). Para obter mais informações sobre o S2I, consulte a documentação do S2I.

Nota

Como a Identidade de Carga de Trabalho do Azure ainda não é suportada pelo Azure OpenShift, este artigo ainda usa nome de usuário e senha para autenticação de banco de dados em vez de usar conexões de banco de dados sem senha.

Abra um shell e defina as seguintes variáveis de ambiente. Substitua as substituições conforme adequado.

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

Substitua os espaços reservados pelos seguintes valores, que são usados no restante do artigo:

  • <resource-group-name>: O nome do grupo de recursos que você criou anteriormente - por exemplo, eaparo033123rg.
  • <database-server-name>: O nome do seu servidor MySQL, que deve ser exclusivo no Azure - por exemplo, eaparo033123mysql.
  • ADMIN_PASSWORD: A senha de administrador do seu servidor de banco de dados MySQL. Este artigo foi testado usando a senha mostrada. Consulte a documentação do banco de dados para obter regras de senha.
  • <red-hat-container-registry-service-account-username> e <red-hat-container-registry-service-account-password>: O nome de usuário e a senha da conta de serviço do Red Hat Container Registry que você criou antes.

É uma boa ideia salvar os pares nome/valor totalmente preenchidos em um arquivo de texto, caso o shell saia antes de terminar de executar os comandos. Dessa forma, você pode colá-los em uma nova instância do shell e continuar facilmente.

Estes pares nome/valor são essencialmente "segredos". Para obter uma maneira pronta para produção de proteger o Azure Red Hat OpenShift, incluindo gerenciamento secreto, consulte Segurança para o acelerador de zona de aterrissagem do Azure Red Hat OpenShift.

Criar e inicializar o banco de dados

Em seguida, use as etapas a seguir para criar um Banco de Dados do Azure para MySQL - Servidor Flexível e crie um usuário com permissões para ler/gravar de/para o banco de dados específico.

  1. Use o seguinte comando para criar um Banco de Dados do Azure para MySQL - Servidor Flexível:

    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
    

    Esse comando pode levar dez ou mais minutos para ser concluído. Quando o comando for concluído com êxito, você verá uma saída semelhante ao exemplo a seguir:

    {
      "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. Use os seguintes comandos para obter o host do servidor MySQL criado:

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

    Salve o par nome/valor em seu arquivo de texto.

  3. Use o seguinte comando para criar uma regra de firewall temporária para permitir a conexão com o servidor MySQL a partir da Internet pública:

    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. Use o comando a seguir para criar um novo usuário de banco de dados com permissões para ler e gravar o banco de dados específico. Este comando é útil para enviar SQL diretamente para o banco de dados.

    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. Use o seguinte comando para excluir a regra de firewall temporária:

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

Agora você tem um servidor de banco de dados MySQL em execução e pronto para se conectar ao seu aplicativo.

Verificar a funcionalidade da implantação

As etapas nesta seção mostram como verificar se a implantação foi concluída com êxito.

Se você navegou para fora da página Implantação está em andamento , as etapas a seguir mostram como voltar a essa página. Se você ainda estiver na página que mostra Sua implantação foi concluída, pule para a etapa 5.

  1. No canto de qualquer página do portal do Azure, selecione o menu hambúrguer e, em seguida, selecione Grupos de recursos.

  2. Na caixa com o texto Filtro para qualquer campo, insira os primeiros caracteres do grupo de recursos criado anteriormente. Se você seguiu a convenção recomendada, insira suas iniciais e selecione o grupo de recursos apropriado.

  3. No painel de navegação, na seção Configurações , selecione Implantações. Você verá uma lista ordenada das implantações para esse grupo de recursos, com a mais recente primeiro.

  4. Desloque-se para a entrada mais antiga desta lista. Esta entrada corresponde à implantação iniciada na seção anterior. Selecione a implantação mais antiga, conforme mostrado na captura de tela a seguir.

    Captura de tela do portal do Azure que mostra o JBoss EAP em implantações do Red Hat OpenShift do Azure com a implantação mais antiga realçada.

  5. No painel de navegação, selecione Saídas. Esta lista mostra os valores de saída da implantação, que inclui algumas informações úteis.

  6. Abra o shell, cole o valor do campo cmdToGetKubeadminCredentials e execute-o. Você vê a conta de administrador e a credencial para entrar no portal do console do cluster OpenShift. O exemplo a seguir mostra uma conta de administrador:

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

    Este comando produz uma saída semelhante ao exemplo a seguir:

    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. Cole o valor do campo consoleUrl em um navegador da Web conectado à Internet e pressione Enter. Preencha o nome de utilizador e a palavra-passe do administrador e, em seguida, selecione Iniciar sessão. No console de administração do Azure Red Hat OpenShift, selecione Operadores>Instalados Operadores, onde você pode descobrir que o operador JBoss EAP foi instalado com êxito, conforme mostrado na captura de tela a seguir.

    Captura de tela do portal do console do cluster Red Hat OpenShift que mostra a página Operadores instalados.

Em seguida, use as seguintes etapas para se conectar ao cluster OpenShift usando a CLI do OpenShift:

  1. No shell, use os seguintes comandos para baixar a CLI mais recente do OpenShift 4 para GNU/Linux. Se estiver rodando em um sistema operacional diferente do GNU/Linux, faça o download do binário apropriado para esse sistema operacional.

    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. Cole o valor do campo cmdToLoginWithKubeadmin no shell e execute-o. Deverá ver a login successful mensagem e o projeto que está a utilizar. O conteúdo a seguir é um exemplo do comando para se conectar ao cluster OpenShift usando a CLI do 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)
    

    Este comando produz uma saída semelhante ao exemplo a seguir:

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

Implantar um aplicativo JBoss EAP no cluster OpenShift

As etapas nesta seção mostram como implantar um aplicativo no cluster.

Implantar o aplicativo no cluster

Use as etapas a seguir para implantar o aplicativo no cluster. O aplicativo está hospedado no repositório GitHub rhel-jboss-templates/eap-coffee-app.

  1. No shell, execute os seguintes comandos. Os comandos criam um projeto, aplicam uma permissão para permitir que o S2I funcione, criam a imagem do segredo de pull e vinculam o segredo às contas de serviço relativas no projeto para habilitar o pull de imagem. Desconsidere o aviso do Git sobre o "estado 'CABEÇA destacado'".

    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)
    

    Como a próxima seção usa o formato HEREDOC, é melhor incluí-lo e executá-lo em seu próprio trecho de código.

    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
    

    Você deve ver secret/eaparo-sample-pull-secret created para indicar a criação bem-sucedida do segredo. Se você não vir essa saída, solucione e resolva o problema antes de continuar. Finalmente, vincule o segredo à conta de serviço padrão para baixar imagens de contêiner para que o cluster possa executá-las.

    oc secrets link default ${CON_REG_SECRET_NAME} --for=pull
    oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
    
  2. Use os seguintes comandos para puxar o fluxo jboss-eap74-openjdk11-openshiftde imagem. Em seguida, inicie o processo de origem para a imagem e aguarde até que ele seja concluído.

    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
    

A saída bem-sucedida deve terminar com algo semelhante ao exemplo a seguir:

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

Se você não vir uma saída semelhante, solucione e resolva o problema antes de continuar.

Criar um segredo para a senha do banco de dados

Em seguida, use as seguintes etapas para criar um segredo:

  1. Use o seguinte comando para criar um segredo para manter a senha do banco de dados:

    oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
    
  2. Use os seguintes comandos para implantar e executar três réplicas do aplicativo em contêiner no cluster:

    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
    

    Se o comando for concluído com êxito, você verá wildflyserver.wildfly.org/javaee-cafe created. Se você não vir essa saída, solucione e resolva o problema antes de continuar.

  3. Execute oc get pod -w | grep 1/1 para monitorar se todos os pods do aplicativo estão em execução. Quando vir uma saída semelhante ao exemplo seguinte, prima Ctrl + C para parar a monitorização:

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

    Pode levar alguns minutos para chegar ao estado adequado. Você pode até ver STATUS valores de coluna incluindo ErrImagePull e ImagePullBackOff antes Running é mostrado.

  4. Execute o seguinte comando para retornar a URL do aplicativo. Você pode usar essa URL para acessar o aplicativo de exemplo implantado. Copie a saída para a área de transferência.

    echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
    
  5. Cole a saída em um navegador da Web conectado à Internet e pressione Enter. Você deve ver a interface do usuário do aplicativo Java EE Cafe semelhante à seguinte captura de tela:

    Captura de tela da interface do usuário do aplicativo de exemplo Java EE Cafe.

  6. Adicione e exclua algumas linhas para verificar se a conectividade do banco de dados está funcionando corretamente.

Clean up resources (Limpar recursos)

Se você não vai continuar a usar o cluster OpenShift, navegue de volta para o seu grupo de recursos de trabalho. Na parte superior da página, sob o texto Grupo de recursos, selecione o grupo de recursos. Em seguida, selecione Excluir grupo de recursos.

Próximo passo

Para obter mais informações sobre como implantar o JBoss EAP no Azure, consulte Red Hat JBoss EAP no Azure.