Guide de démarrage rapide : Déployer JBoss EAP sur Azure Red Hat OpenShift
Cet article vous montre comment installer rapidement JBoss Enterprise Application Platform (EAP) sur Azure Red Hat OpenShift à l’aide du Portail Azure.
Cet article utilise l’offre de la Place de marché Azure pour JBoss EAP afin d’accélérer votre parcours vers Azure Red Hat OpenShift. L’offre approvisionne automatiquement les ressources, notamment un cluster Azure Red Hat OpenShift avec un registre de conteneurs OpenShift (OCR) intégré, l’opérateur JBoss EAP et éventuellement une image conteneur comprenant JBoss EAP et votre application à l’aide de S2I (Source-to-Image). Pour voir l’offre, visitez le Portail Azure. Si vous préférez des instructions pas à pas manuelles pour exécuter JBoss EAP sur Azure Red Hat OpenShift, sans utiliser l’automatisation activée par l’offre, consultez Déployer une application Java avec Red Hat JBoss Enterprise Application Platform (JBoss EAP) sur un cluster Azure Red Hat OpenShift 4.
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.
Un compte Red Hat avec profil complet. Si vous n’en avez pas, vous pouvez vous inscrire pour bénéficier d’un abonnement développeur gratuit via l’abonnement Red Hat Developer pour les particuliers.
Une ligne de commande de développeur locale avec un environnement de commande de type UNIX , par exemple Ubuntu, macOS ou sous-système Windows pour Linux et Azure CLI installé. Pour apprendre comment installe de Azure CLI, consultez Comment installer Azure CLI.
La CLI
mysql
. Par exemple, vous pouvez installer l’interface CLI à l’aide des commandes suivantes sur les systèmes Ubuntu ou Debian :sudo apt update sudo apt install mysql-server
Identité Azure que vous utilisez pour vous connecter qui présente le rôle Contributeur et Administrateur de l’accès utilisateur ou le rôle 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) ?
Remarque
Azure Red Hat OpenShift requiert a minimum de 40 cœurs pour créer et exécuter un cluster OpenShift. Le quota de ressources Azure par défaut pour un nouvel abonnement Azure ne répond pas à cette exigence. Pour demander une augmentation de votre limite de ressources, consultez Augmenter les quotas de processeurs virtuels de famille de machines virtuelles. Notez que l’abonnement d’essai gratuit n’est pas éligible à une augmentation de quota. Effectuez une mise à niveau vers un abonnement de paiement à l’utilisation avant de demander une augmentation de quota. Pour plus d'informations, consultez la page : Mettre à niveau votre compte Azure gratuit ou votre compte Azure for Students Starter.
Récupérer un secret d’extraction Red Hat
L’offre de la place de marché Azure utilisée dans cet article nécessite un secret d’extraction Red Hat. Cette section décrit comment récupérer un secret d’extraction Red Hat pour Azure Red Hat OpenShift. Pour savoir ce qu’est un secret d’extraction Red Hat et pourquoi vous en avez besoin, consultez la section Récupération d’un secret d’extraction Red Hat dans le Tutoriel : Créer un cluster Azure Red Hat OpenShift 4.
Pour obtenir un secret d’extraction, procédez de la manière suivante :
Ouvrez la console cloud hybride Red Hat OpenShift, puis utilisez votre compte Red Hat pour vous connecter au portail du gestionnaire de cluster OpenShift. Vous devrez peut-être accepter d’autres conditions et mettre à jour votre compte, comme représenté dans la capture d’écran suivante. Utilisez le même mot de passe que celui utilisé lorsque vous avez créé le compte.
Après vous être connecté, sélectionnez OpenShift, puis Téléchargements.
Sélectionnez la liste déroulante Toutes les catégories, puis Jetons.
Sous Secret d’extraction, sélectionnez Copier ou Télécharger pour obtenir la valeur, comme représenté dans la capture d’écran suivante.
Le contenu suivant est un exemple qui a été copié à partir du portail de la console Red Hat, en remplaçant les codes d’authentification par
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"}}}
Enregistrez le secret dans un fichier pour l’utiliser ultérieurement.
Créer un compte de service Red Hat Container Registry
Par la suite, cet article décrit comment déployer manuellement une application sur OpenShift à l’aide de Source-to-Image (S2I). Un compte de service Red Hat Container Registry est nécessaire pour extraire l’image conteneur pour JBoss EAP sur laquelle exécuter votre application. Si vous disposez d’un compte de service Red Hat Container Registry prêt à être utilisé, ignorez cette section et passez directement à la suivante pour déployer l’offre.
Utilisez les étapes suivantes pour créer un compte de service Red Hat Container Registry et obtenir son nom d’utilisateur et son mot de passe. Pour plus d’informations, consultez la section Créer des comptes de service Registry dans la documentation Red Hat.
- Utilisez votre compte Red Hat pour vous connecter à l’application de gestion des comptes de service Registry.
- Dans la page Comptes de service Registry, sélectionnez Nouveau compte de service.
- Nommez le compte de service. Le nom est précédé d’une chaîne fixe et aléatoire.
- Saisissez une description.
- Sélectionnez Créer.
- Revenez à vos comptes de service.
- Sélectionner le compte de service que vous avez créé.
- Notez le nom d’utilisateur, y compris la chaîne qui précède (autrement dit,
XXXXXXX|username
). Utilisez ce nom d’utilisateur pour vous connecter àregistry.redhat.io
. - Notez le mot de passe. Utilisez ce mot de passe pour vous connecter à
registry.redhat.io
.
- Notez le nom d’utilisateur, y compris la chaîne qui précède (autrement dit,
Vous avez créé un compte de service Red Hat Container Registry.
Créer un principal de service Microsoft Entra dans le portail Azure
L’offre de la place de marché Azure que vous utilisez dans cet article nécessite un principal de service Microsoft Entra pour déployer le cluster Azure Red Hat OpenShift. L’offre affecte les privilèges appropriés au principal de service pendant le temps de déploiement, sans qu’une attribution de rôle soit nécessaire. Si vous disposez d’un principal de service prêt à être utilisé, ignorez cette section et passez directement à la suivante pour créer un compte de service Red Hat Container Registry.
Exécutez les étapes suivantes pour déployer un principal de service et obtenir son ID d’application (client) et sa clé secrète depuis le portail Azure. Pour en savoir plus, consultez la section Créer et utiliser un principal de service pour déployer un cluster Azure Red Hat OpenShift.
Remarque
Vous devez disposer d’autorisations suffisantes pour inscrire une application auprès de votre locataire Microsoft Entra. Si vous rencontrez un problème, vérifiez que votre compte a les autorisations nécessaires pour créer l’identité. Pour plus d’informations, consultez Inscrire une application Microsoft Entra et créer un principal de service.
Connectez-vous à votre compte Azure via le portail Azure.
Sélectionnez Microsoft Entra ID.
Sélectionnez Inscriptions d’applications.
Sélectionnez Nouvelle inscription.
Nommez l’application, par exemple
jboss-eap-on-aro-app
. Sélectionnez un type de compte pris en charge, qui détermine qui peut utiliser l’application. Une fois les valeurs définies, sélectionnez Inscrire, comme représenté dans la capture d’écran suivante. L’approvisionnement de l’application dure plusieurs secondes. Attendez la fin du déploiement avant de poursuivre.Enregistrez l’ID d’application (client) dans la page de présentation, comme représenté dans la capture d’écran suivante. Placez le pointeur sur la valeur éditée dans la capture d’écran, puis sélectionnez l’icône de copie qui s’affiche. L’info-bulle indique Copier dans le Presse-papiers. Veillez à copier la bonne valeur, car les autres valeurs de cette section s’accompagnent également d’icônes de copie. Enregistrez l’ID d’application dans un fichier pour l’utiliser ultérieurement.
Créez une clé secrète client en procédant comme suit :
- Cliquez sur Certificats et secrets.
- Sélectionnez Clés secrètes client, puis Nouvelle clé secrète client.
- Apportez une description du secret et indiquez sa durée. Une fois que vous avez terminé, sélectionnez Ajouter.
- Une fois la clé secrète client ajoutée, la valeur de la clé secrète client s’affiche. Copiez cette valeur, car vous ne pourrez plus la récupérer ultérieurement. Veillez à copier la Valeur et non l’ID du secret.
Vous avez créé l’application Microsoft Entra, le principal de service et la clé secrète client.
Valider le principal de service
Utilisez la commande suivante pour valider le principal de service :
az login \
--service-principal \
--username <service-principal-client-id> \
--password <service-principal-client-secret> \
--tenant <tenant-id>
az account show
Remplacez <service-principal-client-id>
, <service-principal-client-secret>
et <tenant-id>
par les valeurs obtenues dans les étapes précédentes. Si vous voyez les informations du compte, le principal de service est valide.
Déployer JBoss EAP sur Azure Red Hat OpenShift
La procédure décrite dans cette section vous permet de déployer JBoss EAP sur Azure Red Hat OpenShift.
Les étapes suivantes décrivent comment rechercher l’offre et remplir le volet Informations de base.
Dans la barre de recherche en haut du portail Azure, saisissez JBoss EAP. Dans la section Place de marché des résultats de la recherche, sélectionnez JBoss EAP sur Azure Red Hat OpenShift, comme représenté dans la capture d’écran suivante.
Vous pouvez également accéder directement à l’offre JBoss EAP sur Azure Red Hat OpenShift sur le portail Azure.
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, eaparo033123rg.
Sous Détails de l’instance, sélectionnez la région pour le déploiement. Pour obtenir la liste des régions Azure sur lesquelles OpenShift fonctionne, consultez la section Régions pour Red Hat OpenShift 4.x sur Azure.
Sélectionnez Suivant : ARO.
Les étapes suivantes décrivent comment remplir le volet ARO représenté dans la capture d’écran suivante :
Sous Créer un cluster, sélectionnez Oui.
Sous Fournir les informations pour créer un cluster, pour Secret d’extraction Red Hat, renseignez le secret d’extraction Red Hat que vous avez obtenu à la section Récupérer un secret d’extraction Red Hat. Utilisez la même valeur pour Confirmer le secret.
Renseignez l’ID client du principal de service avec l’ID d’application du principal de service (client) que vous avez obtenu à la section Créer un principal de service Microsoft Entra dans le portail Azure.
Renseignez la clé secrète client du principal de service avec le secret d’application du principal de service (client) que vous avez obtenu à la section Créer un principal de service Microsoft Entra dans le portail Azure. Utilisez la même valeur pour Confirmer le secret.
Sélectionnez Application EAP suivante.
Les étapes suivantes décrivent comment remplir le volet Application EAP représenté dans la capture d’écran suivante et lancer le déploiement.
Conservez l’option par défaut Non pour Déployer une application sur OpenShift à l’aide de Source-to-Image (S2I) ?.
Remarque
Par la suite, ce guide de démarrage rapide décrit comment déployer manuellement une application avec une connexion de base de données.
Sélectionnez Suivant : Vérifier + créer.
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.
Cliquez sur Créer.
Suivez la progression du déploiement sur la page Déploiement en cours.
En fonction des conditions du réseau et des autres activités dans la région sélectionnée, le déploiement peut prendre jusqu'à 35 minutes.
Pendant ce temps, vous pouvez configurer la base de données.
Configurer Azure Database pour MySQL – Serveur flexible
Les sections suivantes décrivent comment configurer Azure Database pour MySQL – Serveur flexible.
Définir des variables d’environnement dans l’interpréteur de commandes
L’exemple est une application Java sauvegardée par une base de données MySQL et déployée sur le cluster OpenShift à l’aide de Source-to-Image (S2I). Pour en savoir plus sur S2I, consultez la documentation S2I.
Remarque
L’identité de charge de travail Azure n’étant pas encore prise en charge par Azure OpenShift, cet article utilise toujours le nom d’utilisateur et le mot de passe pour l’authentification de base de données au lieu d’utiliser des connexions de base de données sans mot de passe.
Ouvrez un interpréteur de commandes et définissez les variables d’environnement suivantes. Remplacez les substitutions selon les besoins.
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
Remplacez les espaces réservés par les valeurs suivantes, qui sont utilisées dans la suite de l’article :
<resource-group-name>
: nom du groupe de ressources que vous avez créé précédemment (par exemple,eaparo033123rg
).<database-server-name>
: nom de votre serveur MySQL, qui doit être unique dans Azure (par exemple,eaparo033123mysql
).ADMIN_PASSWORD
: mot de passe administrateur de votre serveur de base de données MySQL. Cet article a été testé à l’aide du mot de passe affiché. Consultez la documentation de la base de données pour connaître les règles de mot de passe.<red-hat-container-registry-service-account-username>
et<red-hat-container-registry-service-account-password>
: nom d’utilisateur et mot de passe du compte de service Red Hat Container Registry que vous avez créé précédemment.
Il est recommandé d’enregistrer les paires nom/valeur entièrement renseignées dans un fichier texte, au cas où l’interpréteur de commandes s’arrête avant d’exécuter les commandes. Vous pouvez ainsi les coller dans une nouvelle instance de l’interpréteur de commandes et poursuivre facilement.
Ces paires nom/valeur sont essentiellement des « secrets ». Pour obtenir une solution prête pour la production permettant de sécuriser Azure Red Hat OpenShift (et de gérer les secrets), consultez la section Sécurité pour l’accélérateur de zone d’atterrissage Azure Red Hat OpenShift.
Créer et initialiser la base de données
Ensuite, pour créer un serveur flexible Azure Database pour MySQL ainsi qu’un utilisateur disposant des autorisations de lecture/écriture depuis/vers la base de données spécifique, procédez comme suit.
Utilisez la commande suivante pour créer une instance Azure Database pour MySQL – Serveur flexible :
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
La commande peut prendre une bonne dizaine de minutes avant d’aboutir. Une fois que la commande a abouti, vous obtenez une sortie similaire à l’exemple suivant :
{ "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" }
Utilisez les commandes suivantes pour obtenir l’hôte du serveur MySQL créé :
DB_HOST=$(az mysql flexible-server show \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --query "fullyQualifiedDomainName" \ --output tsv) echo $DB_HOST
Enregistrez la paire nom/valeur dans votre fichier texte.
Utilisez la commande suivante pour créer une règle de pare-feu temporaire et autoriser la connexion au serveur MySQL depuis l’Internet public :
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
Utilisez la commande suivante pour créer un utilisateur de base de données doté des autorisations de lecture/écriture nécessaires depuis/vers la base de données spécifique. Cette commande est utile pour envoyer SQL directement à la base de données.
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
Utilisez la commande suivante pour supprimer la règle de pare-feu temporaire :
az mysql flexible-server firewall-rule delete \ --resource-group ${RG_NAME} \ --name ${SERVER_NAME} \ --rule-name "AllowAllIPs" \ --yes
Vous disposez maintenant d’un serveur de base de données MySQL en cours d’exécution prêt à se connecter à votre application.
Vérifier la fonctionnalité du déploiement
Les étapes de cette section vous montrent comment vérifier que le déploiement a réussi avec succès.
Si vous avez quitté la page Déploiement en cours, procédez comme suit pour y revenir. Si vous êtes toujours sur la page (qui indique que votre déploiement est terminé), vous pouvez passer à l’étape 5.
Dans le coin de n’importe quelle page du portail, sélectionnez le menu hamburger, puis Groupes de ressources.
Dans la zone avec le texte Filtrer pour n’importe quel champ, entrez les premiers caractères du groupe de ressources que vous avez créé précédemment. Si vous avez suivi la convention recommandée, entrez vos initiales, puis sélectionnez le groupe de ressources approprié.
Dans le volet de navigation de gauche, section Paramètres, sélectionnez Déploiements. Une liste triée des déploiements effectués dans ce groupe de ressources s’affiche, avec le plus récent en premier.
Faites défiler la liste jusqu’à l’entrée la plus ancienne. Cette entrée correspond au déploiement que vous avez démarré dans la section précédente. Sélectionnez le déploiement le plus ancien, comme illustré dans la capture d’écran suivante.
Dans le volet de navigation, sélectionnez Sorties. Cette liste affiche les valeurs de sortie du déploiement, qui incluent des informations utiles.
Ouvrez l’interpréteur de commandes, collez la valeur du champ cmdToGetKubeadminCredentials et exécutez-la. Le compte d’administrateur et les informations d’identification pour se connecter au portail de la console du cluster OpenShift s’affichent. L’exemple suivant représente un compte administrateur :
az aro list-credentials --resource-group eaparo033123rg --name clusterf9e8b9
Cette commande produit une sortie semblable à celle de l’exemple suivant :
{ "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx", "kubeadminUsername": "kubeadmin" }
Collez la valeur du champ consoleUrl dans un navigateur Web connecté à Internet, puis appuyez sur Entrée. Renseignez le nom d’utilisateur et le mot de passe de l’administrateur, puis sélectionnez Se connecter. Dans la console d’administration d’Azure Red Hat OpenShift, sélectionnez Opérateurs > Opérateurs installés. Vous pouvez constater que l’opérateur JBoss EAP est correctement installé, comme représenté dans la capture d’écran suivante.
Ensuite, procédez comme suit pour vous connecter au cluster OpenShift à l’aide de la CLI OpenShift :
Dans l’interpréteur de commandes, exécutez les commandes suivantes pour télécharger la dernière version de la CLI OpenShift 4 pour GNU/Linux. Si vous exécutez un système d’exploitation autre que GNU/Linux, téléchargez le fichier binaire adapté à votre système d’exploitation.
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
Collez la valeur du champ cmdToLoginWithKubeadmin dans l’interpréteur de commandes, puis exécutez-la. Le message
login successful
et le projet que vous utilisez doivent s’afficher. Vous trouverez ci-dessous un exemple de la commande permettant de se connecter au cluster OpenShift à l’aide de la CLI 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)
Cette commande produit une sortie semblable à celle de l’exemple suivant :
Login successful. You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default".
Déployer une application JBoss EAP sur le cluster OpenShift
La procédure décrite dans cette section décrit comment déployer une application sur le cluster.
Déployer l’application sur le cluster
Pour déployer l’application sur le cluster, procédez comme suit. L’application est hébergée dans le dépôt GitHub rhel-jboss-templates/eap-coffee-app.
Exécutez les commandes suivantes dans l’interpréteur de commandes. Les commandes créent un projet, appliquent une autorisation pour permettre à S2I de fonctionner, d’imager le secret d’extraction et de lier le secret aux comptes de service relatifs dans le projet pour activer l’extraction d’image. Ignorez l’avertissement Git concernant l’état « HEAD détaché ».
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)
La section suivante utilise le format HEREDOC. Il est donc préférable de l’inclure et de l’exécuter dans son propre extrait de code.
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
Le message
secret/eaparo-sample-pull-secret created
indiquant que le secret a bien été créé doit s’afficher. Dans le cas contraire, dépannez et résolvez le problème avant de poursuivre. Enfin, liez le secret au compte de service par défaut pour télécharger des images conteneur afin que le cluster puisse les exécuter.oc secrets link default ${CON_REG_SECRET_NAME} --for=pull oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
Ensuite, utilisez les commandes suivantes pour extraire le flux d’image
jboss-eap74-openjdk11-openshift
. Ensuite, lancez le processus Source-to-Image et attendez qu’il se termine.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
Lorsque l’opération a réussi, la sortie doit se terminer par un texte semblable à ce qui suit :
Writing manifest to image destination
Storing signatures
Successfully pushed image-registry.openshift-image-registry.svc:5000/eaparo-sample/javaee-cafe@sha256:754587c33c03bf42ba4f3ce5a11526bbfc82aea94961ce1179a415c2bfa73449
Push successful
Dans le cas contraire, dépannez et résolvez le problème avant de poursuivre.
Créer un secret pour le mot de passe de la base de données
Ensuite, exécutez la procédure suivante pour créer un secret :
Utilisez la commande suivante pour créer un secret et conserver le mot de passe de la base de données :
oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
Utilisez les commandes suivantes pour déployer et exécuter trois réplicas de l’application conteneurisée dans le 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
Si la commande aboutit, le message
wildflyserver.wildfly.org/javaee-cafe created
doit s’afficher. Dans le cas contraire, dépannez et résolvez le problème avant de poursuivre.Exécutez
oc get pod -w | grep 1/1
pour surveiller si tous les pods de l’application sont en cours d’exécution. Si vous obtenez une sortie similaire à celle de l’exemple suivant, appuyez sur Ctrl + C pour arrêter l’analyse :javaee-cafe-2 1/1 Running 0 31s javaee-cafe-1 1/1 Running 0 30s javaee-cafe-0 1/1 Running 0 30s
Cela peut prendre quelques minutes avant d’atteindre l’état approprié. Vous pouvez même voir les valeurs de la colonne
STATUS
, y comprisErrImagePull
etImagePullBackOff
avant queRunning
ne soit affiché.Exécutez la commande suivante pour renvoyer l’URL de l’application. Vous pouvez utiliser cet URL pour accéder à l’exemple d’application déployé. Copiez la sortie dans le presse-papiers.
echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
Collez la sortie dans un navigateur Web connecté à Internet, puis appuyez sur Entrée. L’interface utilisateur d’une application Java EE Cafe similaire à celle de la capture d’écran suivante doit s’afficher :
Ajoutez et supprimez certaines lignes pour vérifier que la connectivité de la base de données fonctionne correctement.
Nettoyer les ressources
Si vous ne souhaitez pas continuer à utiliser le cluster OpenShift, revenez au groupe de ressources de travail. En haut de la page, sous le texte Groupe de ressources, sélectionnez le groupe de ressources. Ensuite, sélectionnez Supprimer le groupe de ressources.
Étape suivante
Pour plus d’informations sur le déploiement de JBoss EAP sur Azure, consultez Red Hat JBoss EAP sur Azure.