Partager via


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

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 :

  1. 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.

    Capture d’écran de la page Mettre à jour votre compte Red Hat.

  2. Après vous être connecté, sélectionnez OpenShift, puis Téléchargements.

  3. Sélectionnez la liste déroulante Toutes les catégories, puis Jetons.

  4. Sous Secret d’extraction, sélectionnez Copier ou Télécharger pour obtenir la valeur, comme représenté dans la capture d’écran suivante.

    Capture d’écran du portail de la console Red Hat montrant le secret d’extraction.

    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"}}}
    
  5. 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.

  1. Utilisez votre compte Red Hat pour vous connecter à l’application de gestion des comptes de service Registry.
  2. Dans la page Comptes de service Registry, sélectionnez Nouveau compte de service.
  3. 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.
  4. Revenez à vos comptes de service.
  5. 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.

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.

  1. Connectez-vous à votre compte Azure via le portail Azure.

  2. Sélectionnez Microsoft Entra ID.

  3. Sélectionnez Inscriptions d’applications.

  4. Sélectionnez Nouvelle inscription.

  5. 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.

    Capture d’écran du portail Azure montrant la page Inscrire une application.

  6. 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.

    Capture d’écran du portail Azure montrant la page Vue d’ensemble avec l’ID d’application (client) mis en surbrillance.

  7. Créez une clé secrète client en procédant comme suit :

    1. Cliquez sur Certificats et secrets.
    2. Sélectionnez Clés secrètes client, puis Nouvelle clé secrète client.
    3. Apportez une description du secret et indiquez sa durée. Une fois que vous avez terminé, sélectionnez Ajouter.
    4. 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.

  1. 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.

    Capture d’écran du portail Microsoft Azure montrant JBoss EAP sur Azure Red Hat OpenShift dans les résultats de recherche.

    Vous pouvez également accéder directement à l’offre JBoss EAP sur Azure Red Hat OpenShift sur le portail Azure.

  2. Sur la page de l’offre, sélectionnez Créer.

  3. 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 ».

  4. 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.

  5. 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.

  6. Sélectionnez Suivant : ARO.

Les étapes suivantes décrivent comment remplir le volet ARO représenté dans la capture d’écran suivante :

Capture d’écran du portail Azure montrant le JBoss EAP sur le volet ARO Azure Red Hat OpenShift.

  1. Sous Créer un cluster, sélectionnez Oui.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Capture d’écran du portail Azure montrant le JBoss EAP sur le volet d’application EAP Azure Red Hat OpenShift.

  1. 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.

  2. Sélectionnez Suivant : Vérifier + créer.

  3. 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.

  4. Cliquez sur Créer.

  5. 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.

  1. 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"
    }
    
  2. 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.

  3. 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
    
  4. 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
    
  5. 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.

  1. Dans le coin de n’importe quelle page du portail, sélectionnez le menu hamburger, puis Groupes de ressources.

  2. 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é.

  3. 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.

  4. 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.

    Capture d’écran du portail Azure montrant JBoss EAP sur les déploiements Azure Red Hat OpenShift avec le déploiement le plus ancien mis en surbrillance.

  5. Dans le volet de navigation, sélectionnez Sorties. Cette liste affiche les valeurs de sortie du déploiement, qui incluent des informations utiles.

  6. 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"
    }
    
  7. 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.

    Capture d’écran du portail de la console de cluster Red Hat OpenShift montrant la page des opérateurs installés.

Ensuite, procédez comme suit pour vous connecter au cluster OpenShift à l’aide de la CLI OpenShift :

  1. 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
    
  2. 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.

  1. 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
    
  2. 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 :

  1. 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}
    
  2. 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.

  3. 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 compris ErrImagePull et ImagePullBackOff avant que Running ne soit affiché.

  4. 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
    
  5. 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 :

    Capture d’écran de l’interface utilisateur de l’exemple d’application Java EE Cafe.

  6. 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.