Partager via


Déployer une application Java avec Open Liberty ou WebSphere Liberty sur un cluster Azure Kubernetes Service (AKS)

Cet article montre comment :

  • Exécutez votre application Java, Java EE, Jakarta EE ou MicroProfile sur le runtime Open Liberty ou IBM WebSphere Liberty.
  • Générez l’image Docker de l’application avec az acr build en utilisant des images conteneur Open Liberty ou WebSphere Liberty.
  • Déployez l’application en conteneur sur un cluster Azure Kubernetes Service (AKS) à l’aide de l’opérateur Open Liberty ou WebSphere Liberty.

L’Opérateur Open Liberty simplifie le déploiement et la gestion des applications s’exécutant sur des clusters Kubernetes. Avec l’opérateur Open Liberty ou WebSphere Liberty, vous pouvez également effectuer des opérations plus avancées, telles que la collecte des traces et des vidages.

Cet article utilise l’offre Place de marché Azure pour Open Liberty ou WebSphere Liberty pour accélérer votre parcours vers AKS. L’offre approvisionne automatiquement certaines ressources Azure, notamment :

  • Une instance Azure Container Registry.
  • Un cluster AKS.
  • Une instance de contrôleur d’entrée Application Gateway (AGIC).
  • L’opérateur Open Liberty et l’opérateur WebSphere Liberty.
  • Si vous le souhaitez, une image conteneur qui inclut Liberty et votre application.

Si vous préférez des instructions pas à pas manuelles pour exécuter Liberty sur AKS, consultez Déployer manuellement une application Java avec Open Liberty ou WebSphere Liberty sur un cluster Azure Kubernetes Service (AKS).

Cet article vous aide à accéder rapidement au déploiement. Avant d’aller en production, nous vous conseillons d’explorer la documentation IBM sur l’optimisation de Liberty.

Si vous souhaitez fournir des commentaires ou travailler étroitement sur vos scénarios de migration avec l’équipe d’ingénierie qui développe WebSphere sur des solutions Azure, répondez à cette courte enquête sur la migration WebSphere et incluez vos coordonnées. L’équipe de gestionnaires de programmes, d’architectes et d’ingénieurs vous contactera rapidement pour établir une collaboration.

Prérequis

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
  • Préparez une machine locale avec un système d’exploitation de type Unix installé, par exemple Ubuntu, Azure Linux, macOS ou le Sous-système Windows pour Linux.
  • Installez Azure CLI pour exécuter des commandes Azure CLI.
    • Connectez-vous à Azure CLI en utilisant la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître d’autres options de connexion, consultez Se connecter à Azure avec Azure CLI.
    • Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser et gérer des extensions avec Azure CLI.
    • Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade. Cet article nécessite au moins la version 2.61.0 d’Azure CLI.
  • Installez une implémentation de Java Standard Edition (SE), version 17 (par exemple Eclipse Open J9).
  • Installez Maven 3.9.8 ou ultérieur.
  • Vérifiez que Git est installé.
  • Vérifiez que vous êtes affecté au rôle Owner ou aux rôles Contributor et User Access Administrator dans l’abonnement. Vous pouvez le vérifier en suivant les étapes décrites dans Lister les attributions de rôles pour un utilisateur ou un groupe.

Créer un déploiement Liberty sur AKS à l’aide du portail

Les étapes suivantes vous guident pour créer un runtime Liberty sur AKS. Une fois ces étapes terminées, vous disposez d’une instance Container Registry et d’un cluster AKS pour déployer votre application conteneurisée.

  1. Accédez au portail Azure. Dans la zone de recherche en haut de la page, entrez WebSphere Liberty/Open Liberty sur Kubernetes. Lorsque les suggestions s’affichent, sélectionnez celle qui correspond à la section Place de marché.

    Si vous préférez, vous pouvez accéder directement à l’offre.

  2. Sélectionnez Créer.

  3. Dans le volet Informations de base :

    1. Créez un groupe de ressources. Étant donné que les groupes de ressources doivent être uniques au sein d’un abonnement, choisissez un nom unique. La solution la plus simple pour obtenir des noms uniques est d'utiliser une combinaison de vos initiales, de la date du jour et d’un identificateur (par exemple ejb0913-java-liberty-project-rg). Enregistrez à part le nom du groupe de ressources pour une utilisation ultérieure dans cet article.
    2. Pour Région, sélectionnez une région proche de vous. Par exemple, sélectionnez USA Est 2.
  4. Cliquez sur Suivant. Dans le volet AKS, vous pouvez éventuellement sélectionner un cluster AKS existant et une instance Container Registry au lieu que le déploiement en créer des nouveaux. Cette sélection vous permet d’utiliser le modèle sidecar, comme indiqué dans le Centre des architectures Azure. Vous pouvez également ajuster les paramètres de la taille et du nombre des machines virtuelles dans le pool de nœuds AKS.

    Pour les besoins de cet article, conservez simplement toutes les valeurs par défaut de ce volet.

  5. Cliquez sur Suivant. Dans le volet Équilibrage de charge, en regard de Se connecter à Azure Application Gateway ?, sélectionnez Oui. Dans cette section; vous pouvez personnaliser les options de déploiement suivantes :

    • Pour Réseau virtuel et Sous-réseau, vous pouvez éventuellement personnaliser le réseau virtuel et le sous-réseau dans lesquels le déploiement place les ressources. Vous n’avez pas besoin de modifier les valeurs par défaut des valeurs restantes.

    • Pour Certificat TLS/SSL, vous pouvez fournir le certificat TLS/SSL à partir d’Azure Application Gateway. Laissez leurs valeurs par défaut pour générer un certificat auto-signé.

      Ne passez pas en production avec un certificat auto-signé. Pour plus d’informations sur les certificats auto-signés, consultez Créer un certificat public auto-signé pour authentifier votre application.

    • Vous pouvez sélectionner Activer l’affinité basée sur les cookies, également appelées sessions permanentes. Cet article utilise des sessions persistantes. Veillez donc à sélectionner cette option.

  6. Cliquez sur Suivant. Dans le volet Opérateur et application , cet article utilise toutes les valeurs par défaut. Toutefois, vous pouvez personnaliser les options de déploiement suivantes :

    • Vous pouvez déployer l’opérateur WebSphere Liberty en sélectionnant Oui pour l’option IBM prise en charge ?. Laissant la valeur par défaut Non déploie l’opérateur Open Liberty.
    • Vous pouvez déployer une application pour votre opérateur sélectionné en sélectionnant Oui pour l’option Déployer une application ?. Laissant la valeur par défaut Non ne déploie aucune application.
  7. Sélectionnez Vérifier + créer pour valider vos options sélectionnées. Dans le volet Vérifier + créer, lorsque l’option Créer devient disponible après la validation, sélectionnez-la.

    Le déploiement peut prendre jusqu’à 20 minutes. En attendant la fin du déploiement, vous pouvez suivre les étapes de la section Créer une instance de Azure SQL Database. Une fois la section terminée, revenez ici pour continuer.

Capturer les informations sélectionnées à partir du déploiement

Si vous avez quitté le volet Déploiement en cours, procédez comme suit pour y revenir. Si vous êtes toujours sur le volet qui indique Votre déploiement est terminé, accédez au groupe de ressources nouvellement créé et passez à la troisième étape.

  1. Dans l’angle de n’importe quelle page du portail, sélectionnez le bouton du menu, 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 la liste des ressources du groupe de ressources, sélectionnez la ressource avec la valeur Type Registre de conteneurs.

  4. Dans le volet de navigation gauche, sous Paramètres, sélectionnez Clés d’accès.

  5. Enregistrez à part les valeurs pour Nom du registre et Serveur de connexion. Vous pouvez utiliser l’icône de copie en regard de chaque champ pour copier la valeur dans le presse-papiers système.

    Remarque

    Cet article utilise la commande az acr build pour générer et envoyer (push) l’image Docker au registre de conteneurs, sans utiliser les éléments username et password du registre de conteneurs. Il est néanmoins possible d’utiliser le nom d’utilisateur et le mot de passe avec docker login et docker push. L’utilisation d’un nom d’utilisateur et d’un mot de passe est moins sécurisée que l’authentification sans mot de passe.

  6. Revenez au groupe de ressources dans lequel vous avez déployé les ressources.

  7. Dans la section Paramètres, sélectionnez Déploiements.

  8. Sélectionnez le déploiement qui se trouve tout en bas de la liste. La valeur Nom du déploiement correspondra à l’ID de l’éditeur de l’offre. Il contient la chaîne ibm.

  9. Dans le volet de navigation, sélectionnez Sorties.

  10. En utilisant la même technique de copie que pour les valeurs précédentes, enregistrez à côté les valeurs des sorties suivantes :

    • cmdToConnectToCluster

    • appDeploymentTemplateYaml si le déploiement n’inclut pas d’application. Autrement dit, vous avez sélectionné Aucun pour Déployer une application ? lorsque vous avez déployé l’offre de la place de marché. Dans cet article, Non a été sélectionné. Cependant, si vous avez sélectionné Oui, enregistrez à part la valeur de appDeploymentYaml, qui inclut le déploiement de l’application.

      Collez la valeur de appDeploymentTemplateYaml ou de appDeploymentYaml dans un shell Bash, puis exécutez la commande.

      La sortie de cette commande est le YAML de déploiement de l’application. Recherchez le secret TLS d’entrée avec le mot clé secretName, par exemple - secretName: secret785e2c. Notez quelque part la valeur secretName.

Exécutez les commandes suivantes pour définir les variables d’environnement que vous avez capturées dans les étapes précédentes. Ces variables d’environnement sont utilisées plus loin dans cet article.

export RESOURCE_GROUP_NAME=<your-resource-group-name>
export REGISTRY_NAME=<your-registry-nam-of-container-registry>
export LOGIN_SERVER=<your-login-server-of-container-registry>
export INGRESS_TLS_SECRET=<your-ingress-tls-secret-name>

Créer une instance Azure SQL Database

Dans cette section, vous créez une base de données unique Azure SQL Database à utiliser avec votre application.

Définissez d’abord les variables d’environnement liées à la base de données. Remplacez <your-unique-sql-server-name> par un nom unique pour votre serveur Azure SQL Database.

export SQL_SERVER_NAME=<your-unique-sql-server-name>
export DB_NAME=demodb

Exécutez la commande suivante dans votre terminal pour créer une base de données unique dans Azure SQL Database et définir l’utilisateur actuellement connecté en tant qu’administrateur Microsoft Entra. Pour plus d’informations, consultez Démarrage rapide : Créer une base de données unique – Azure SQL Database.

export ENTRA_ADMIN_NAME=$(az account show --query user.name --output tsv)

az sql server create \
    --name $SQL_SERVER_NAME \
    --resource-group $RESOURCE_GROUP_NAME \
    --enable-ad-only-auth \
    --external-admin-principal-type User \
    --external-admin-name $ENTRA_ADMIN_NAME \
    --external-admin-sid $(az ad signed-in-user show --query id --output tsv)
az sql db create \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name $DB_NAME \
    --edition GeneralPurpose \
    --compute-model Serverless \
    --family Gen5 \
    --capacity 2

Ensuite, ajoutez l’adresse IP locale aux règles de pare-feu du serveur Azure SQL Database pour permettre à votre machine locale de se connecter à la base de données pour des tests locaux ultérieurs.

export AZ_LOCAL_IP_ADDRESS=$(curl -s https://whatismyip.akamai.com)
az sql server firewall-rule create \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name AllowLocalIP \
    --start-ip-address $AZ_LOCAL_IP_ADDRESS \
    --end-ip-address $AZ_LOCAL_IP_ADDRESS

Remarque

Cet article désactive l’authentification SQL pour illustrer les meilleures pratiques de sécurité. Microsoft Entra ID est utilisé pour authentifier la connexion au serveur. Si vous devez activer l’authentification SQL, consultez az sql server create.

Créer une connexion de service dans AKS avec le connecteur de services

Dans cette section, vous créez une connexion de service entre le cluster AKS et la base de données Azure SQL en utilisant ID de charge de travail Microsoft Entra avec le connecteur de services. Cette connexion permet au cluster AKS d’accéder à la base de données Azure SQL sans utiliser l’authentification SQL.

Tout d’abord, accordez des autorisations à l’application Fournisseur de ressources du connecteur de services Azure sur la passerelle applicative déployée auparavant. Cette étape est nécessaire pour créer une connexion de service entre le cluster AKS et la base de données Azure SQL.

  1. Accédez au portail Azure, puis accédez au groupe de ressources que vous avez créé précédemment.
  2. Dans la liste des ressources du groupe de ressources, sélectionnez la ressource ayant le Type Passerelle applicative.
  3. Sélectionnez Contrôle d’accès (IAM) . Ensuite, sélectionnez Ajouter, puis Ajouter une attribution de rôle.
  4. Sous l’onglet Rôle, sélectionnez Rôles d’administrateur privilégié. Sélectionnez ensuite Contributeur. Cliquez sur Suivant.
  5. Sous l’onglet Membres, sélectionnez Sélectionner des membres. Ensuite, recherchez l’application Fournisseur de ressources du connecteur de services Azure. Sélectionnez l’application, puis Sélectionner. Cliquez sur Suivant.
  6. Sélectionnez Examiner + Attribuer. Attendez quelques secondes que l’attribution de rôle soit effective.

Exécutez ensuite les commandes suivantes pour créer une connexion entre le cluster AKS et la base de données SQL en utilisant ID de charge de travail Microsoft Entra avec le connecteur de services. Pour plus d’informations, consultez Créer une connexion de service dans AKS avec le connecteur de services (préversion).

# Register the Service Connector and Kubernetes Configuration resource providers
az provider register --namespace Microsoft.ServiceLinker --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait

# Install the Service Connector passwordless extension
az extension add --name serviceconnector-passwordless --upgrade --allow-preview true

# Retrieve the AKS cluster and Azure SQL Server resource IDs
export AKS_CLUSTER_RESOURCE_ID=$(az aks show \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --query id \
    --output tsv)
export AZURE_SQL_SERVER_RESOURCE_ID=$(az sql server show \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $SQL_SERVER_NAME \
    --query id \
    --output tsv)

# Create a user-assigned managed identity used for workload identity
export USER_ASSIGNED_IDENTITY_NAME=workload-identity-uami
az identity create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${USER_ASSIGNED_IDENTITY_NAME}

# Retrieve the user-assigned managed identity resource ID
export UAMI_RESOURCE_ID=$(az identity show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${USER_ASSIGNED_IDENTITY_NAME} \
    --query id \
    --output tsv)

# Create a service connection between your AKS cluster and your SQL database using Microsoft Entra Workload ID
az aks connection create sql \
    --connection akssqlconn \
    --client-type java \
    --source-id $AKS_CLUSTER_RESOURCE_ID \
    --target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \
    --workload-identity $UAMI_RESOURCE_ID

Remarque

Nous vous recommandons d’utiliser ID de charge de travail Microsoft Entra pour sécuriser l’accès à votre base de données Azure SQL sans utiliser l’authentification SQL. Si vous devez utiliser l’authentification SQL, ignorez les étapes précédentes de cette section, et utilisez le nom d’utilisateur et le mot de passe pour vous connecter à la base de données Azure SQL.

Obtenir un compte de service et un secret créés par le connecteur de services

Pour vous authentifier auprès de la base de données Azure SQL, vous devez obtenir le compte de service et le secret créés par le connecteur de services. Suivez les instructions de la section Mettre à jour votre conteneur du Tutoriel : Connecter une application AKS à Azure SQL Database. Utilisez l’option Créer directement un déploiement en utilisant l’exemple d’extrait de code YAML fourni, puis procédez comme suit :

  1. Dans les sections mises en évidence de l’exemple YAML de déploiement Kubernetes, copiez les valeurs serviceAccountName et secretRef.name, comme illustré dans l’exemple suivant :

    serviceAccountName: <service-account-name>
    containers:
    - name: raw-linux
       envFrom:
          - secretRef:
             name: <secret-name>
    
  2. Utilisez les commandes suivantes pour définir des variables d’environnement. Remplacez <service-account-name> et <secret-name> par les valeurs que vous avez copiées à l’étape précédente.

    export SERVICE_ACCOUNT_NAME=<service-account-name>
    export SECRET_NAME=<secret-name>
    

    Ces valeurs sont utilisées dans la section suivante pour déployer l’application Liberty sur le cluster AKS.

Remarque

Le secret créé par le connecteur de services contient la AZURE_SQL_CONNECTIONSTRING, qui est une chaîne de connexion sans mot de passe à la base de données Azure SQL. Pour plus d’informations, consultez l’exemple de valeur dans la section Authentification d’identité managée affectée par l’utilisateur de Intégrer Azure SQL Database au connecteur de services.

Maintenant que vous avez configuré la base de données et le cluster AKS, vous pouvez procéder à la préparation d’AKS pour héberger votre application Open Liberty.

Configurer et déployer l’exemple d’application

Suivez les étapes de cette section pour déployer l’exemple d’application sur le runtime Liberty. Ces étapes utilisent Maven.

Extraire l’application

Clonez l’exemple de code de cet article. L’exemple se trouve sur GitHub.

Il existe quelques exemples dans le référentiel. Cet article utilise java-app. Exécutez les commandes suivantes pour obtenir cet exemple :

git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20241107

Si vous voyez un message sur l’état « HEAD détaché », vous pouvez l’ignorer en toute sécurité. Le message signifie simplement que vous avez extrait une balise.

Voici la structure de fichiers de l’application, avec des fichiers et des répertoires importants :

java-app
├─ src/main/
│  ├─ aks/
│  │  ├─ openlibertyapplication-agic-passwordless-db.yaml
│  ├─ docker/
│  │  ├─ Dockerfile
│  │  ├─ Dockerfile-wlp
│  ├─ liberty/config/
│  │  ├─ server.xml
│  ├─ java/
│  ├─ resources/
│  ├─ webapp/
├─ pom.xml
├─ pom-azure-identity.xml

Les répertoires java, resources et webapp contiennent le code source de l’exemple d’application. Le code déclare et utilise une source de données nommée jdbc/JavaEECafeDB.

Dans le répertoire aks, le fichier openlibertyapplication-agic-passwordless-db.yaml est utilisé pour déployer l’image de l’application avec une connexion AGIC et sans mot de passe à la base de données Azure SQL. Cet article suppose que vous utilisez ce fichier.

Dans le répertoire docker, il y a deux fichiers pour créer l’image de l’application avec Open Liberty ou WebSphere Liberty.

Dans le répertoire liberty/config, le fichier server.xml est utilisé pour configurer la connexion de base de données pour le cluster Open Liberty et WebSphere Liberty. Il définit une variable azure.sql.connectionstring qui est utilisée pour se connecter à la base de données Azure SQL.

Le fichier pom.xml est le fichier POM (Project Object Model) Maven qui contient les informations de configuration du projet. Le fichier pom-azure-identity.xml déclare une dépendance de azure-identity. Ce fichier est utilisé pour s’authentifier auprès de services Azure en utilisant Microsoft Entra ID.

Remarque

Cet exemple utilise la bibliothèque azure-identity pour s’authentifier auprès d’Azure SQL Database en utilisant l’authentification Microsoft Entra. Si vous devez utiliser l’authentification SQL dans votre application Liberty, consultez Connexions de base de données relationnelle avec JDBC.

Créer le projet

Maintenant que vous avez rassemblé les propriétés nécessaires, générez l’application. Le fichier POM du projet lit de nombreuses variables de l’environnement. Dans le cadre de la génération Maven, ces variables sont utilisées pour remplir des valeurs dans les fichiers YAML situés dans src/main/aks. Vous pouvez faire pareil pour votre application en dehors de Maven si vous préférez.

cd $BASE_DIR/java-app
# The following variables are used for deployment file generation into the target.
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}
export INGRESS_TLS_SECRET=${INGRESS_TLS_SECRET}

mvn clean install
mvn dependency:copy-dependencies -f pom-azure-identity.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources

Tester votre projet localement

Exécutez et testez le projet localement avant de le déployer sur Azure. Pour que ce soit plus pratique, cet article utilise liberty-maven-plugin. Pour en savoir plus sur liberty-maven-plugin, consultez l’article Open Liberty Création d’une application web avec Maven.

Remarque

Si vous avez sélectionné un déploiement de base de données « serverless », vérifiez que votre base de données SQL n’est pas en mode pause. Une façon de le faire est de se connecter à l’éditeur de requêtes de base de données, comme décrit dans la section Prise en main rapide : Utiliser l’éditeur de requêtes du portail Azure (aperçu) pour interroger Azure SQL Database.

  1. Démarrez l’application à l’aide de liberty:run.

    cd $BASE_DIR/java-app
    
    # The value of environment variable AZURE_SQL_CONNECTIONSTRING is read by configuration variable `azure.sql.connectionstring` in server.xml
    export AZURE_SQL_CONNECTIONSTRING="jdbc:sqlserver://$SQL_SERVER_NAME.database.windows.net:1433;databaseName=$DB_NAME;authentication=ActiveDirectoryDefault"
    mvn liberty:run
    
  2. Vérifiez que l’application fonctionne comme prévu. Vous devez normalement voir un message similaire à [INFO] [AUDIT ] CWWKZ0001I: Application javaee-cafe started in 18.235 seconds. dans la sortie de la commande. Rendez-vous à l’adresse http://localhost:9080/ dans votre navigateur et vérifiez que l’application est accessible et que toutes les fonctions fonctionnent.

  3. Appuyez sur Ctrl+C pour arrêter. Appuyez sur Y si vous êtes invité à arrêter la tâche de traitement par lots.

Quand vous avez terminé, supprimez la règle de pare-feu qui permet à votre adresse IP locale d’accéder à la base de données Azure SQL en utilisant la commande suivante :

az sql server firewall-rule delete \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name AllowLocalIP

Générer l’image pour le déploiement AKS

Vous pouvez maintenant exécuter la commande az acr build pour construire l’image, comme illustré dans l’exemple suivant :

cd $BASE_DIR/java-app/target

az acr build \
    --registry ${REGISTRY_NAME} \
    --image javaee-cafe:v1 \
    .

La commande az acr build charge les artefacts spécifiés dans le fichier Dockerfile dans l’instance Container Registry, génère l’image et la stocke dans l’instance Container Registry.

Déployez l’application sur le cluster AKS

Procédez comme suit pour déployer l’application Liberty sur le cluster AKS :

  1. Connectez-vous au cluster AKS.

    Collez la valeur de cmdToConnectToCluster dans un interpréteur de commandes et exécutez la commande.

  2. Appliquez le fichier de déploiement en exécutant la commande suivante :

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-agic-passwordless-db.yaml
    
  3. Attendez que tous les pods soient redémarrés correctement à l’aide de la commande suivante :

    kubectl get pods --watch
    

    Une sortie similaire à l’exemple suivant indique que tous les pods sont en cours d’exécution :

    NAME                                       READY   STATUS    RESTARTS   AGE
    javaee-cafe-cluster-agic-67cdc95bc-2j2gr   1/1     Running   0          29s
    javaee-cafe-cluster-agic-67cdc95bc-fgtt8   1/1     Running   0          29s
    javaee-cafe-cluster-agic-67cdc95bc-h47qm   1/1     Running   0          29s
    

Test de l’application

Quand les pods sont en cours d’exécution, vous pouvez tester l’application en utilisant l’adresse IP publique de l’instance Application Gateway.

Exécutez la commande suivante pour obtenir et afficher l’adresse IP publique de l’instance Application Gateway, exposée par la ressource d’entrée créée par AGIC :

export APP_URL=https://$(kubectl get ingress | grep javaee-cafe-cluster-agic-ingress | cut -d " " -f14)/
echo $APP_URL

Copiez l’URL et ouvrez-la dans votre navigateur pour afficher la page d’accueil de l’application. Si la page web ne s’affiche pas correctement ou renvoie une erreur 502 Bad Gateway, l’application démarre toujours en arrière-plan. Patientez quelques minutes et réessayez.

Capture d’écran de l’application Java Liberty déployée avec succès sur AKS.

Nettoyer les ressources

Pour éviter des frais Azure, vous devez nettoyer les ressources non nécessaires. Quand vous n’avez plus besoin du cluster, utilisez la commande az group delete pour supprimer le groupe de ressources, le service conteneur, le registre de conteneurs, la base de données et toutes les ressources associées :

az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait

Étapes suivantes

Pour plus d’informations, consultez les références suivantes :

Pour plus d’informations sur le déploiement de la famille IBM WebSphere sur Azure, consultez Quelles sont les solutions pour exécuter la famille de produits WebSphere sur Azure ?.