Tutorial: Migración de Oracle WebLogic Server a Azure Kubernetes Service dentro de una red virtual personalizada

En este tutorial se muestra cómo implementar la oferta oracle WebLogic Server (WLS) en Azure Kubernetes Service (AKS) que se integra con una red virtual personalizada en la suscripción del consumidor. La oferta de WLS en AKS le permite decidir si desea crear una nueva red virtual o usar una existente.

En este tutorial, aprenderá a:

  • Cree una red virtual personalizada y cree la infraestructura dentro de la red.
  • Ejecute Oracle WebLogic Server en AKS en la red virtual personalizada.
  • Exponga Oracle WebLogic Server con App de Azure lication Gateway como equilibrador de carga.
  • Valide la implementación correcta.

Requisitos previos

  • Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

  • Use Azure Cloud Shell mediante el entorno de Bash; asegúrese de que la versión de la CLI de Azure sea 2.37.0 o posterior.

    Launch Cloud Shell in a new window

  • Si lo prefiere, instale la CLI de Azure 2.37.0 o posterior para ejecutar comandos de la CLI de Azure.

    • Si usa una instalación local, inicie sesión con la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Consulte Inicio de sesión con la CLI de Azure para ver otras opciones de inicio de sesión.
    • Cuando se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información, consulte Uso de extensiones con la CLI de Azure.
    • Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
  • La oferta de Marketplace de WLS en AKS requiere permiso para crear una identidad administrada asignada por el usuario y asignar roles de Azure. Para asignar roles de Azure, debe tener los permisos Microsoft.Authorization/roleAssignments/write, como Administrador de acceso de usuario o Propietario.

  • Una cuenta de Oracle. Los pasos descritos en Oracle Container Registry le dirigirán a aceptar el contrato de licencia para las imágenes de WebLogic Server. Anote la contraseña y el correo electrónico de la cuenta de Oracle.

Crear un grupo de recursos

Cree un grupo de recursos con az group create. En este ejemplo se crea un grupo de recursos denominado myResourceGroup en la eastus ubicación:

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

Crear una red virtual personalizada

Hay restricciones al crear una red virtual personalizada. Antes de crear la red virtual en su entorno, lea los artículos siguientes:

En el ejemplo de esta sección se crea una red virtual con espacio 192.168.0.0/16de direcciones y se crean dos subredes usadas para AKS y Application Gateway.

En primer lugar, cree una red virtual mediante az network vnet create. En el ejemplo siguiente se crea una red virtual predeterminada denominada myVNet:

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

A continuación, cree una subred mediante az network vnet subnet create para el clúster de AKS. En el ejemplo siguiente se crea una subred denominada myAKSSubnet:

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

A continuación, cree una subred mediante az network vnet subnet create para Application Gateway. En el ejemplo siguiente se crea una subred denominada myAppGatewaySubnet:

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

A continuación, use el siguiente comando para obtener el identificador de recurso de subred de AKS y almacenarlo en una variable para usarlo más adelante en este artículo:

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

Creación de un clúster de AKS en la red virtual

Use el comando siguiente para crear un clúster de AKS en la red virtual y la subred mediante el comando az aks create .

Nota:

En este ejemplo se crea un clúster de AKS mediante kubenet y una identidad asignada por el sistema. La CLI de Azure concederá el rol Colaborador de red a la identidad asignada por el sistema después de crear el clúster.

Si quiere usar Azure CNI, consulte Configuración de redes de Azure CNI en AKS para crear un clúster de AKS habilitado para Azure CNI.

Si desea usar una identidad administrada asignada por el usuario, consulte Creación de un clúster de AKS con identidades administradas asignadas por el sistema.

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

Almacenamiento de aplicaciones java EE en una cuenta de almacenamiento

Puede implementar una aplicación java EE junto con la implementación de la oferta de WLS en AKS. Debe cargar el archivo de aplicación (.war, .ear o .jar) en una cuenta de Azure Storage y un contenedor de almacenamiento preexistente dentro de esa cuenta.

Cree una cuenta de Azure Storage con el comando az storage account create , como se muestra en el ejemplo siguiente:

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

Cree un contenedor para almacenar blobs con el comando az storage container create. En el ejemplo siguiente se usa la clave de cuenta de almacenamiento para autorizar la operación para crear el contenedor. También puede usar su cuenta de Microsoft Entra para autorizar la operación para crear el contenedor. Para más información, consulte el artículo en el que se explica cómo autorizar el acceso a los datos de blobs o colas con la CLI de Azure.

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

A continuación, cargue la aplicación Java EE en un blob mediante el comando az storage blob upload . En el ejemplo siguiente se carga la aplicación 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

Para cargar varios archivos al mismo tiempo, consulte Creación, descarga y enumeración de blobs con la CLI de Azure.

Implementación de WLS en la oferta de AKS

En esta sección se muestra cómo aprovisionar un clúster de WLS con la instancia de AKS que creó anteriormente. Aprovisionará el clúster dentro de la red virtual personalizada y exportará nodos de clúster mediante App de Azure lication Gateway como equilibrador de carga. La oferta generará automáticamente un certificado autofirmado para la terminación TLS/SSL de Application Gateway. Para ver el uso avanzado de la terminación TLS/SSL con Application Gateway, consulte Controlador de entrada de Application Gateway.

En primer lugar, comience el proceso de implementación de un servidor WebLogic Como se describe en la guía de usuario de Oracle WebLogic Server en AKS, pero vuelva a esta página cuando llegue a Configurar clúster de AKS, como se muestra en la captura de pantalla siguiente.

Screenshot of Azure portal showing the Configure AKS cluster pane of the Create Oracle WebLogic Server on Azure Kubernetes Service page.

Configuración del clúster de AKS

Ahora que tiene un clúster de AKS dentro de la red virtual, seleccione el clúster de AKS para la implementación.

  1. En Crear un nuevo clúster de AKS, seleccione No.
  2. En Seleccionar clúster de AKS, abra el menú desplegable y, a continuación, seleccione el clúster de AKS que creó, denominado myAKSCluster en este ejemplo.
  3. En Use a pre-existing, WebLogic Server Docker image from Oracle Container Registry?, seleccione .
  4. Para Crear una nueva instancia de Azure Container Registry para almacenar imágenes de aplicación, seleccione .
  5. En Nombre de usuario para la autenticación de inicio de sesión único de Oracle, escriba el nombre de usuario de la cuenta de inicio de sesión único de Oracle.
  6. En Contraseña para la autenticación de inicio de sesión único de Oracle, escriba la contraseña de esa cuenta.
  7. En Confirmar contraseña, vuelva a escribir el valor del campo anterior.
  8. Para Seleccionar combinación deseada de WebLogic Server, JDK y Operator System o etiqueta de Docker completa, mantenga el valor predeterminado.
  9. En Implementar el paquete de aplicación, seleccione .
  10. En Paquete de aplicación (.war,.ear,.jar), seleccione Examinar.
    • Seleccione la cuenta de almacenamiento que ha creado. El nombre comienza por stgwlsaks en este ejemplo.
    • Seleccione el contenedor en la página Contenedores . En este ejemplo se usa mycontainer.
    • Compruebe la aplicación que aparece en el contenedor. En este ejemplo se usa testwebapp.war.
    • Elija Seleccionar.
  11. Para otros campos, mantenga los valores predeterminados.

Ya ha terminado de configurar el clúster de AKS, la imagen base de WebLogic y la aplicación Java EE.

A continuación, configurará TLS/SSL de un extremo a otro en WebLogic Server Administración istration Console and cluster on HTTPS (Secure) port ,con su propio certificado en el panel Configuración de TLS/SSL. Para esta tarea, siga los pasos descritos en la guía de usuario de Oracle WebLogic Server en AKS, pero vuelva a esta página cuando llegue a Redes, como se muestra en la captura de pantalla siguiente. Usará la siguiente sección para configurar las redes y volver a la guía de usuario de WLS en AKS para completar la implementación.

Screenshot of Azure portal showing the Networking pane of the Create Oracle WebLogic Server on Azure Kubernetes Service page.

Configuración del controlador de entrada de Application Gateway

Siga estos pasos para configurar el controlador de entrada de Application Gateway dentro de la red virtual.

  1. Para Conectar a App de Azure lication Gateway?, seleccione .
  2. En Configurar redes virtuales, en Red virtual, seleccione la red virtual que creó. En este ejemplo se usa myVNet en myResourceGroup. En Subred, seleccione la subred de Application Gateway. En este ejemplo se usa myAppGatewaySubnet.
  3. En Select desired TLS/SSL certificate option (Seleccionar certificado TLS/SSL deseado), seleccione Generate a self-signed front-end certificate (Generar un certificado front-end autofirmado).
  4. En Create ingress for Administración istration Console (Crear entrada para la consola de Administración istration), seleccione para exponer la consola de webLogic Administración istration.
  5. Para los demás campos, mantenga los valores predeterminados.

Ahora puede continuar con los otros aspectos de la implementación de WLS, tal como se describe en la guía de usuario de Oracle WebLogic Server en AKS.

Validación correcta de la implementación de WLS

En esta sección se muestra cómo validar rápidamente la implementación correcta del clúster de WLS y del controlador de entrada de Application Gateway.

Una vez completada la implementación, seleccione Salidas. Encontrará la dirección URL externa de webLogic Administración istration Console y el clúster. Siga estas instrucciones para acceder a estos recursos:

  • Para ver webLogic Administración istration Console, copie primero el valor de la variable adminConsoleExternalUrlde salida . A continuación, pegue el valor en la barra de direcciones del explorador y presione Entrar para abrir la página de inicio de sesión de webLogic Administración istration Console.
  • Para ver el clúster de WebLogic, copie primero el valor de la variable clusterExternalUrlde salida . A continuación, use este valor para construir la dirección URL de la aplicación de ejemplo aplicándola a la plantilla siguiente: ${clusterExternalUrl}testwebapp/. Ahora pegue la dirección URL de la aplicación en la barra de direcciones del explorador y presione Entrar. Verá que la aplicación de ejemplo muestra la dirección privada y el nombre de host del pod al que se enruta el controlador de entrada de Application Gateway.

Limpieza de recursos

Si no va a seguir usando el clúster de WLS, elimine la red virtual y el clúster de WLS con los siguientes pasos de Azure Portal:

  1. Visite la página de información general del grupo myResourceGroupde recursos y seleccione Eliminar grupo de recursos.
  2. Visite la página de información general del grupo de recursos que implementó la oferta de WLS en AKS y, a continuación, seleccione Eliminar grupo de recursos.

Pasos siguientes

Siga explorando las opciones para ejecutar WLS en Azure.