Início Rápido: Implantar o JBoss EAP no Red Hat OpenShift no Azure

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

Este artigo usa a oferta do Azure Marketplace para JBoss EAP a fim de acelerar seu percurso para o Red Hat OpenShift no Azure. A oferta provisiona automaticamente vários recursos, inclusive um cluster do Red Hat OpenShift no Azure com um OCR (Registro de Contêiner OpenShift) interno, o Operador JBoss EAP e, opcionalmente, uma imagem de contêiner, incluindo o JBoss EAP e seu aplicativo usando S2I (Origem para Imagem). Para ver a oferta, visite o portal do Azure. Se preferir diretrizes passo a passo manuais para executar o JBoss EAP no Red Hat OpenShift no Azure que não utilizem a automação habilitada pela oferta, confira Implantar um aplicativo Java com o JBoss Enterprise Application Platform (JBoss EAP) no Red Hat em um cluster do Red Hat OpenShift 4 no Azure.

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

Pré-requisitos

Observação

O Red Hat OpenShift no Azure requer um mínimo de 40 núcleos para criar e executar um cluster do OpenShift. A cota de recursos padrão do Azure para uma nova assinatura do Azure não atende a esse requisito. Para solicitar um aumento no limite do seu recurso, confira Aumentar as cotas de vCPU da família de VMs. Vale notar que a assinatura com avaliação gratuita não se qualifica para um aumento de cota. Faça o upgrade para uma assinatura com Pagamento Conforme o Uso antes de solicitar um aumento de cota. Para obter mais informações, consulte: Fazer upgrade da conta gratuita do Azure ou da conta do Microsoft Azure for Students Starter.

Obter um segredo de pull do Red Hat

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

Use as etapas a seguir para obter o segredo de pull:

  1. Abra o Console de Nuvem Híbrida do Red Hat OpenShift e use sua conta do Red Hat para entrar no portal do gerenciador de cluster do OpenShift. Talvez seja necessário aceitar mais termos e atualizar sua conta, conforme mostrado na captura de tela a seguir. Use a mesma senha de quando você criou a conta.

    Captura de tela da página Atualizar Sua Conta do Red Hat.

  2. Depois de entrar, selecione OpenShift e Downloads.

  3. Selecione a lista suspensa Todas as categorias e escolha Tokens.

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

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

    O conteúdo a seguir é um exemplo que foi copiado do portal do console do 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 Registro de Contêiner do Red Hat

Mais adiante, este artigo mostrará como implantar manualmente um aplicativo no OpenShift usando a S2I (Origem para Imagem). Uma conta de serviço do Registro de Contêiner do Red Hat é necessária para efetuar pull da imagem de contêiner para o JBoss EAP no qual seu aplicativo será executado. Caso você tenha uma conta de serviço do Registro de Contêiner do Red Hat pronta para uso, ignore esta seção e vá para a próxima seção, na qual implantará a oferta.

Use as etapas a seguir para criar uma conta de serviço do Registro de Contêiner do Red Hat e obter seu nome de usuário e a senha. Para obter mais informações, confira Como criar contas de serviço do Registro na documentação do Red Hat.

  1. Use sua conta do Red Hat para entrar no Aplicativo de Gerenciamento de Contas de Serviço do Registro.
  2. Na página Contas de Serviço do Registro, selecione Nova Conta de Serviço.
  3. Forneça um nome para a conta de serviço. O nome é acrescentado com uma cadeia de caracteres fixa e aleatória.
    • Digite uma descrição.
    • Selecione Criar.
  4. Navegue de volta até as 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 prefixada (ou seja, XXXXXXX|username). Use esse nome de usuário quando entrar no registry.redhat.io.
    • Anote a senha. Use essa senha quando entrar no registry.redhat.io.

Você criou sua conta de serviço do Registro de Contêiner do Red Hat.

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

A oferta do Azure Marketplace usada neste artigo exige uma entidade de serviço do Microsoft Entra para implantar seu cluster do Red Hat OpenShift no Azure. A oferta atribui a entidade de serviço com privilégios adequados durante o tempo de implantação, sem a necessidade de atribuição de função. Se você tiver uma entidade de serviço pronta para uso, ignore esta seção e vá para a próxima seção, na qual você criará uma conta de serviço do Registro de Contêiner do Red Hat.

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

Observação

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

  1. Entre sua conta do Azure através do Portal do Azure.

  2. Selecione ID do Microsoft Entra.

  3. Selecione Registros do Aplicativo.

  4. Selecione Novo registro.

  5. Dê um nome ao aplicativo, por exemplo, jboss-eap-on-aro-app. Selecione um tipo de conta com suporte, que determina quem poderá usar o aplicativo. Depois de definir os valores, selecione Registrar, conforme mostrado na captura de tela a seguir. O provisionamento do aplicativo levará vários segundos. Aguarde a conclusão da implantação antes de continuar.

    Captura de tela do portal do Azure que mostra a página Registrar um aplicativo.

  6. Salve a 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 foi editado na captura de tela, e selecione o ícone de cópia exibido. A dica de ferramenta indica Copiar para a área de transferência. Tenha o cuidado de 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 usá-la mais tarde.

    Captura de tela do portal do Azure que mostra a página Visão geral com a ID do aplicativo (cliente) realçada.

  7. Crie um segredo do cliente seguindo estas etapas:

    1. Selecione Certificados e 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 for adicionado, o valor do segredo do cliente será exibido. Copie esse valor, porque você não poderá recuperá-lo mais tarde. Copie o Valor e não a ID do Segredo.

Você criou o seu aplicativo do Microsoft Entra, a entidade de serviço e o 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 no Azure

As etapas desta seção orientam você a como implantar o JBoss EAP no Red Hat OpenShift no Azure.

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

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

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

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

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

  3. No painel Informaçõ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 e preencha um valor para o grupo de recursos. Como os grupos de recursos devem ser exclusivos em 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 ver uma lista das regiões do Azure em que o OpenShift opera, confira Regiões do Red Hat OpenShift 4.x no Azure.

  6. Selecione Avançar: ARO.

As seguintes etapas mostram como preencher o painel ARO mostrado nesta captura de tela:

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

  1. Em Criar um cluster, selecione Sim.

  2. Em Fornecer informações para criar um cluster, em Segredo de pull do Red Hat, preencha o segredo de pull do Red Hat obtido na seção Obter um segredo de pull do Red Hat. Use o mesmo valor em Confirmar segredo.

  3. Preencha a ID do cliente da entidade de serviço com a ID do Aplicativo (cliente) da entidade de serviço obtida na seção Criar uma entidade de serviço do Microsoft Entra no portal do Azure.

  4. Preencha o Segredo do cliente da entidade de serviço com o segredo do aplicativo da entidade de serviço obtida na seção Criar uma entidade de serviço do Microsoft Entra no portal do Azure. Use o mesmo valor em Confirmar segredo.

  5. Selecione Avançar: Aplicativo EAP.

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

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

  1. Mantenha a opção padrão Não em Implantar um aplicativo no OpenShift usando a S2I (Origem para Imagem)?.

    Observação

    Mais adiante, este artigo mostrará como implantar manualmente um aplicativo com uma conexão de banco de dados.

  2. Selecione Avançar: Revisar + criar.

  3. Selecione Examinar + criar. Verifique se a mensagem em verde Aprovado na validação é exibida na parte superior. Se a mensagem não for exibida, corrija os problemas de validação e selecione Revisar + criar novamente.

  4. Selecione Criar.

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

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

Enquanto aguarda, 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 da linha de comando

A amostra é um aplicativo Java com suporte de um banco de dados MySQL e é implantado no cluster do OpenShift por meio da S2I (Origem para Imagem). Para obter mais informações sobre a S2I, confira a documentação da S2I.

Abra um shell e defina as variáveis de ambiente a seguir. Substitua as substituições conforme apropriado.

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 serã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 servidor MySQL, que deve ser exclusivo no Azure, por exemplo, eaparo033123mysql.
  • ADMIN_PASSWORD: a senha de administrador do 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 Registro de Contêiner do Red Hat que você criou antes.

É uma boa ideia salvar os pares de nome/valor totalmente preenchidos em um arquivo de texto, caso o shell seja encerrado antes de você terminar de executar os comandos. Dessa forma, é possível colá-los em uma nova instância do shell e continuar com facilidade.

Esses pares nome/valor são essencialmente “segredos”. Para ver uma forma pronta para produção de proteger o Red Hat OpenShift no Azure, incluindo o gerenciamento de segredos, confira Segurança do acelerador de zona de destino do Red Hat OpenShift no Azure.

Criar e inicializar o banco de dados

Em seguida, use as etapas abaixo para criar um Banco de Dados do Azure para MySQL – Servidor Flexível e criar um usuário com permissões para ler/gravar bidirecionalmente no 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
    

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

    {
      "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 no arquivo de texto.

  3. Use o seguinte comando para criar uma regra de firewall temporária, a fim de permitir a conexão com o servidor MySQL na 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 usuário de banco de dados com permissões de leitura e gravação no banco de dados específico. Esse comando é útil para enviar o 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 funcionando 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ê saiu da página A implantação está em andamento, as etapas a seguir mostram como voltar para ela. Se você ainda estiver na página que mostra A implantação foi concluída, vá para a etapa 5.

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

  2. Na caixa com o texto Filtrar 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, escolha Implantações. Você verá uma lista ordenada das implantações nesse grupo de recursos, com a mais recente primeiro.

  4. Role até a entrada mais antiga nesta lista. Essa 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 mostrando o JBoss EAP em implantações do Red Hat OpenShift no 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ê verá a conta de administrador e a credencial para entrar no portal do console do cluster do OpenShift. O seguinte exemplo mostra uma conta de administrador:

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

    Esse comando produz uma saída semelhante ao seguinte exemplo:

    {
      "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 usuário administrador e a senha e selecione Fazer logon. No console de administração do Red Hat OpenShift no Azure, selecione Operadores>Operadores Instalados, em que você poderá ver que o operador JBoss EAP foi instalado com sucesso, conforme mostrado na captura de tela a seguir.

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

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

  1. No shell, use os comandos a seguir para baixar a CLI mais recente do OpenShift 4 para o GNU/Linux. Se estiver usando um sistema operacional diferente do GNU/Linux, baixe o binário apropriado para ele.

    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. Você verá a mensagem login successful e o projeto que está usando. O conteúdo a seguir é um exemplo do comando usado para se conectar ao cluster do 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)
    

    Esse comando produz uma saída semelhante ao seguinte exemplo:

    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 do OpenShift

As etapas desta 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 é hospedado no repositório GitHub rhel-jboss-templates/eap-coffee-app.

  1. No shell, execute os comandos a seguir. Os comandos criam um projeto, aplicam uma permissão para habilitar o S2I para funcionar, representar o segredo de pull e vincular o segredo às contas de serviço relativas no projeto para habilitar o pull de imagem. Desconsidere o aviso do Git sobre o estado "HEAD desanexado".

    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 um trecho de código próprio.

    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ê precisa ver secret/eaparo-sample-pull-secret created, pois ela indica a criação bem-sucedida do segredo. Se você não vir essa saída, resolva o problema antes de prosseguir. Por fim, associe 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 comandos a seguir para efetuar pull do fluxo de imagem jboss-eap74-openjdk11-openshift. Em seguida, inicie o processo de origem para 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 terminará com algo semelhante ao seguinte exemplo:

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, resolva o problema antes de prosseguir.

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 armazenar 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 conteinerizado 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 sucesso, você verá wildflyserver.wildfly.org/javaee-cafe created. Se você não vir essa saída, resolva o problema antes de prosseguir.

  3. Execute oc get pod -w | grep 1/1 para monitorar se todos os pods do aplicativo estão em execução. Quando você vir uma saída semelhante ao seguinte exemplo, pressione CTRL + C para interromper o monitoramento:

    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. Talvez você até veja valores de coluna STATUS incluindo ErrImagePull e ImagePullBackOff antes de Running exibidos.

  4. Execute o comando a seguir para retornar a URL do aplicativo. Use 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ê 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 do Java EE Cafe.

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

Limpar os recursos

Caso não deseje continuar usando o cluster do OpenShift, volte ao 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óxima etapa

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