Partager via


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

Cet article fournit un guide pas à pas pour exécuter Open/WebSphere Liberty sur Azure.

Plus précisément, cet article explique comment accomplir les tâches suivantes :

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

L’Opérateur 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.

Pour une solution plus automatisée qui accélère votre passage à AKS, veuillez consulter la section Déployer une application Java avec Open Liberty/WebSphere Liberty sur un cluster Azure Kubernetes Service (AKS).

Pour plus d’informations sur Open Liberty, consultez la page de projet Open Liberty. Pour plus d’informations sur IBM WebSphere Liberty, consultez la page du produit WebSphere Liberty.

Cet article vous aide à accéder rapidement au déploiement. Avant de passer en production, vous devez explorer Tuning 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 avant de commencer.
  • Préparez une machine locale avec Windows, macOS ou Linux installé.
  • Installez Azure CLI 2.61.0 ou version ultérieure pour exécuter des commandes Azure CLI.
    • Connectez-vous avec l’interface de ligne de commande Azure en utilisant la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Veuillez consulter la section Connexion à Azure avec l’interface de ligne de commande Azure pour d’autres options de connexion.
    • 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.
  • Installez une implémentation Java Édition Standard (SE), version 17 (par exemple, Eclipse Open J9).
  • Installez Maven version 3.5.0 ou une version ultérieure.
  • 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 vérifier l’affectation en suivant les étapes de la section Liste des affectations de rôles Azure en utilisant le portail Azure.

Connexion à Azure

Si vous ne l’avez pas déjà fait, connectez-vous à votre abonnement Azure en utilisant la commande az login et suivez les instructions à l’écran.

az login

Remarque

Vous pouvez exécuter la plupart des commandes Azure CLI dans PowerShell de la même manière que dans Bash. La différence n’existe que lors de l’utilisation de variables. Dans les sections suivantes, la différence est abordée dans différents onglets si nécessaire.

Si plusieurs locataires Azure sont associés à vos informations d’identification Azure, vous devez spécifier le locataire auquel vous souhaitez vous connecter. Vous pouvez le faire avec l'option --tenant. Par exemple : az login --tenant contoso.onmicrosoft.com.

Créer un groupe de ressources

Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées.

Créez un groupe de ressources appelé java-liberty-project à l’aide de la commande az group create à l’emplacement eastus2 . Ce groupe de ressources est utilisé ultérieurement pour créer l’instance Azure Container Registry et le cluster AKS.

export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2

Créer une instance container Registry

Utilisez la commande az acr create pour créer l’instance de Container Registry. L’exemple suivant crée une instance Container Registry nommée youruniqueacrname. Assurez-vous qu’il youruniqueacrname est unique dans Azure.

Remarque

Cet article utilise le mécanisme d’authentification sans mot de passe recommandé pour Container Registry. Il est toujours possible d’utiliser le nom d’utilisateur et le mot de passe après docker login l’utilisation az acr credential show pour obtenir le nom d’utilisateur et le mot de passe. L’utilisation du nom d’utilisateur et du mot de passe est moins sécurisée que l’authentification sans mot de passe.

export REGISTRY_NAME=youruniqueacrname
az acr create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $REGISTRY_NAME \
    --sku Basic

Après un court instant, vous devriez voir une sortie JSON contenant les lignes suivantes :

  "provisioningState": "Succeeded",
  "publicNetworkAccess": "Enabled",
  "resourceGroup": "java-liberty-project",

Se connecter à l’instance Container Registry

Vous devez vous connecter à l’instance container Registry avant de pouvoir y envoyer une image. Utilisez les commandes suivantes pour vérifier la connexion :

export LOGIN_SERVER=$(az acr show \
    --name $REGISTRY_NAME \
    --query 'loginServer' \
    --output tsv)

az acr login --name $REGISTRY_NAME

Vous devez voir Login Succeeded à la fin de la sortie de commande si vous êtes connecté à l’instance Container Registry avec succès.

Créer un cluster AKS

Utilisez la commande az aks create pour créer un cluster AKS. L’exemple suivant crée un cluster nommé myAKSCluster avec un nœud. Cette commande prend plusieurs minutes à s’exécuter.

export CLUSTER_NAME=myAKSCluster
az aks create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --node-count 1 \
    --generate-ssh-keys \
    --enable-managed-identity

Au bout de quelques minutes, la commande se termine et retourne des informations au format JSON sur le cluster, dont la sortie suivante :

  "nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
  "privateFqdn": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "java-liberty-project",

Attacher l’instance Container Registry au cluster AKS

Exécutez la commande az aks update pour attacher l’instance Container Registry au cluster AKS afin que le cluster AKS soit authentifié pour extraire des images de l’instance Container Registry, comme illustré dans l’exemple suivant :

az aks update \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --attach-acr $REGISTRY_NAME

Se connecter au cluster AKS

Pour gérer un cluster Kubernetes, vous utilisez kubectl, le client de ligne de commande Kubernetes. Pour installer kubectl localement, utilisez la commande az aks install-cli, comme illustré dans l’exemple suivant :

az aks install-cli

Pour configurer kubectl afin de vous connecter à votre cluster Kubernetes, exécutez la commande az aks get-credentials. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.

az aks get-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --overwrite-existing \
    --admin

Remarque

La commande ci-dessus utilise l’emplacement par défaut pour le fichier de configuration Kubernetes, à savoir ~/.kube/config. Vous pouvez spécifier un emplacement différent pour votre fichier de configuration Kubernetes en utilisant --file.

Pour vérifier la connexion à votre cluster, utilisez la commande kubectl get pour retourner une liste des nœuds du cluster.

kubectl get nodes

L’exemple de sortie suivant montre le nœud unique créé au cours des étapes précédentes. Vérifiez que l’état du nœud est Ready :

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-xxxxxxxx-yyyyyyyyyy   Ready    <none>  76s     v1.29.9

Créer une base de données Azure SQL

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

Tout d’abord, définissez des variables d’environnement liées à la base de données. Remplacez par <your-unique-sql-server-name> 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 connecté actuel 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 ad signed-in-user show --query userPrincipalName --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 ordinateur local de se connecter à la base de données pour les tests locaux ultérieurement.

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

Vous créez un serveur Azure SQL avec l’authentification SQL désactivée pour les considérations de sécurité. Seul l’ID Microsoft Entra est utilisé pour s’authentifier auprès du serveur. Si vous devez activer l’authentification SQL, consultez az sql server create pour plus d’informations.

Créer une connexion de service dans AKS avec Service Connector

Exécutez les commandes suivantes pour créer une connexion entre le cluster AKS et la base de données SQL à l’aide de ID de charge de travail Microsoft Entra avec Service Connector. Pour plus d’informations, consultez Créer une connexion de service dans AKS avec Service Connector (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

Il est recommedé 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 ci-dessus dans cette section et utilisez le nom d’utilisateur et le mot de passe pour vous connecter à Azure SQL Database.

Obtenir un compte de service et un secret créés par Service Connector

Pour vous authentifier auprès d’Azure SQL Database, vous devez obtenir le compte de service et le secret créés par Service Connector. Suivez la section Mettre à jour votre conteneur. Prenez l’option Créer directement un déploiement à l’aide de l’exemple de code YAML fourni et exécutez les étapes suivantes :

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

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

    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 Service Connector contient le AZURE_SQL_CONNECTIONSTRINGmot de passe gratuit chaîne de connexion à Azure SQL Database. Pour plus d’informations, consultez l’exemple de valeur de l’authentification d’identité managée affectée par l’utilisateur.

Installer l’Opérateur Open Liberty

Dans cette section, vous allez installer l’opérateur Open Liberty sur le cluster AKS pour héberger l’application Liberty.

Installez Open Liberty Operator en exécutant les commandes suivantes :

# Install cert-manager Operator
CERT_MANAGER_VERSION=v1.11.2
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.yaml

# Install Open Liberty Operator
export OPERATOR_VERSION=1.4.0
mkdir -p overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/olo-all-namespaces.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/cluster-roles.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/kustomization.yaml -q -P ./overlays/watch-all-namespaces
mkdir base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/kustomization.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-crd.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-operator.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-roles.yaml -q -P ./base
kubectl create namespace open-liberty
kubectl apply --server-side -k overlays/watch-all-namespaces

Configurer et générer l’image de l’application

Pour déployer et exécuter votre application Liberty sur un cluster AKS, conteneurisez votre application en tant qu’image Docker à l’aide d’images conteneur Open Liberty ou d’images conteneur WebSphere Liberty.

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 ce guide. L’exemple se trouve sur GitHub. Il existe quelques exemples dans le référentiel. Cet article utilise l’exemple java-app . Les fichiers importants sont affichés ensuite.

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

Si un message vous signale que vous allez passer à l’état « detached HEAD », vous pouvez ignorer ce message sans risque. Cela signifie simplement que vous avez modifié une étiquette.

java-app
├─ src/main/
│  ├─ aks/
│  │  ├─ openlibertyapplication-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-passwordless-db.yaml est utilisé pour déployer l’image de l’application. 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 server.xml est utilisé pour configurer la connexion à la base de données pour le cluster Open Liberty et WebSphere Liberty. Il définit une variable azure.sql.connectionstring utilisée pour se connecter à Azure SQL Database.

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 azure-identity dépendance, qui est utilisée pour s’authentifier auprès des services Azure à l’aide de l’ID Microsoft Entra.

Remarque

Cet exemple utilise la azure-identity bibliothèque pour s’authentifier auprès d’Azure SQL Database à l’aide de l’authentification Microsoft Entra, ce qui est recommandé pour les considérations de sécurité. Si vous devez utiliser l’authentification SQL dans votre application Liberty, consultez les connexions de base de données relationnelle avec JDBC pour plus d’informations.

Créer le projet

Maintenant que vous avez regroupé les propriétés nécessaires, vous pouvez générer 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 target/
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}

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

Tester votre projet localement

Vous pouvez maintenant exécuter et tester le projet localement avant de le déployer sur Azure. Pour plus de commodité, utilisez le liberty-maven-plugin. Pour en savoir plus sur le liberty-maven-plugin, consultez Building a web application with Maven. Pour votre application, vous pouvez faire pareil en utilisant un autre mécanisme comme votre IDE local. Vous pouvez également utiliser l’option liberty:devc destinée au développement avec des conteneurs. Pour en savoir plus sur liberty:devc, consultez la documentation Liberty.

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 devriez voir un message similaire à [INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds. dans la sortie de la commande en cas de réussite. 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. Sélectionnez Y si vous êtes aksed pour terminer la tâche de traitement par lots.

Lorsque vous avez terminé, supprimez la règle de pare-feu qui permet à votre adresse IP locale d’accéder à Azure SQL Database à l’aide de 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 générer 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 az acr build commande 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. Appliquez le fichier de déploiement en exécutant les commandes suivantes :

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-passwordless-db.yaml
    
  2. Déterminez si l’instance OpenLibertyApplication est créée en exécutant la commande suivante :

    kubectl get openlibertyapplication javaee-cafe-cluster
    

    Vous devez obtenir une sortie similaire à la suivante :

    NAME                  IMAGE                                        EXPOSED   RECONCILED   RESOURCESREADY   READY   WARNING   AGE
    javaee-cafe-cluster   jiangma102924acr.azurecr.io/javaee-cafe:v1             True         True             True              57s
    
  3. Déterminez si le déploiement créé par l’Opérateur est prêt en exécutant la commande suivante :

    kubectl get deployment javaee-cafe-cluster --watch
    

    Vous devez obtenir une sortie similaire à la suivante :

    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    javaee-cafe-cluster         0/3     3            0           20s
    
  4. Attendez de voir 3/3 sous la colonne READY et 3 sous la colonne AVAILABLE, puis utilisez Ctrl+C pour arrêter le processus de surveillance kubectl.

Test de l’application

Quand l’application s’exécute, un service Kubernetes d’équilibrage de charge expose le front-end de l’application sur Internet. Ce processus peut prendre un certain temps.

Pour surveiller la progression, utilisez la commande kubectl get service avec l’argument --watch, comme illustré dans l’exemple suivant :

kubectl get service javaee-cafe-cluster --watch

Vous devez obtenir une sortie similaire à la suivante :

NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)          AGE
javaee-cafe-cluster         LoadBalancer   10.0.251.169   52.152.189.57   80:31732/TCP     68s

Après que l’adresse EXTERNAL-IP passe de pending à une véritable adresse IP publique, utilisez Ctrl+C pour arrêter le processus de surveillance kubectl.

Si du temps s’est écoulé entre l’exécution des étapes de cette section et celle de la section précédente, assurez-vous que la base de données est active, si nécessaire. Veuillez consulter la note précédente concernant la mise en pause de la base de données.

Ouvrez un navigateur web sur l’adresse IP externe de votre service (52.152.189.57 pour l’exemple ci-dessus) afin d’afficher la page d’accueil à l’application. Si la page ne se charge pas correctement, c’est parce que l’application est en cours de démarrage. Vous pouvez attendre un moment et actualiser la page plus tard. Le nom de pod de vos réplicas d’application doit s’afficher en haut à gauche de la page. Attendez quelques minutes et actualisez la page. Vous verrez un autre nom de pod affiché en raison de l’équilibrage de charge fourni par le cluster AKS.

Application Java Liberty déployée avec succès sur AKS.

Remarque

Actuellement, l’application n’utilise pas HTTPS. Nous vous recommandons d’activer TLS avec vos propres certificats. Pour plus d’informations, veuillez consulter la section Utiliser TLS avec un contrôleur d’entrée sur Azure Kubernetes Service (AKS).

Nettoyer les ressources

Pour éviter des frais Azure, vous devez nettoyer les ressources non nécessaires. Lorsque 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

Vous pouvez en savoir plus sur les références utilisées dans ce guide :

Pour incorporer Azure Cache pour Redis dans une application Java, veuillez consulter la section Utiliser Azure Cache pour Redis en Java avec le client Redisson Redis.

Pour explorer les options d’exécution des produits WebSphere sur Azure, veuillez consulter la section Quelles sont les solutions pour exécuter la famille de produits WebSphere sur Azure ?