Démarrage rapide : Déployer un cluster JBoss EAP sur des machines virtuelles Azure
Cet article explique comment déployer rapidement un cluster JBoss Enterprise Application Platform (EAP) sur des machines virtuelles Azure à l’aide du portail Azure.
Cet article utilise l’offre de la Place de marché Azure pour cluster JBoss EAP afin d’accélérer votre parcours vers les machines virtuelles Azure. L’offre approvisionne automatiquement un certain nombre de ressources, notamment les machines virtuelles Azure Red Hat Enterprise Linux (RHEL), les instances JBoss EAP sur chaque machine virtuelle, la build Red Hat d’OpenJDK sur chaque machine virtuelle, une console de gestion JBoss EAP, et éventuellement une instance Azure App Gateway. Pour voir l’offre, visitez la solution JBoss EAP Cluster on RHEL VMs à l’aide du portail Azure.
Si vous préférez des instructions manuelles pas à pas pour installer un cluster Red Hat JBoss EAP sur des machines virtuelles Azure qui n’utilisent pas l’automatisation activée par l’offre de la Place de marché Azure, consultez Tutoriel : Installer Red Hat JBoss EAP sur des machines virtuelles Azure manuellement.
Si vous souhaitez fournir des commentaires ou travailler étroitement sur vos scénarios de migration avec l’équipe d’ingénierie qui développe JBoss EAP sur des solutions Azure, renseignez cette courte enquête sur la migration JBoss EAP et incluez vos coordonnées. L’équipe de gestionnaires de programmes, d’architectes et d’ingénieurs vous contactera rapidement pour lancer une collaboration étroite.
Prérequis
- Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
- Vérifiez que l’identité Azure que vous utilisez pour vous connecter a le rôle Contributeur ou Propriétaire dans l’abonnement actuel. Pour connaître les rôles Azure, consultez Qu’est-ce que le contrôle d’accès en fonction du rôle Azure (RBAC Azure) ?
- Un Kit de développement Java (JDK), version 17. Dans ce guide, nous vous recommandons la build Red Hat d’OpenJDK. Assurez-vous que la variable d'environnement
JAVA_HOME
est correctement définie dans les interpréteurs de commandes dans lesquels vous exécutez les commandes. - Git. Utilisez
git --version
pour vérifier sigit
fonctionne. Ce tutoriel a été testé avec la version 2.34.1. - Maven. Utilisez
mvn -version
pour vérifier simvn
fonctionne. Ce tutoriel a été testé avec la version 3.8.6.
Remarque
L’offre de la Place de marché Azure que vous allez utiliser dans cet article inclut la prise en charge de Red Hat Satellite pour la gestion des licences. L’utilisation de Red Hat Satellite dépasse le cadre de ce guide de démarrage rapide. Pour obtenir une vue d’ensemble de Red Hat Satellite, consultez Red Hat Satellite. Pour en savoir plus sur le déplacement de vos abonnements Red Hat JBoss EAP et Red Hat Enterprise Linux vers Azure, consultez le programme Red Hat Cloud Access.
Configurer un serveur flexible Azure Database pour PostgreSQL
Les étapes décrites dans cette section vous permettent de déployer un serveur flexible Azure Database pour PostgreSQL, que vous utilisez pour configurer la connexion de base de données lors de la configuration d’un cluster JBoss EAP dans la section suivante.
Tout d’abord, utilisez la commande suivante pour configurer certaines variables d’environnement.
export RG_NAME=<db-resource-group-name>
export SERVER_NAME=<database-server-name>
export ADMIN_PASSWORD=<postgresql-admin-password>
Remplacez les espaces réservés par les valeurs suivantes, qui sont utilisées tout au long de cet article :
<db-resource-group-name>
: nom du groupe de ressources à utiliser pour le serveur flexible PostgreSQL , par exemple,ejb040323postgresrg
.<database-server-name>
: nom de votre serveur PostgreSQL, qui doit être unique dans Azure, par exemple,ejb040323postgresqlserver
.<postgresql-admin-password>
: mot de passe de votre serveur PostgreSQL. Ce mot de passe doit avoir huit caractères minimum et 128 caractères maximum. Les caractères doivent appartenir à trois des catégories suivantes : lettres majuscules, lettres minuscules, chiffres (0 à 9) et caractères non alphanumériques (!, $, #, %, etc.).
Ensuite, effectuez les étapes suivantes pour créer un serveur flexible Azure Database pour PostgreSQL :
Utilisez la commande suivante pour créer un serveur flexible Azure Database pour 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
Utilisez la commande suivante pour obtenir l’hôte du serveur PostgreSQL :
export DB_HOST=$(az postgres flexible-server show \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --query "fullyQualifiedDomainName" \ --output tsv)
Utilisez la commande suivante pour obtenir l’URL de connexion JDBC (Java Database Connectivity) du serveur PostgreSQL :
echo jdbc:postgresql://${DB_HOST}:5432/testdb
Notez la sortie, que vous utiliserez comme chaîne de connexion de source de données du serveur PostgreSQL plus loin dans cet article.
Déployer un cluster JBoss EAP sur des machines virtuelles Azure
Les étapes décrites dans cette section vous permettent de déployer un cluster JBoss EAP sur des machines virtuelles Azure.
Effectuez les étapes suivantes pour rechercher l’offre JBoss EAP Cluster on Azure VMs :
Connectez-vous au portail Azure à l’adresse https://aka.ms/publicportal.
Dans la barre de recherche en haut du portail Azure, saisissez JBoss EAP. Dans les résultats de la recherche, dans la section Place de marché, sélectionnez JBoss EAP Cluster on VMs.
Dans le menu déroulant, vérifiez que PAYG est sélectionné.
Vous pouvez également accéder directement à l’offre JBoss EAP Cluster on Azure VMs. Dans ce cas, le plan approprié est déjà sélectionné pour vous.
Dans les deux cas, cette offre déploie un cluster JBoss EAP sur machines virtuelles Azure en fournissant votre abonnement Red Hat au moment du déploiement. L’offre exécute le cluster sur Red Hat Enterprise Linux à l’aide d’une configuration de paiement à l’utilisation pour les machines virtuelles de base.
Les étapes suivantes décrivent comment remplir le volet Informations de base représenté dans la capture d’écran suivante :
- Sur la page de l’offre, sélectionnez Créer.
- Dans le volet Informations de base, vérifiez que la valeur affichée dans le champ Abonnement est la même que celle qui contient les rôles répertoriés dans la section « Prérequis ».
- Vous devez déployer l’offre dans un groupe de ressources vide. Dans le champ Groupe de ressources, sélectionnez Créer nouveau et indiquez une valeur pour le groupe de ressources. Étant donné que les groupes de ressources doivent être uniques au sein d’un abonnement, choisissez un nom unique. Un moyen simple d’avoir des noms uniques consiste à utiliser une combinaison de vos initiales, de la date d’aujourd’hui et de certains identificateurs. Par exemple, ejb040323jbosseapcluster.
- Sous Détails de l’instance, sélectionnez la région pour le déploiement.
- Conservez la taille de machine virtuelle par défaut pour la taille de la machine virtuelle.
- Laissez l’option par défaut OpenJDK 17 pour la version JDK.
- Conservez la valeur par défaut jbossuser pour le nom d’utilisateur.
- Laissez l’option Mot de passe par défaut pour le type d’authentification.
- Indiquez un mot de passe pour Mot de passe. Utilisez la même valeur pour Confirmer le mot de passe.
- Spécifiez 3 comme Nombre de machines virtuelles à créer.
- Sous Configuration de base facultative, laissez l’option Oui par défaut pour Accepter les valeurs par défaut pour la configuration facultative.
- Faites défiler vers le bas du volet Informations de base et notez les liens utiles pour les problèmes de rapport, obtenir de l’aide et partager des commentaires.
- Sélectionnez Suivant : paramètres JBoss EAP.
Les étapes suivantes décrivent comment remplir le volet Paramètres JBoss EAP représenté dans la capture d’écran suivante :
- Conservez l’option par défaut Domaine managé pour Utiliser un domaine managé ou des hôtes autonomes pour former un cluster.
- Conservez la valeur jbossadmin par défaut pour le nom d’utilisateur de l’administrateur JBoss EAP.
- Fournissez un mot de passe JBoss EAP pour l’option Mot de passe JBoss EAP. Utilisez la même valeur pour Confirmer le mot de passe. Prenez note de la valeur, car vous l’utiliserez ultérieurement.
- Laissez l’option Non par défaut pour Se connecter à un serveur Red Hat Satellite Existant ?.
- Sélectionnez Suivant : Azure Application Gateway.
Les étapes suivantes décrivent comment remplir le volet Azure Application Gateway représenté dans la capture d’écran suivante.
Sélectionnez Oui pour Se connecter à Azure Application Gateway ?.
Sélectionnez Suivant : Réseau.
Ce volet vous permet de personnaliser le réseau virtuel et le sous-réseau dans lesquels le cluster JBoss EAP est déployé. Pour plus d’informations sur les réseaux virtuels, consultez Créer, modifier ou supprimer un réseau virtuel. Acceptez les valeurs par défaut dans ce volet.
Sélectionnez Suivant : base de données.
Les étapes suivantes montrent comment remplir le volet Base de données présenté dans la capture d’écran suivante, puis démarrer le déploiement.
- Sélectionnez Oui pour Se connecter à la base de données ?.
- Pour Choisir le type de base de données, sélectionnez PostgreSQL.
- Pour Nom JNDI, indiquez java:jboss/datasources/JavaEECafeDB.
- Indiquez l’URL de connexion JDBC du serveur PostgreSQL, dont vous avez pris note précédemment, pour Chaîne de connexion de la source de données (jdbc:postgresql://<hôte>:<port>/<base de données>).
- Pour Nom d’utilisateur de base de données, indiquez testuser.
- Indiquez la valeur de l’espace réservé
<postgresql-admin-password>
, que vous avez spécifiée précédemment, pour Mot de passe de base de données. Utilisez la même valeur pour Confirmer le mot de passe. - Sélectionnez Revoir + créer. Vérifiez que le message vert Validation réussie apparaît en haut. Dans le cas contraire, corrigez les problèmes de validation, puis sélectionnez à nouveau Vérifier + créer.
- Sélectionnez Créer.
- Suivez la progression du déploiement sur la page Déploiement en cours.
Selon les conditions réseau et d’autres activités dans la région sélectionnée, le déploiement peut durer jusqu’à 35 minutes. Après cela, le texte Votre déploiement a été effectué doit s’afficher dans la page de déploiement.
Vérifier la fonctionnalité du déploiement
Effectuez les étapes suivantes pour vérifier le fonctionnement du déploiement d’un cluster JBoss EAP sur machines virtuelles Azure à partir de la console de gestion Red Hat JBoss Enterprise Application Platform :
Dans la page de déploiement, sélectionnez Outputs.
Sélectionnez l’icône de copie en regard de adminConsole.
Collez l’URL dans un navigateur web connecté à Internet, et appuyez sur Entrée. Vous devez voir l’écran familier de connexion de la console de gestion Red Hat JBoss Enterprise Application Platform, comme illustré dans la capture d’écran suivante.
Indiquez jbossadmin pour JBoss EAP Admin username. Indiquez la valeur du Mot de passe JBoss EAP que vous avez spécifiée auparavant pour Password, puis sélectionnez Sign in.
Vous devez voir la page d’accueil familière de la console de gestion Red Hat JBoss Enterprise Application Platform, comme illustré dans la capture d’écran suivante.
Sélectionnez l’onglet Runtime. Dans le volet de navigation, sélectionnez Topology. Vous devez constater que le cluster contient un contrôleur de domaine master et deux nœuds Worker, comme illustré dans la capture d’écran suivante :
Sélectionnez l’onglet Configuration. Dans le volet de navigation, sélectionnez Profiles>ha>Datasources & Drivers>Datasources. Vous devez voir que la source de données dataSource-postgresql est répertoriée, comme illustré dans la capture d’écran suivante :
Laissez la console de gestion ouverte. Vous l’utiliserez pour déployer un exemple d’application sur le cluster JBoss EAP dans la section suivante.
Déployer l’application sur le cluster JBoss EAP
Effectuez les étapes suivantes pour déployer l’exemple d’application Java EE Cafe sur le cluster Red Hat JBoss EAP :
Utilisez les étapes suivantes pour générer l’exemple Java EE Cafe. Ces étapes partent du principe que vous disposez d’un environnement local avec Git et Maven installés :
Utilisez la commande suivante pour cloner le code source à partir de GitHub, et vérifiez la balise correspondant à cette version de l’article :
git clone https://github.com/Azure/rhel-jboss-templates.git --branch 20240904 --single-branch
Si vous voyez un message d’erreur avec le texte
You are in 'detached HEAD' state
, vous pouvez l’ignorer sans risque.Utilisez la commande suivante pour générer le code source :
mvn clean install --file rhel-jboss-templates/eap-coffee-app/pom.xml
Cette commande crée le fichier rhel-jboss-templates/eap-coffee-app/target/javaee-cafe.war. Vous chargerez ce fichier lors de la prochaine étape.
Effectuez les étapes suivantes dans la console de gestion Red Hat JBoss Enterprise Application Platform pour charger le fichier javaee-café.war dans le référentiel de contenu.
Sous l’onglet Deployments de la console de gestion Red Hat JBoss EAP, sélectionnez Content Repository dans le volet de navigation.
Sélectionnez Add, puis Upload Content.
Utilisez le sélecteur de fichier de navigateur pour sélectionner le fichier javaee-cafe.war.
Cliquez sur Suivant.
Acceptez les valeurs par défaut sur l’écran suivant, puis sélectionnez Finish.
Sélectionnez View content.
Effectuez les étapes suivantes pour déployer une application sur le
main-server-group
:Dans Content Repository, sélectionnez javaee-cafe.war.
Ouvrez le menu déroulant, puis sélectionnez Deploy.
Sélectionnez main-server-group comme groupe de serveurs pour le déploiement de javaee-cafe.war.
Sélectionnez Déployer pour démarrer le déploiement. Une notification similaire à la capture d’écran suivante doit s’afficher :
Vous avez maintenant terminé le déploiement de l’application Java EE. Effectuez les étapes suivantes pour accéder à l’application et valider tous les paramètres :
Utilisez la commande suivante pour obtenir l’adresse IP publique d’Azure Application Gateway. Remplacez l’espace réservé
<resource-group-name>
par le nom du groupe de ressources où le cluster JBoss EAP est déployé.az network public-ip show \ --resource-group <resource-group-name> \ --name gwip \ --query '[ipAddress]' \ --output tsv
Copiez la sortie, qui est l’adresse IP publique du déploiement d’Azure Application Gateway.
Ouvrez un navigateur web connecté à Internet.
Accédez à l’application avec l’URL
http://<gateway-public-ip-address>/javaee-cafe
. Remplacez l’espace réservé<gateway-public-ip-address>
par l’adresse IP publique d’Azure Application Gateway que vous avez copiée précédemment.Essayez d’ajouter et de supprimer des cafés.
Nettoyer les ressources
Pour éviter des frais Azure, vous devez nettoyer les ressources non nécessaires. Lorsque vous n’avez plus besoin du cluster JBoss EAP déployé sur machines virtuelles Azure, annulez l’inscription des serveurs JBoss EAP et supprimez les ressources Azure.
Exécutez la commande suivante pour annuler l’inscription des serveurs JBoss EAP et des machines virtuelles à partir de la gestion des abonnements Red Hat. Remplacez l’espace réservé <resource-group-name>
par le nom du groupe de ressources où le cluster JBoss EAP est déployé.
# 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"
Exécutez les commandes suivantes pour supprimer les deux groupes de ressources où le cluster JBoss EAP et le serveur flexible Azure Database pour PostgreSQL sont déployés. Remplacez l’espace réservé <resource-group-name>
par le nom du groupe de ressources où le cluster JBoss EAP est déployé. Vérifiez que la variable d’environnement $RG_NAME
a comme valeur le nom du groupe de ressources où le serveur flexible PostgreSQL est déployé.
az group delete --name <resource-group-name> --yes --no-wait
az group delete --name $RG_NAME --yes --no-wait
Étapes suivantes
Apprenez-en davantage sur les options de déploiement de JBoss EAP sur Azure :