Implementación de una aplicación Java con Open Liberty o WebSphere Liberty en un clúster de Azure Kubernetes Service (AKS)
En este artículo se explica cómo:
- Ejecutar una aplicación Java, Java EE, Yakarta EE o MicroProfile en el runtime de Open Liberty o IBM WebSphere Liberty.
- Compile la imagen de Docker de la aplicación con
az acr build
mediante imágenes de contenedor de Open Liberty o WebSphere Liberty. - Implemente la aplicación contenedorizada en un clúster de Azure Kubernetes Service (AKS) mediante el operador de Open Liberty o el operador de WebSphere Liberty.
El operador de Open Liberty simplifica la implementación y administración de las aplicaciones que se ejecutan en clústeres de Kubernetes. Con el operador de Open Liberty o WebSphere Liberty, también puede realizar operaciones más avanzadas, como recopilar seguimientos y volcados.
En este artículo se usa la oferta de Azure Marketplace para Open Liberty o WebSphere Liberty para acelerar su transición a AKS. La oferta aprovisiona automáticamente algunos recursos de Azure, entre los que se incluyen:
- Una instancia de Azure Container Registry.
- Un clúster de AKS.
- Una instancia del controlador de entrada de Application Gateway (AGIC).
- El operador de Open Liberty y el operador de WebSphere Liberty.
- Opcionalmente, una imagen de contenedor que incluye Liberty y la aplicación.
Si prefiere una guía manual paso a paso para ejecutar Liberty en AKS, consulte Implementación manual de una aplicación Java con Open Liberty o WebSphere Liberty en un clúster de Azure Kubernetes Service (AKS).
Este artículo está diseñado para ayudarle a llegar rápidamente a la implementación. Antes de ir a producción, debe explorar la documentación de IBM sobre el ajuste de Liberty.
Si está interesado en proporcionar comentarios o trabajar estrechamente en sus escenarios de migración con el equipo de ingeniería que desarrolla WebSphere en soluciones de Azure, rellene esta breve encuesta sobre la migración de WebSphere e incluya la información de contacto. El equipo de administradores de programas, arquitectos e ingenieros se pondrá en contacto rápidamente con usted para iniciar una estrecha colaboración.
Requisitos previos
- Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
- Prepare un equipo local con un sistema operativo similar a Unix instalado: por ejemplo, Ubuntu, Azure Linux, macOS o Subsistema de Windows para Linux.
- Para ejecutar comandos de la CLI de Azure, instale la CLI de Azure.
- Inicie sesión en la CLI de Azure con el comando
az login
. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión en Azure con la CLI de Azure. - En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para obtener más información sobre las extensiones, consulte Uso y administración 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, ejecuteaz upgrade
. Este artículo requiere al menos la versión 2.61.0 de la CLI de Azure.
- Inicie sesión en la CLI de Azure con el comando
- Instale una implementación de Java Standard Edition (SE), versión 17 o posterior (por ejemplo, Eclipse Open J9).
- Instale Maven 3.9.8 o una versión superior.
- Asegúrese de que Git está instalado.
- Asegúrese de que se le haya asignado el rol
Owner
o los rolesContributor
yUser Access Administrator
en la suscripción. Puede comprobarlo siguiendo los pasos descritos en Lista de las asignaciones de rol de un usuario o grupo.
Creación de una implementación de Liberty en AKS mediante el portal
Los siguientes pasos le guiarán para crear un tiempo de ejecución de Liberty en AKS. Después de completar estos pasos, tendrá una instancia de Container Registry y un clúster de AKS para implementar la aplicación contenedorizada.
Vaya a Azure Portal. En el cuadro de búsqueda de la parte superior de la página, escriba WebSphere Liberty/Open Liberty en Kubernetes. Cuando aparezcan las sugerencias, seleccione la única coincidencia en la sección Marketplace.
Si lo prefiere, puede ir directamente a la oferta.
Seleccione Crear.
En el panel Aspectos básicos:
- Crear un nuevo grupo de recursos. Dado que los grupos de recursos deben ser únicos dentro de una suscripción, elija un nombre único. Una forma fácil de tener nombres únicos es usar una combinación de sus iniciales, la fecha de hoy y algún identificador (por ejemplo,
ejb0913-java-liberty-project-rg
). Guarde el nombre del grupo de recursos para utilizarlo más adelante en este artículo. - En Región, seleccione una región cercana. Por ejemplo, seleccione Este de EE. UU. 2.
- Crear un nuevo grupo de recursos. Dado que los grupos de recursos deben ser únicos dentro de una suscripción, elija un nombre único. Una forma fácil de tener nombres únicos es usar una combinación de sus iniciales, la fecha de hoy y algún identificador (por ejemplo,
Seleccione Siguiente. En el panel AKS, puede seleccionar opcionalmente un clúster de AKS existente y una instancia de Container Registry, en lugar de hacer que la implementación cree unos nuevos. Esta opción le permite usar el patrón sidecar, como se muestra en el Centro de arquitectura de Azure. También puede ajustar la configuración del tamaño y el número de máquinas virtuales del grupo de nodos de AKS.
Para los fines de este artículo, mantenga todos los valores predeterminados en este panel.
Seleccione Siguiente. En el panel Equilibrio de carga, junto a ¿Quiere conectarse a Azure Application Gateway?, seleccione Sí. En esta sección, puede personalizar las siguientes opciones de implementación:
Opcionalmente, puede personalizar la red virtual y la subred en las que la implementación colocará los recursos. No es necesario cambiar los valores restantes de sus valores predeterminados.
En Certificado TLS/SSL, puede proporcionar el certificado TLS/SSL de Azure Application Gateway. Deje los valores predeterminados para que la oferta genere un certificado autofirmado.
No pase a producción con un certificado autofirmado. Para obtener más información sobre los certificados autofirmados, consulte Creación de un certificado público autofirmado para autenticar la aplicación.
Puede seleccionar Habilitar afinidad basada en cookies, también conocida como "sesiones permanentes". En este artículo se usan sesiones permanentes, así que asegúrese de seleccionar esta opción.
Seleccione Siguiente. En el panel Operador y aplicación, en este artículo se usan todos los valores predeterminados. Sin embargo, puede personalizar las siguientes opciones de implementación:
- Puede implementar el operador de WebSphere Liberty seleccionando Sí en la opción ¿Es compatible con IBM?. Al dejar el valor predeterminado No, se implementará Open Liberty Operator.
- Puede implementar una aplicación para el operador seleccionado eligiendo Sí en la opción ¿Quiere implementar una aplicación?. Si se deja el valor predeterminado No, no se implementará ninguna aplicación.
Seleccione Revisar y crear para validar las opciones seleccionadas. En el panel Revisar y crear, cuando vea la opción Crear activada después de superar la validación, selecciónela.
La implementación puede tardar hasta 20 minutos. Mientras espera a que finalice la implementación, puede seguir los pasos descritos en la sección Creación de una instancia de Azure SQL Database. Después de completar esa sección, vuelva aquí y continúe.
Captura de la información seleccionada de la implementación
Si ha salido del panel La implementación está en curso, los pasos siguientes le muestran cómo volver a ese panel. Si todavía está en el panel que indica Se completó la implementación, vaya al grupo de recursos recién creado y continúe con el tercer paso.
En la esquina de cualquier página del portal, seleccione el botón de menú y, después. seleccione Grupos de recursos.
En el cuadro con el texto Filtrar para cualquier campo, escriba los primeros caracteres del grupo de recursos que creó anteriormente. Si ha seguido la convención recomendada, escriba sus iniciales y, después, seleccione el grupo de recursos adecuado.
En la lista de recursos del grupo de recursos, seleccione el recurso con el valor de Tipo establecido en Registro de contenedor.
En el panel de navegación, en Configuración, seleccione Claves de acceso.
Guarde en otro lugar los valores de Nombre de registro y Servidor de inicio de sesión. Puede usar el icono de copia situado junto a cada campo para copiar el valor en el Portapapeles del sistema.
Nota:
En este artículo se usa el comando
az acr build
para compilar e insertar la imagen de Docker en Container Registry, sin usarusername
ypassword
de Container Registry. Todavía es posible usar el nombre de usuario y la contraseña condocker login
ydocker push
. El uso del nombre de usuario y la contraseña es menos seguro que la autenticación sin contraseña.Vuelva al grupo de recursos en el que implementó los recursos.
En la sección Configuración, seleccione Implementaciones.
Seleccione la implementacióne inferior de la lista. El valor de Nombre de implementación coincidirá con el identificador del publicador de la oferta. Contiene la cadena
ibm
.En el panel de navegación, seleccione Salidas.
Mediante la misma técnica de copia que usó con los valores anteriores, guarde en otro lugar los valores de las salidas siguientes:
cmdToConnectToCluster
appDeploymentTemplateYaml
si la implementación no incluye una aplicación. Es decir, ha seleccionado No en ¿Quiere implementar una aplicación? al implementar la oferta de Marketplace. En este artículo se ha seleccionado No. Pero si ha seleccionado Sí, guarde el valor deappDeploymentYaml
, que incluye la implementación de la aplicación.Pegue el valor de
appDeploymentTemplateYaml
oappDeploymentYaml
en un shell de Bash y ejecute el comando.La salida de este comando es el código YAML de implementación de la aplicación. Busque el secreto TLS de entrada con la palabra clave
secretName
, como- secretName: secret785e2c
. Guarde el valor desecretName
.
Ejecute los siguientes comandos para establecer las variables de entorno que ha capturado en los pasos anteriores. Estas variables de entorno se usan más adelante en este artículo.
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>
Creación de una instancia de Azure SQL Database
En esta sección, creará una base de datos única de Azure SQL Database para usarla con la aplicación.
En primer lugar, establezca variables de entorno relacionadas con la base de datos. Reemplace <your-unique-sql-server-name>
por un nombre único para el servidor de Azure SQL Database.
export SQL_SERVER_NAME=<your-unique-sql-server-name>
export DB_NAME=demodb
Ejecute el siguiente comando en el terminal para crear una base de datos única en Azure SQL Database y establecer el usuario que ha iniciado sesión actualmente como administrador de Microsoft Entra. Para más información, vea Inicio rápido: Creación de una base de datos única: 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
Después, agregue la dirección IP local a las reglas de firewall del servidor de Azure SQL Database para permitir que la máquina local se conecte a la base de datos para realizar pruebas locales más adelante.
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
Nota:
En este artículo se deshabilita la autenticación de SQL para ilustrar los procedimientos recomendados de seguridad. Se usa Microsoft Entra ID para autenticar la conexión con el servidor. Si necesita habilitar la autenticación de SQL, vea az sql server create
.
Creación de una conexión de servicio en AKS con Service Connector
En esta sección, creará una conexión de servicio entre el clúster de AKS y Azure SQL Database mediante Id. de carga de trabajo de Microsoft Entra con Service Connector. Esta conexión permite que el clúster de AKS acceda a Azure SQL Database sin usar la autenticación de SQL.
En primer lugar, conceda a la aplicación permisos de proveedor de recursos de Azure Service Connector para la instancia de Application Gateway implementada antes. Este paso es necesario para crear correctamente una conexión de servicio entre el clúster de AKS y Azure SQL Database.
- Vaya a Azure Portal y vaya al grupo de recursos que ha creado antes.
- En la lista de recursos del grupo de recursos, seleccione el recurso con el valor Tipo establecido en Puerta de enlace de aplicación.
- Seleccione Control de acceso (IAM). Después, expanda Agregar y seleccione Agregar asignación de roles.
- En la pestaña Rol, seleccione Roles de administrador con privilegios. Después, seleccione Colaborador. Seleccione Siguiente.
- En la pestaña Miembros, seleccione Seleccionar miembros. Después, busque la aplicación Proveedor de recursos de Azure Service Connector. Elija la aplicación y seleccione Seleccionar. Seleccione Siguiente.
- Seleccione Revisar + asignar. Espere unos segundos a que se complete la asignación de roles.
Después, ejecute los comandos siguientes para crear una conexión entre el clúster de AKS y la base de datos SQL mediante Id. de carga de trabajo de Microsoft Entra con Service Connector. Para más información, vea Creación de una conexión de servicio en AKS con Service Connector (versión preliminar).
# 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
Nota:
Se recomienda usar Id. de carga de trabajo de Microsoft Entra para el acceso seguro a la instancia de Azure SQL Database sin usar la autenticación de SQL. Si necesita usar la autenticación de SQL, omita los pasos anteriores de esta sección y use el nombre de usuario y la contraseña para conectarse a Azure SQL Database.
Obtención de la cuenta de servicio y el secreto creado por el conector de servicio
Para autenticarse en Azure SQL Database, debe obtener la cuenta de servicio y el secreto creados por Service Connector. Siga las instrucciones de la sección Actualización del contenedor de Tutorial: Conexión de una aplicación de AKS a Azure SQL Database. Elija la opción Crear directamente una implementación mediante el fragmento de código de ejemplo de YAML proporcionado y siga estos pasos:
En las secciones resaltadas del ejemplo de código YAML de implementación de Kubernetes, copie los valores
serviceAccountName
ysecretRef.name
, como se muestra en el ejemplo siguiente:serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>
Use los siguientes comandos para definir variables de entorno. Reemplace
<service-account-name>
y<secret-name>
por los valores que copió en el paso anterior.export SERVICE_ACCOUNT_NAME=<service-account-name> export SECRET_NAME=<secret-name>
Estos valores se usan en la sección siguiente para implementar la aplicación Liberty en el clúster de AKS.
Nota:
El secreto creado por Service Connector contiene AZURE_SQL_CONNECTIONSTRING
, que es una cadena de conexión sin contraseña a la instancia de Azure SQL Database. Para más información, vea el valor de ejemplo en la sección Autenticación de identidad administrada asignada por el usuario de Integración de Azure SQL Database con Service Connector.
Ahora que ha configurado la base de datos y el clúster de AKS, puede continuar con la preparación de AKS para hospedar la aplicación Open Liberty.
Configuración e implementación de la aplicación de ejemplo
Siga los pasos que aparecen en esta sección para implementar la aplicación de ejemplo en el entorno de ejecución de Liberty. Esos pasos usan Maven.
Extracción de la aplicación
Clone el código de ejemplo de este artículo. El ejemplo se encuentra en GitHub.
Hay algunos ejemplos en el repositorio. En este artículo se usa java-app. Ejecute los siguientes comandos para obtener el ejemplo:
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 ve un mensaje sobre estar en estado "HEAD desasociado", es seguro omitir este mensaje. El mensaje simplemente significa que ha extraído una etiqueta del repositorio.
Esta es la estructura de archivos de la aplicación, con los archivos y directorios importantes:
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
Los directorios java, resources y webapp contienen el código fuente de la aplicación de ejemplo. El código declara y usa un origen de datos denominado jdbc/JavaEECafeDB
.
En el directorio aks, el archivo openlibertyapplication-agic-passwordless-db.yaml se usa para implementar la imagen de la aplicación con AGIC y conexión sin contraseña a Azure SQL Database. En este artículo se da por supuesto que usa este archivo.
En el directorio docker, hay dos archivos para crear la imagen de aplicación con Open Liberty o WebSphere Liberty.
En el directorio liberty/config, el archivo server.xml se usa para configurar la conexión de base de datos para el clúster de Open Liberty y WebSphere Liberty. Define una variable azure.sql.connectionstring
que se usa para conectarse a la instancia de Azure SQL Database.
El archivo pom.xml es el archivo del modelo de objetos de proyecto (POM) de Maven que contiene la información de configuración del proyecto. El archivo pom-azure-identity.xml declara una dependencia de azure-identity
. Este archivo se usa para autenticarse en los servicios de Azure mediante Microsoft Entra ID.
Nota:
En este ejemplo se usa la biblioteca azure-identity
para autenticarse en Azure SQL Database mediante la autenticación de Microsoft Entra. Si necesita usar la autenticación de SQL en la aplicación Liberty, vea Conexiones de base de datos relacionales con JDBC.
Compilación del proyecto
Ahora que ha recopilado las propiedades necesarias, compile la aplicación. El archivo POM del proyecto lee muchas variables del entorno. Como parte de la compilación de Maven, estas variables se usan para rellenar los valores de los archivos YAML ubicados en src/main/aks. Si lo prefiere, puede hacer algo similar para la aplicación fuera de Maven.
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
Prueba local del proyecto
Ejecute y pruebe el proyecto localmente antes de implementarlo en Azure. Para mayor comodidad, en este artículo se usa liberty-maven-plugin
. Para obtener más información sobre liberty-maven-plugin
, consulte el artículo Creación de una aplicación web con Maven de Open Liberty.
Nota:
Si seleccionó una implementación de base de datos "sin servidor", compruebe que la base de datos SQL no ha entrado en modo de pausa. Una manera de hacerlo es iniciar sesión en el editor de consultas de la base de datos como se describe en Inicio rápido: Uso del editor de consultas de Azure Portal (versión preliminar) para consultar Azure SQL Database.
Inicie la aplicación mediante
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
Compruebe que la aplicación funciona según lo previsto. Debería ver un mensaje similar a
[INFO] [AUDIT ] CWWKZ0001I: Application javaee-cafe started in 18.235 seconds.
en la salida del comando. Vaya ahttp://localhost:9080/
en el explorador y compruebe que la aplicación es accesible y que todas las funciones hacen su trabajo.Presione Ctrl+C para detener. Presione Y si se le pide que finalice el trabajo por lotes.
Cuando haya terminado, elimine la regla de firewall que permite que la dirección IP local acceda a la instancia de Azure SQL Database mediante el comando siguiente:
az sql server firewall-rule delete \
--resource-group $RESOURCE_GROUP_NAME \
--server $SQL_SERVER_NAME \
--name AllowLocalIP
Compilación de la imagen para la implementación de AKS
Ahora puede ejecutar el comando az acr build
para compilar la imagen, como se muestra en el ejemplo siguiente:
cd $BASE_DIR/java-app/target
az acr build \
--registry ${REGISTRY_NAME} \
--image javaee-cafe:v1 \
.
El comando az acr build
carga los artefactos especificados en el Dockerfile en la instancia de Container Registry, compila la imagen y la almacena en la instancia de Container Registry.
Implemente la aplicación en el clúster de AKS.
Siga estos pasos para implementar la aplicación de Liberty en el clúster de AKS.
Conéctese al clúster de AKS.
Pegue el valor de
cmdToConnectToCluster
en un shell y ejecute el comando.Ejecute los comandos siguientes para aplicar el archivo de implementación:
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-agic-passwordless-db.yaml
Espere hasta que todos los pods se reinicien correctamente con el comando siguiente:
kubectl get pods --watch
Un resultado similar al siguiente ejemplo indica que todos los pods se están ejecutando:
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
Prueba de la aplicación
Cuando se ejecutan los pods, puede probar la aplicación mediante la dirección IP pública de la instancia de Application Gateway.
Ejecute el siguiente comando para obtener y mostrar la dirección IP pública de la instancia de Application Gateway, expuesta por el recurso de entrada creado por AGIC:
export APP_URL=https://$(kubectl get ingress | grep javaee-cafe-cluster-agic-ingress | cut -d " " -f14)/
echo $APP_URL
Copie la dirección URL y ábrala en el explorador para ver la página principal de la aplicación. Si la página web no se representa correctamente o devuelve un error 502 Bad Gateway
, la aplicación sigue empezando en segundo plano. Espere unos minutos y vuelva a intentarlo.
Limpieza de recursos
Para evitar los cargos de Azure, se recomienda limpiar los recursos que no sean necesarios. Cuando ya no necesite el clúster, use el comando az group delete
para quitar el grupo de recursos, el servicio de contenedor, el registro de contenedor, la base de datos y todos los recursos relacionados:
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
Pasos siguientes
Puede obtener más información en estas referencias:
- Azure Kubernetes Service
- Tutorial: Conexión de una aplicación de AKS a Azure SQL Database (versión preliminar)
- Integración de Azure SQL Database con un conector de servicio
- Conexión mediante la autenticación de Microsoft Entra
- Open Liberty
- Operador de Open Liberty
- Configuración del servidor Open Liberty
- Complemento de Maven para Liberty
- Imágenes de contenedor de Open Liberty
- Imágenes de contenedor de WebSphere Liberty
Para más información sobre la implementación de la familia IBM WebSphere en Azure, vea ¿Cuáles son las soluciones para ejecutar la familia de productos WebSphere en Azure?.
Azure Kubernetes Service