Início Rápido: Implantar um cluster JBoss EAP em Máquinas Virtuais (VMs) do Azure
Este artigo mostra como implantar rapidamente o JBoss Enterprise Application Platform (EAP) em uma Máquinas Virtual (VMs) do Azure usando o portal do Microsoft Azure.
Este artigo usa a oferta do Azure Marketplace para JBoss EAP a fim de acelerar sua jornada com as VMs do Azure. A oferta provisiona automaticamente uma série de recursos, incluindo VMs Azure Red Hat Enterprise Linux (RHEL), instâncias JBoss EAP em cada VM, build Red Hat do OpenJDK em cada VM, um console de gerenciamento JBoss EAP e, opcionalmente, uma instância do Gateway de Aplicativo do Azure. Para ver a oferta, visite a solução Cluster JBoss EAP no RHEL usando o portal do Azure.
Se você preferir diretrizes passo a passo manuais para instalar o Cluster EAP do Red Hat JBoss em VMs do Azure que não utilizam a automação habilitada pela oferta, consulte Tutorial: Instalar o Red Hat JBoss EAP nas Máquinas Virtuais do Azure manualmente.
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.
- Certifique-se de que a identidade do Azure que você usa para entrar tenha a função Colaborador 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)?
- Um Kit de Desenvolvimento JAVA (JDK) versão 17. Neste guia, recomendamos o Build do Red Hat do OpenJDK. Verifique se a variável de ambiente
JAVA_HOME
está definida corretamente nos shells em que 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.
Observação
A oferta do Azure Marketplace que você usará neste artigo inclui suporte para o Red Hat Satellite para o gerenciamento de licenças. O uso do Red Hat Satellite está além do escopo desse início rápido. Para obter uma visão geral do Red Hat Satellite, consulte Red Hat Satellite. Para saber mais sobre como mover suas assinaturas do Red Hat JBoss EAP e Red Hat Enterprise Linux para o Azure, consulte Programa Red Hat Cloud Access.
Criar um servidor flexível do Banco de Dados do Azure para PostgreSQL
As etapas nesta seção orientam você a implantar um servidor flexível do Banco de Dados do Azure para PostgreSQL, que você usa para configurar a conexão de banco de dados ao configurar um cluster JBoss EAP 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 em todo este artigo:
<db-resource-group-name>
: o nome do grupo de recursos a ser usado para o servidor flexível do PostgreSQL – por exemplo,ejb040323postgresrg
.<database-server-name>
: o nome do servidor PostgreSQL, que deve ser exclusivo no Azure, por exemplo,ejb040323postgresqlserver
.<postgresql-admin-password>
: a senha do servidor PostgreSQL. A senha precisa ter no mínimo oito e no máximo 128 caracteres. A senha deve conter caracteres de três das seguintes categorias: letras maiúsculas, letras minúsculas, números (0-9) e caracteres não alfanuméricos (!, $, #, % e assim por diante).
Para criar uma instância do Servidor Flexível do Banco de Dados do Azure para PostgreSQL, realize as seguintes etapas:
Use o seguinte comando para criar uma instância do Servidor Flexível Banco de Dados do Azure para 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 (Conectividade de Banco de Dados Java) do servidor PostgreSQL:
echo jdbc:postgresql://${DB_HOST}:5432/testdb
Anote a saída, que você usará 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 desta seção o direcionam a implantação do JBoss EAP Server em VMs do Azure.
Use as seguintes etapas para localizar o cluster JBoss EAP na oferta de VMs do Azure:
Entre no portal do Azure visitando https://aka.ms/publicportal.
Na barra de pesquisa na parte superior do portal do Azure, insira JBoss EAP. Nos resultados da pesquisa, na seção Marketplace, selecione Cluester do JBoss EAP em VMs.
No menu suspenso, verifique se PAYG está selecionado.
Como alternativa, você também pode ir diretamente para a oferta Cluster JBoss EAP em VMs do Azure. Nesse 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 do Red Hat no momento da implantação. A oferta executa o cluster no Red Hat Enterprise Linux usando uma configuração de pagamento paga conforme o uso para as VMs base.
As seguintes etapas mostram como preencher o painel Noções Básicas mostrado nessa captura de tela.
- 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, ejb040323jbosseapcluster.
- Em Detalhes da instância, selecione a região para a implantação.
- Deixe o tamanho padrão da VM para Tamanho da máquina virtual.
- Deixe a opção padrão OpenJDK 17 para Versão do JDK.
- Deixe o valor padrão jbossuser para Nome de usuário.
- Deixe a opção padrão Senha para tipo de Autenticação.
- Forneça uma senha para Senha. Use o mesmo valor para Confirmar a senha.
- Use 3 para o Número de máquinas virtuais a serem criadas.
- Em Configuração Básica Opcional, deixe a opção padrão Sim para Aceitar os padrões da 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 Avançar: configurações do JBoss EAP.
As seguintes etapas mostram como preencher o painel Configurações do JBoss EAP mostrado nessa captura de tela.
- 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 Nome de usuário do administrador do JBoss EAP.
- Preencha a senha do JBoss EAP para Senha do JBoss EAP. Use o mesmo valor para Confirmar a senha. Reserve o valor para uso posterior.
- Deixe a opção padrão Não para Conectar-se a um Red Hat Satellite Server existente?.
- Selecione Avançar: Gateway de Aplicativo do Azure.
As etapas a seguir mostram como preencher o painel Gateway de Aplicativo do Azure mostrado na captura de tela a seguir.
SelecioneSim para Conectar-se ao Gateway de Aplicativo do Azure.
Selecione Avançar: Rede.
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 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 como 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 nome JNDI.
- Forneça a URL de conexão JDBC do servidor PostgreSQL, que você salvou antes, para a Cadeia de conexão do Banco de dados (jdbc:postgresql://<host>:<port>/<database>).
- Preencha o testuser para o Nome de usuário do Banco de Dados.
- Forneça o valor do espaço reservado
<postgresql-admin-password>
, que você especificou antes, para a Senha do Banco de dados. Use o mesmo valor para Confirmar a senha. - 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 na região selecionada, a implantação pode levar até 35 minutos para ser concluída. Depois disso, você deverá ver o texto Sua implantação está concluída exibido na página de implantação.
Verificar a funcionalidade da implantação
Use as seguintes etapas para verificar a funcionalidade da implantação de um cluster JBoss EAP em VMs do Azure do console de gerenciamento da Plataforma de Aplicativo Enterprise do Red Hat JBoss:
Na página de implantação, selecione Saídas.
Selecione o ícone de cópia ao lado de adminConsole.
Cole a URL em um navegador da Web conectado à Internet e pressione Enter. Você verá a tela familiar de entrada do console de gerenciamento da Red Hat JBoss Enterprise Application Platform, conforme mostrado na captura de tela a seguir.
Preencha jbossadmin para o Nome de usuário administrador do JBoss EAP Forneça o valor da senha do JBoss EAP que você especificou antes para Senha e selecione Entrar.
Você verá a página de boas-vindas do console de gerenciamento da Red Hat JBoss Enterprise Application Platform, conforme mostrado na captura de tela a seguir.
Selecione a guia Runtime. No painel de navegação, selecione Topologia. Você deverá ver que o cluster contém um mestre do controlador de domínio e dois nós de trabalho, conforme mostrado na seguinte captura de tela:
Selecione a guia Configuração. No painel de navegação, selecione Perfis>ha>Bancos de dados e Drivers>Fontes de dados. 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 do Java EE Cafe no cluster do Red Hat JBoss EAP:
Use as etapas a seguir para criar a amostra 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 marca correspondente a esta versão do artigo:
git clone https://github.com/Azure/rhel-jboss-templates.git --branch 20240904 --single-branch
Se você vir uma mensagem de erro com o texto
You are in 'detached HEAD' state
, poderá ignorá-la com segurança.Use o seguinte comando para compilar o código fonte:
mvn clean install --file rhel-jboss-templates/eap-coffee-app/pom.xml
Esse comando cria o arquivo rhel-jboss-templates/eap-coffee-app/target/javaee-cafe.war. Você carregará esse arquivo na próxima etapa.
Use as etapas a seguir no console de gerenciamento da Plataforma Aplicativo Empresarial do Red Hat JBoss para carregar o javaee-cafe.war no Repositório de Conteúdo.
Na guia Implantações do console de gerenciamento do Red Hat JBoss EAP, selecione Repositório de Conteúdo 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-cafe.war.
Selecione Avançar.
Aceite os padrões na próxima tela e selecione Concluir.
Selecione Exibir conteúdo.
Use as etapas a seguir para implantar um aplicativo no
main-server-group
:
Agora você terminou de implantar 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 em que o cluster do 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.
Limpar os recursos
Para evitar cobranças do Azure, limpe recursos desnecessários. Quando não precisar mais do JBoss EAP Server implantado na VM do Azure, cancele o registro do JBoss EAP Server e remova os recursos do Azure.
Execute o seguinte comando para cancelar o registro do JBoss EAP Server e da VM do gerenciamento de assinaturas da Red Hat. Substitua o espaço reservado <resource-group-name>
pelo nome do grupo de recursos em que o cluster do 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 em que o cluster do JBoss EAP e o servidor flexível do Banco de Dados do Azure para PostgreSQL são implantados. Substitua o espaço reservado <resource-group-name>
pelo nome do grupo de recursos em que o cluster do JBoss EAP está implantado. Verifique se a variável de ambiente $RG_NAME
está definida com o nome do grupo de recursos em que o servidor flexível do PostgreSQL está implantado.
az group delete --name <resource-group-name> --yes --no-wait
az group delete --name $RG_NAME --yes --no-wait
Próximas etapas
Saiba mais sobre suas opções para implantar o JBoss EAP no Azure: