Tutoriel : Migrer Oracle WebLogic Server vers Azure Kubernetes Service (AKS) au sein d’un réseau virtuel personnalisé

Ce tutoriel vous montre comment déployer l’offre Oracle WebLogic Server (WLS) sur Azure Kubernetes Service (AKS) qui s’intègre à un réseau virtuel personnalisé dans l’abonnement du consommateur. L’offre WLS sur AKS vous permet de décider si vous souhaitez créer un nouveau réseau virtuel ou en utiliser un existant.

Dans ce tutoriel, vous allez apprendre à :

  • Créez un réseau virtuel personnalisé et créez l’infrastructure au sein du réseau.
  • Exécutez Oracle WebLogic Server sur AKS dans le réseau virtuel personnalisé.
  • Exposez Oracle WebLogic Server avec Azure Application Gateway en tant qu’équilibreur de charge.
  • Validez le déploiement réussi.

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 un système d’exploitation de type UNIX installé (par exemple Ubuntu, macOS ou Sous-système Windows pour Linux).
  • Installez l’interface de ligne de commande Azure (Azure CLI) version 2.37.0 ou une version supérieure pour exécuter les 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.
  • L’offre WLS sur AKS du marketplace nécessite l’autorisation de créer une identité managée affectée par l’utilisateur et d’attribuer des rôles Azure. Pour attribuer des rôles Azure, vous devez disposer d'autorisationsMicrosoft.Authorization/roleAssignments/write, telles que celles d'Administrateur d'accès aux utilisateurs ou de Propriétaire.
  • Un compte Oracle. Les étapes dans Oracle Container Registry vous guideront pour accepter l’accord de licence pour les images WebLogic Server. Notez le mot de passe et l’email de votre compte Oracle.

Créer un groupe de ressources

Créez un groupe de ressources avec la commande az group create. Cet exemple crée un groupe de ressources nommé myResourceGroup à l’emplacementeastus :

export RESOURCE_GROUP_NAME="myResourceGroup"
az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

Créer un réseau virtuel personnalisé

Il existe des contraintes lors de la création d’un réseau virtuel personnalisé. Avant de créer le réseau virtuel dans votre environnement, lisez les articles suivants :

L’exemple de cette section crée un réseau virtuel avec un espace d’adressage 192.168.0.0/16 et crée deux sous-réseaux utilisés pour AKS et Application Gateway.

Premièrement, créez un réseau virtuel à l’aide de la commande az network vnet create. L’exemple suivant crée un réseau virtuel par défaut nommé myVNet :

az network vnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myVNet \
    --address-prefixes 192.168.0.0/16

Ensuite, créez un sous-réseau en utilisant az network vnet subnet create pour le cluster AKS. L’exemple suivant permet de créer un sous-réseau nommé myAKSSubnet :

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAKSSubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.1.0/24

Ensuite, créez un sous-réseau en utilisant az network vnet subnet create pour Application Gateway. L’exemple suivant permet de créer un sous-réseau nommé myAppGatewaySubnet :

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAppGatewaySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.2.0/24

Ensuite, utilisez la commande suivante pour obtenir l’ID de ressource du sous-réseau AKS et stockez-le dans une variable à utiliser plus tard dans cet article :

export AKS_SUBNET_ID=$(az network vnet subnet show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --vnet-name myVNet \
    --name myAKSSubnet \
    --query id \
    --output tsv)

Créer un cluster AKS dans le réseau virtuel

Utilisez la commande suivante pour créer un cluster AKS dans votre réseau virtuel et sous-réseau en utilisant la commande az aks create.

Remarque

Cet exemple crée un cluster AKS utilisant kubenet et une identité attribuée par le système. Azure CLI attribuera le rôle Contributeur réseau à l’identité attribuée par le système après la création du cluster.

Si vous souhaitez utiliser Azure CNI, veuillez consulter la section Configurer le réseau Azure CNI dans AKS pour créer un cluster AKS avec Azure CNI activé.

Si vous souhaitez utiliser une identité managée affectée par l’utilisateur, consultez la section Créer un cluster AKS avec des identités managées affectées par le système.

az aks create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAKSCluster \
    --generate-ssh-keys \
    --enable-managed-identity \
    --node-count 3 \
    --network-plugin kubenet \
    --vnet-subnet-id $AKS_SUBNET_ID \
    --yes

Stockez les applications Java EE dans un compte de stockage

Vous pouvez déployer une application Java EE en même temps que le déploiement de l’offre WLS sur AKS. Vous devez télécharger le fichier de l’application (.war, .ear, ou .jar) dans un compte de stockage Azure préexistant et un conteneur de stockage au sein de ce compte.

Créez un compte de stockage Azure en utilisant la commande az storage account create, comme illustré dans l’exemple suivant :

export STORAGE_ACCOUNT_NAME="stgwlsaks$(date +%s)"
az storage account create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${STORAGE_ACCOUNT_NAME} \
    --location eastus \
    --sku Standard_RAGRS \
    --kind StorageV2

Créez un conteneur pour stocker des objets blob avec la commande az storage container create. L’exemple suivant utilise la clé du compte de stockage pour autoriser l’opération de création du conteneur. Vous pouvez également utiliser votre compte Microsoft Entra pour autoriser l’opération de création du conteneur. Pour plus d’informations, consultez Autoriser l’accès aux données d’objet blob et de file d’attente avec Azure CLI.

export KEY=$(az storage account keys list \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --query [0].value \
    --output tsv)

az storage container create \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --name mycontainer \
    --account-key ${KEY} \
    --auth-mode key

Ensuite, téléchargez votre application Java EE sur un blob en utilisant la commande az storage blob upload. L’exemple suivant télécharge l’application de test testwebapp.war.

curl -fsL https://aka.ms/wls-aks-testwebapp -o testwebapp.war

az storage blob upload \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --container-name mycontainer \
    --name testwebapp.war \
    --file testwebapp.war \
    --account-key ${KEY} \
    --auth-mode key

Pour télécharger plusieurs fichiers en même temps, consultez la section Créer, télécharger et lister des blobs avec Azure CLI.

Déployez WLS sur l’offre AKS

Cette section vous montre comment approvisionner un cluster WLS avec l’instance AKS que vous avez créée précédemment. Vous allez approvisionner le cluster au sein du réseau virtuel personnalisé et exporter les nœuds du cluster en utilisant Azure Application Gateway comme équilibreur de charge. L’offre générera automatiquement un certificat auto-signé pour la terminaison TLS/SSL d’Application Gateway. Pour une utilisation avancée de la terminaison TLS/SSL avec Application Gateway, consultez la section Contrôleur d’entrée Application Gateway.

Tout d’abord, commencez le processus de déploiement d’un serveur WebLogic comme décrit dans le Guide de l’utilisateur Oracle WebLogic Server sur AKS, mais revenez à cette page lorsque vous atteignez Configurer le cluster AKS, comme illustré dans la capture d’écran suivante.

Capture d’écran du portail Azure montrant le volet Configurer le cluster AKS de la page Créer Oracle WebLogic Server sur Azure Kubernetes Service.

Configurer le cluster AKS

Maintenant que vous avez un cluster AKS dans le réseau virtuel, sélectionnez le cluster AKS pour le déploiement.

  1. Pour Créer un nouveau cluster AKS ?, sélectionnez Non.
  2. Sous Sélectionner le cluster AKS, ouvrez le menu déroulant, puis sélectionnez le cluster AKS que vous avez créé, nommé myAKSCluster dans cet exemple.
  3. Pour Utiliser une image Docker WebLogic Server préexistante à partir du référentiel Oracle Container Registry ?, sélectionnez Oui.
  4. Pour Créer un nouveau Azure Container Registry pour stocker des images d’application ?, sélectionnez Oui.
  5. Sous Nom d’utilisateur pour l’authentification Oracle Single Sign-on, entrez le nom d’utilisateur de votre compte Oracle Single Sign-on.
  6. Sous Mot de passe pour l’authentification Oracle Single Sign-on, entrez le mot de passe pour ce compte.
  7. Sous Confirmer le mot de passe, ressaisissez la valeur du champ précédent.
  8. Pour Sélectionner la combinaison désirée de WebLogic Server, JDK et système d’exploitation ou tag Docker pleinement qualifié, conservez la valeur par défaut.
  9. Pour Déployer votre package d’application, sélectionnez Oui.
  10. Pour Package d’application (.war, .ear, .jar), sélectionnez Parcourir.
    • Sélectionner le compte de stockage que vous avez créé. Le nom commence par stgwlsaks dans cet exemple.
    • Sélectionnez votre conteneur dans la page Conteneurs. Cet exemple utilise mycontainer.
    • Vérifiez que votre application est répertoriée dans le conteneur. Cet exemple utilise testwebapp.war.
    • Sélectionnez Sélectionner.
  11. Pour les autres champs, conservez les valeurs par défaut.

Vous avez maintenant terminé la configuration du cluster AKS, de l’image de base WebLogic et de l’application Java EE.

Ensuite, vous configurerez le TLS/SSL de bout en bout pour la console d’administration WebLogic Server et le cluster sur le port HTTPS (sécurisé), avec votre propre certificat dans le volet Configuration TLS/SSL. Pour cette tâche, suivez les étapes du Guide de l’utilisateur Oracle WebLogic Server sur AKS, mais revenez à cette page lorsque vous atteignez Networking (Mise en réseau), comme illustré dans la capture d’écran suivante. Vous utiliserez la section suivante pour configurer le réseau, puis reviendrez au guide de l’utilisateur WLS sur AKS pour finaliser le déploiement.

Capture d’écran du portail Azure montrant le volet Réseaux de la page Créer Oracle WebLogic Server sur Azure Kubernetes Service.

Configurer Application Gateway Ingress Controller

Utilisez les étapes suivantes pour configurer Application Gateway Ingress Controller au sein du réseau virtuel.

  1. Pour Se connecter à Azure Application Gateway ?, sélectionnez Oui.
  2. Sous Configurer des réseaux virtuels, pour Réseau virtuel, sélectionnez le réseau virtuel que vous avez créé. Cet exemple utilise myVNet dans myResourceGroup. Pour Sous-réseau, sélectionnez le sous-réseau pour Application Gateway. Cet exemple utilise myAppGatewaySubnet.
  3. Pour Sélectionner l’option de certificat TLS/SSL désirée, sélectionnez Générer un certificat auto-signé pour le front-end.
  4. Pour Créer une entrée pour la console d’administration, sélectionnez Oui pour exposer la console d’administration WebLogic.
  5. Pour les autres champs, conservez les valeurs par défaut.

Vous pouvez maintenant continuer avec les autres aspects du déploiement de WLS comme décrit dans le Guide de l’utilisateur Oracle WebLogic Server sur AKS.

Valider le déploiement réussi de WLS

Cette section vous montre comment valider rapidement le déploiement réussi du cluster WLS et d’Application Gateway Ingress Controller.

Après l’achèvement du déploiement, sélectionnez Outputs. Vous trouverez l’URL externe de la console d’administration WebLogic et du cluster. Utilisez les instructions suivantes pour accéder à ces ressources :

  • Pour afficher la console d’administration WebLogic, copiez d’abord la valeur de la variable de sortie adminConsoleExternalUrl. Ensuite, collez la valeur dans la barre d’adresse de votre navigateur et appuyez sur Entrée pour ouvrir la page de connexion de la console d’administration WebLogic.
  • Pour afficher le cluster WebLogic, copiez d’abord la valeur de la variable de sortie clusterExternalUrl. Ensuite, utilisez cette valeur pour construire l’URL de l’application de test en l’appliquant au modèle suivant : ${clusterExternalUrl}testwebapp/. Maintenant, collez l’URL de l’application dans la barre d’adresse de votre navigateur et appuyez sur Entrée. Vous constaterez que l’application de test affiche l’adresse privée et le nom d’hôte du pod vers lequel Application Gateway Ingress Controller effectue le routage.

Nettoyer les ressources

Si vous ne prévoyez pas de continuer à utiliser le cluster WLS, supprimez le réseau virtuel et le cluster WLS en suivant les étapes du portail Azure suivantes :

  1. Visitez la page de vue d’ensemble du groupe de ressources myResourceGroup, puis sélectionnez Supprimer le groupe de ressources.
  2. Visitez la page de vue d’ensemble du groupe de ressources dans lequel vous avez déployé l’offre WLS sur AKS, puis sélectionnez Supprimer le groupe de ressources.

Étapes suivantes

Continuez à explorer les options permettant d’exécuter WLS sur Azure.