Guia de início rápido: implantar um cluster JBoss EAP em máquinas virtuais (VMs) do Azure
Este artigo mostra como implantar rapidamente um cluster JBoss Enterprise Application Platform (EAP) em Máquinas Virtuais (VMs) do Azure usando o portal do Azure.
Este artigo usa a oferta do Azure Marketplace para JBoss EAP Cluster para acelerar sua jornada para VMs do Azure. A oferta provisiona automaticamente vários recursos, incluindo VMs do Azure Red Hat Enterprise Linux (RHEL), instâncias do JBoss EAP em cada VM, compilação Red Hat do OpenJDK em cada VM, um console de gerenciamento do JBoss EAP e, opcionalmente, uma instância do Azure App Gateway. Para ver a oferta, visite a solução JBoss EAP Cluster em VMs RHEL usando o portal do Azure.
Se você preferir orientação passo a passo manual para instalar o Red Hat JBoss EAP Cluster em VMs do Azure que não usam a automação habilitada pela oferta do Azure Marketplace, consulte Tutorial: Instalar o Red Hat JBoss EAP em Máquinas Virtuais do Azure manualmente.
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.
- Verifique se a identidade do Azure que você usa para entrar tem a função de Colaborador 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)?
- Um Java Development Kit (JDK), versão 17. Neste guia, recomendamos o Red Hat Build do OpenJDK. Certifique-se de que sua
JAVA_HOME
variável de ambiente esteja definida corretamente nos shells nos quais você executa os comandos. - Git. Use
git --version
para testar segit
funciona. Este tutorial foi testado com a versão 2.34.1. - Maven. Use
mvn -version
para testar semvn
funciona. Este tutorial foi testado com a versão 3.8.6.
Nota
A oferta do Azure Marketplace que você usará neste artigo inclui suporte para o Red Hat Satellite para gerenciamento de licenças. O uso do Red Hat Satellite está além do escopo deste início rápido. Para obter uma visão geral sobre o Red Hat Satellite, consulte Red Hat Satellite. Para saber mais sobre como mover suas assinaturas do Red Hat JBoss EAP e do Red Hat Enterprise Linux para o Azure, consulte Programa Red Hat Cloud Access.
Configurar um Banco de Dados do Azure para um servidor flexível PostgreSQL
As etapas nesta seção direcionam você para implantar um banco de dados do Azure para servidor flexível PostgreSQL, que você usa para configurar a conexão de banco de dados durante a configuração de um cluster EAP JBoss na próxima seção.
Primeiro, use o seguinte comando para configurar algumas variáveis de ambiente.
export RG_NAME=<db-resource-group-name>
export SERVER_NAME=<database-server-name>
export ADMIN_PASSWORD=<postgresql-admin-password>
Substitua os espaços reservados pelos seguintes valores, que são usados ao longo do artigo:
<db-resource-group-name>
: O nome do grupo de recursos a ser usado para o servidor flexível PostgreSQL - por exemplo,ejb040323postgresrg
.<database-server-name>
: O nome do seu servidor PostgreSQL, que deve ser exclusivo no Azure - por exemplo,ejb040323postgresqlserver
.<postgresql-admin-password>
: A senha do seu servidor PostgreSQL. Essa palavra-passe deve ter, no mínimo, oito caracteres e no máximo 128 caracteres. Os caracteres devem ser de três das seguintes categorias: letras maiúsculas inglesas, letras minúsculas inglesas, números (0-9) e caracteres não alfanuméricos (!, $, #, % e assim por diante).
Em seguida, use as seguintes etapas para criar um Banco de Dados do Azure para servidor flexível PostgreSQL:
Use o seguinte comando para criar um banco de dados do Azure para servidor flexível PostgreSQL:
az postgres flexible-server create \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --database-name testdb \ --public-access 0.0.0.0 \ --admin-user testuser \ --admin-password ${ADMIN_PASSWORD} \ --yes
Use o seguinte comando para obter o host do servidor PostgreSQL:
export DB_HOST=$(az postgres flexible-server show \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --query "fullyQualifiedDomainName" \ --output tsv)
Use o seguinte comando para obter a URL de conexão JDBC (Java Database Connectivity) do servidor PostgreSQL:
echo jdbc:postgresql://${DB_HOST}:5432/testdb
Anote a saída, que você usa como a cadeia de conexão da fonte de dados do servidor PostgreSQL mais adiante neste artigo.
Implantar um cluster JBoss EAP em VMs do Azure
As etapas nesta seção direcionam você a implantar um cluster JBoss EAP em VMs do Azure.
Use as seguintes etapas para localizar a oferta JBoss EAP Cluster on Azure VMs:
Entre no portal do Azure visitando https://aka.ms/publicportal.
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 Cluster on VMs.
No menu pendente, certifique-se de que PAYG está selecionado.
Como alternativa, você também pode ir diretamente para a oferta JBoss EAP Cluster on Azure VMs . Neste caso, o plano correto já está selecionado para você.
Em ambos os casos, essa oferta implanta um cluster JBoss EAP em VMs do Azure fornecendo sua assinatura Red Hat no momento da implantação. A oferta executa o cluster no Red Hat Enterprise Linux usando uma configuração de pagamento conforme o uso para as VMs base.
As etapas a seguir mostram como preencher o painel Noções básicas mostrado na captura de tela a seguir.
- 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, ejb040323jbosseapcluster.
- Em Detalhes da instância, selecione a região para a implantação.
- Deixe o tamanho padrão da VM para o tamanho da máquina virtual.
- Deixe a opção padrão OpenJDK 17 para a versão JDK.
- Deixe o valor padrão jbossuser para Username.
- Deixe a opção padrão Senha para o tipo de autenticação.
- Forneça uma senha para a senha. Use o mesmo valor para Confirmar senha.
- Use 3 para Número de máquinas virtuais a serem criadas.
- Em Configuração básica opcional, deixe a opção padrão Sim para Aceitar padrões para configuração opcional.
- Role até a parte inferior do painel Noções básicas e observe os links úteis para Relatar problemas, obter ajuda e compartilhar comentários.
- Selecione Next: JBoss EAP Settings.
As etapas a seguir mostram como preencher o painel Configurações do JBoss EAP mostrado na captura de tela a seguir.
- Deixe a opção padrão Domínio gerenciado para Usar domínio gerenciado ou hosts autônomos para formar um cluster.
- Deixe o valor padrão jbossadmin para o nome de usuário JBoss EAP Admin.
- Forneça uma senha do JBoss EAP para a senha do JBoss EAP. Use o mesmo valor para Confirmar senha. Guarde o valor para uso posterior.
- Deixe a opção padrão Não para Conectar a um Red Hat Satellite Server existente?.
- Selecione Next: Azure Application Gateway.
As etapas a seguir mostram como preencher o painel Gateway de Aplicativo do Azure mostrado na captura de tela a seguir.
Selecione Sim para Conectar ao Gateway de Aplicativo do Azure?.
Selecione Next: Networking.
Esse painel permite personalizar a rede virtual e a sub-rede na qual o cluster JBoss EAP é implantado. Para obter informações sobre redes virtuais, consulte Criar, alterar ou excluir uma rede virtual. Aceite os padrões neste painel.
Selecione Next: Database (Avançar): Banco de dados.
As etapas a seguir mostram como preencher o painel Banco de Dados mostrado na captura de tela a seguir e iniciar a implantação.
- Selecione Sim para Conectar ao banco de dados?.
- Selecione PostgreSQL para Escolher tipo de banco de dados.
- Preencha java:jboss/datasources/JavaEECafeDB para o nome JNDI.
- Forneça a URL de conexão JDBC do servidor PostgreSQL, que você salvou antes, para a cadeia de conexão da fonte de dados (jdbc:postgresql://<host>:<port>/<database>).
- Preencha testuser para Nome de usuário do banco de dados.
- Forneça o valor para o espaço reservado
<postgresql-admin-password>
, que você especificou antes, para Senha do banco de dados. Use o mesmo valor para Confirmar senha. - 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. Depois disso, você verá o texto Sua implantação foi concluída exibido na página de implantação.
Verificar a funcionalidade da implantação
Use as etapas a seguir para verificar a funcionalidade da implantação de um cluster JBoss EAP em VMs do Azure a partir do console de gerenciamento do Red Hat JBoss Enterprise Application Platform :
Na página de implantação, selecione Saídas.
Selecione o ícone de cópia ao lado de adminConsole.
Cole o URL em um navegador da Web conectado à Internet e pressione Enter. Você verá a conhecida tela de login do console de gerenciamento do Red Hat JBoss Enterprise Application Platform , conforme mostrado na captura de tela a seguir.
Preencha jbossadmin para o nome de usuário JBoss EAP Admin Forneça o valor para a senha do JBoss EAP que você especificou antes para Senha e selecione Entrar.
Você deve ver a conhecida página de boas-vindas do console de gerenciamento do Red Hat JBoss Enterprise Application Platform , conforme mostrado na captura de tela a seguir.
Selecione a guia Tempo de execução . No painel de navegação, selecione Topologia. Você verá que o cluster contém um controlador de domínio mestre e dois nós de trabalho, conforme mostrado na captura de tela a seguir:
Selecione a guia Configuração. No painel de navegação, selecione Perfis>ha>Datasources & Drivers>Datasources. Você deve ver que a fonte de dados dataSource-postgresql está listada, conforme mostrado na captura de tela a seguir:
Deixe o console de gerenciamento aberto. Use-o para implantar um aplicativo de exemplo no cluster JBoss EAP na próxima seção.
Implantar o aplicativo no cluster JBoss EAP
Use as seguintes etapas para implantar o aplicativo de exemplo Java EE Cafe no cluster Red Hat JBoss EAP:
Use as etapas a seguir para construir o exemplo do Java EE Cafe. Estas etapas pressupõem que você tenha um ambiente local com o Git e o Maven instalados:
Use o seguinte comando para clonar o código-fonte do GitHub e confira a tag correspondente a esta versão do artigo:
git clone https://github.com/Azure/rhel-jboss-templates.git --branch 20240904 --single-branch
Se vir uma mensagem de erro com o texto
You are in 'detached HEAD' state
, pode ignorá-la com segurança.Use o seguinte comando para criar o código-fonte:
mvn clean install --file rhel-jboss-templates/eap-coffee-app/pom.xml
Este comando cria o arquivo rhel-jboss-templates/eap-coffee-app/target/javaee-café.war. Você carregará esse arquivo na próxima etapa.
Use as etapas a seguir no console de gerenciamento do Red Hat JBoss Enterprise Application Platform para carregar o javaee-café.war no Content Repository.
Na guia Deployments do console de gerenciamento do Red Hat JBoss EAP, selecione Content Repository no painel de navegação.
Selecione Adicionar e, em seguida, selecione Carregar conteúdo.
Use o seletor de arquivos do navegador para selecionar o arquivo javaee-café.war .
Selecione Seguinte.
Aceite os padrões na próxima tela e selecione Concluir.
Selecione Ver conteúdo.
Use as seguintes etapas para implantar um aplicativo no
main-server-group
:
Agora você terminou de implementar o aplicativo Java EE. Use as seguintes etapas para acessar o aplicativo e validar todas as configurações:
Use o comando a seguir para obter o endereço IP público do Gateway de Aplicativo do Azure. Substitua o espaço reservado
<resource-group-name>
pelo nome do grupo de recursos onde o cluster JBoss EAP está implantado.az network public-ip show \ --resource-group <resource-group-name> \ --name gwip \ --query '[ipAddress]' \ --output tsv
Copie a saída, que é o endereço IP público do Gateway de Aplicativo do Azure implantado.
Abra um navegador da Web conectado à Internet.
Navegue até o aplicativo com a URL
http://<gateway-public-ip-address>/javaee-cafe
. Substitua o espaço reservado<gateway-public-ip-address>
pelo endereço IP público do Gateway de Aplicativo do Azure copiado anteriormente.Tente adicionar e remover cafés.
Clean up resources (Limpar recursos)
Para evitar cobranças do Azure, você deve limpar recursos desnecessários. Quando não precisar mais do cluster JBoss EAP implantado em VMs do Azure, cancele o registro dos servidores JBoss EAP e remova os recursos do Azure.
Execute o comando a seguir para cancelar o registro dos servidores e VMs do JBoss EAP do gerenciamento de assinaturas da Red Hat. Substitua o espaço reservado <resource-group-name>
pelo nome do grupo de recursos onde o cluster JBoss EAP está implantado.
# Unregister domain controller
az vm run-command invoke \
--resource-group <resource-group-name> \
--name jbosseapVm-adminVM \
--command-id RunShellScript \
--scripts "sudo subscription-manager unregister"
# Unregister host controllers
az vm run-command invoke \
--resource-group <resource-group-name> \
--name jbosseapVm1 \
--command-id RunShellScript \
--scripts "sudo subscription-manager unregister"
az vm run-command invoke \
--resource-group <resource-group-name> \
--name jbosseapVm1 \
--command-id RunShellScript \
--scripts "sudo subscription-manager unregister"
Execute os comandos a seguir para remover os dois grupos de recursos onde o cluster JBoss EAP e o servidor flexível do Banco de Dados do Azure para PostgreSQL estão implantados. Substitua o espaço reservado <resource-group-name>
pelo nome do grupo de recursos onde o cluster JBoss EAP está implantado. Verifique se a variável $RG_NAME
de ambiente está definida com o nome do grupo de recursos onde o servidor flexível PostgreSQL está implantado.
az group delete --name <resource-group-name> --yes --no-wait
az group delete --name $RG_NAME --yes --no-wait
Próximos passos
Saiba mais sobre suas opções para implantar o JBoss EAP no Azure: