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
Uma subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Uma conta Red Hat com perfil completo. Se você não tiver uma, poderá se inscrever para uma assinatura de desenvolvedor gratuita por meio da Red Hat Developer Subscription for Individuals.
Uma linha de comando de desenvolvedor local com um ambiente de comando semelhante ao UNIX - por exemplo, Ubuntu, macOS ou Windows Subsystem for Linux - e CLI do Azure instalada. Para saber como instalar a CLI do Azure, consulte Como instalar a CLI do Azure.
A
mysql
CLI. Por exemplo, você pode instalar a CLI usando os seguintes comandos no Ubuntu ou em sistemas baseados em Debian:sudo apt update sudo apt install mysql-server
Uma identidade do Azure que você usa para entrar que tem a função de Colaborador e a função de Administrador de Acesso de Usuário ou a função de Proprietário na assinatura atual. Para obter uma visão geral das funções do Azure, consulte O que é o controle de acesso baseado em função do Azure (Azure RBAC)?
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:
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.
Depois de entrar, selecione OpenShift e Downloads.
Selecione a lista suspensa Todas as categorias e, em seguida, selecione Tokens.
Em Extrair segredo, selecione Copiar ou Baixar para obter o valor, conforme mostrado na captura de tela a seguir.
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"}}}
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 .
- Use sua conta Red Hat para entrar no Aplicativo de Gerenciamento de Conta do Serviço de Registro.
- Na página Contas de Serviço de Registro, selecione Nova Conta de Serviço.
- 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.
- Navegue de volta às suas Contas de Serviço.
- 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 noregistry.redhat.io
. - Anote a senha. Utilize esta palavra-passe quando iniciar sessão no
registry.redhat.io
.
- Anote o nome de usuário, incluindo a cadeia de caracteres prepended (ou seja,
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.
Entre na sua conta do Azure por meio do portal do Azure.
Selecione Microsoft Entra ID.
Selecione Registos de aplicações.
Selecione Novo registo.
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.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.
Crie um novo segredo de cliente seguindo estas etapas:
- Selecione Certificados & segredos.
- Selecione Segredos do cliente e, em seguida , Novo segredo do cliente.
- Forneça uma descrição do segredo e uma duração. Quando terminar, selecione Adicionar.
- 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 .
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.
Você também pode ir diretamente para a oferta JBoss EAP no Azure Red Hat OpenShift no portal do Azure.
Na página da oferta, selecione Criar.
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.
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.
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.
Selecione Next: ARO.
As etapas a seguir mostram como preencher o painel ARO mostrado na captura de tela a seguir:
Em Criar um novo cluster, selecione Sim.
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.
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.
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.
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.
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.
Selecione Seguinte: Rever + criar.
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.
Selecione Criar.
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.
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" }
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.
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
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
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.
No canto de qualquer página do portal do Azure, selecione o menu hambúrguer e, em seguida, selecione Grupos de recursos.
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.
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.
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.
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.
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" }
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.
Em seguida, use as seguintes etapas para se conectar ao cluster OpenShift usando a CLI do OpenShift:
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
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.
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
Use os seguintes comandos para puxar o fluxo
jboss-eap74-openjdk11-openshift
de 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:
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}
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.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 incluindoErrImagePull
eImagePullBackOff
antesRunning
é mostrado.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
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:
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.