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
Uma assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Uma conta do Red Hat com perfil completo. Caso você não tenha uma, inscreva-se em uma assinatura gratuita de desenvolvedor por meio da Assinatura de Desenvolvedor do Red Hat para Pessoas Físicas.
Uma linha de comando do desenvolvedor local com um ambiente de comando semelhante a UNIX, por exemplo, Ubuntu, macOS ou Subsistema do Windows para Linux e a CLI do Azure instaladas. Para saber como instalar a CLI do Azure, consulte Como instalar a CLI do Azure.
A CLI do
mysql
. Por exemplo, você pode instalar a CLI usando os seguintes comandos em sistemas baseados no Ubuntu ou no Debian:sudo apt update sudo apt install mysql-server
Uma identidade do Azure que você usa para entrar que tem a função Colaborador e a função Administrador de Acesso do Usuário ou a função Proprietário na assinatura atual. Para ter uma visão geral das funções do Azure, confira O que é o RBAC do Azure (controle de acesso baseado em função do Azure)?
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:
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.
Depois de entrar, selecione OpenShift e Downloads.
Selecione a lista suspensa Todas as categorias e escolha Tokens.
Em Segredo de pull, 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 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"}}}
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.
- Use sua conta do Red Hat para entrar no Aplicativo de Gerenciamento de Contas de Serviço do Registro.
- Na página Contas de Serviço do Registro, selecione Nova Conta de Serviço.
- 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.
- Navegue de volta até as contas de serviço.
- 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 noregistry.redhat.io
. - Anote a senha. Use essa senha quando entrar no
registry.redhat.io
.
- Anote o nome de usuário, incluindo a cadeia de caracteres prefixada (ou seja,
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.
Entre sua conta do Azure através do Portal do Azure.
Selecione ID do Microsoft Entra.
Selecione Registros do Aplicativo.
Selecione Novo registro.
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.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.
Crie um segredo do cliente seguindo estas etapas:
- Selecione Certificados e 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 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.
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.
Você também pode acessar diretamente a oferta do JBoss EAP no Red Hat OpenShift no Azure no portal do Azure.
Na página da oferta, selecione Criar.
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.
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.
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.
Selecione Avançar: ARO.
As seguintes etapas mostram como preencher o painel ARO mostrado nesta captura de tela:
Em Criar um cluster, selecione Sim.
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.
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.
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.
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.
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.
Selecione Avançar: Revisar + criar.
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.
Selecione Criar.
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.
Observação
Como a Identidade de Carga de Trabalho do Azure ainda não tem suporte do 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 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.
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" }
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.
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
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
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.
No canto de qualquer página do portal do Azure, selecione o menu de hambúrguer e escolha Grupos de recursos.
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.
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.
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.
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ê 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" }
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.
Em seguida, use estas etapas para se conectar ao cluster do OpenShift usando a CLI do OpenShift:
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
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.
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
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:
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}
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.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
incluindoErrImagePull
eImagePullBackOff
antes deRunning
exibidos.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
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:
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.