Inicio rápido: Aprovisionamiento de Azure Spring Apps con la CLI de Azure

Nota:

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

La información de este artículo puede ponerse en práctica en:❌ Básico ✔️ Estándar ✔️ Enterprise

En este inicio rápido se describe cómo usar la CLI de Azure para implementar un clúster de Azure Spring Apps en una red virtual existente.

Azure Spring Apps facilita la implementación de aplicaciones de Spring en Azure sin necesidad de realizar cambios en el código. El servicio administra la infraestructura de las aplicaciones de Spring, con el fin de que los desarrolladores puedan centrarse en el código. Azure Spring Apps proporciona administración del ciclo de vida mediante el uso de una supervisión y un diagnóstico completos, administración de la configuración, detección de servicios, integración de CI/CD e implementaciones azul-verde, entre otros.

El plan de implementación Enterprise incluye los siguientes componentes de Tanzu:

  • Servicio de compilación
  • Servicio de configuración de aplicaciones
  • Registro del servicio
  • Spring Cloud Gateway
  • Portal de API

Requisitos previos

Revisión del script de implementación de la CLI de Azure

El script de implementación que se usa en este inicio rápido proviene de la arquitectura de referencia de Azure Spring Apps.

#!/bin/bash

echo "Enter Azure Subscription ID: "
read subscription
subscription=$subscription

echo "Enter Azure region for resource deployment: "
read region
location=$region

echo "Enter Azure Spring  Resource Group Name: "
read azurespringrg
azurespring_resource_group_name=$azurespringrg

echo "Enter Azure Spring VNet Resource Group Name: "
read azurespringvnetrg
azurespring_vnet_resource_group_name=$azurespringvnetrg

echo "Enter Azure Spring Spoke VNet : "
read azurespringappspokevnet
azurespringappspokevnet=$azurespringappspokevnet

echo "Enter Azure Spring App SubNet : "
read azurespringappsubnet
azurespring_app_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringappsubnet

echo "Enter Azure Spring Service SubNet : "
read azurespringservicesubnet
azurespring_service_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringservicesubnet

echo "Enter Azure Log Analytics Workspace Resource Group Name: "
read loganalyticsrg
loganalyticsrg=$loganalyticsrg

echo "Enter Log Analytics Workspace Resource ID: "
read workspace
workspaceID='/subscriptions/'$subscription'/resourcegroups/'$loganalyticsrg'/providers/microsoft.operationalinsights/workspaces/'$workspace

echo "Enter Reserved CIDR Ranges for Azure Spring: "
read reservedcidrrange
reservedcidrrange=$reservedcidrrange

echo "Enter key=value pair used for tagging Azure Resources (space separated for multiple tags): "
read tag
tags=$tag

randomstring=$(LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | fold -w 13 | head -n 1)
azurespring_service='spring-'$randomstring #Name of unique Spring resource
azurespring_appinsights=$azurespring_service
azurespring_resourceid='/subscriptions/'$subscription'/resourceGroups/'$azurespring_resource_group_name'/providers/Microsoft.AppPlatform/Spring/'$azurespring_service

# Create Application Insights
az monitor app-insights component create \
    --app ${azurespring_service} \
    --location ${location} \
    --kind web \
    -g ${azurespringrg} \
    --application-type web \
    --workspace ${workspaceID}

az spring create \
    -n ${azurespring_service} \
    -g ${azurespringrg} \
    -l ${location} \
    --sku Enterprise \
    --build-pool-size S1 \
    --enable-application-configuration-service \
    --enable-service-registry \
    --enable-gateway \
    --enable-api-portal \
    --api-portal-instance-count 2 \
    --enable-java-agent true \
    --app-insights ${azurespring_service} \
    --app-subnet ${azurespring_app_subnet_name} \
    --service-runtime-subnet ${azurespring_service_subnet_name} \
    --reserved-cidr-range ${reservedcidrrange} \
    --tags ${tags}

# Update diagnostic setting for Azure Spring instance
az monitor diagnostic-settings create  \
   --name monitoring \
   --resource ${azurespring_resourceid} \
   --logs    '[{"category": "ApplicationConsole","enabled": true}]' \
   --workspace  ${workspaceID}

Implementación del clúster

Para implementar el clúster de Azure Spring Apps mediante el script de la CLI de Azure, siga estos pasos:

  1. Inicie sesión en Azure con el siguiente comando:

    az login
    

    Después de iniciar sesión, este comando mostrará información sobre todas las suscripciones a las que tiene acceso. Anote el nombre y el id. de la suscripción que quiera utilizar.

  2. Establezca la suscripción de destino.

    az account set --subscription "<your subscription name>"
    
  3. Registre el proveedor de recursos de Azure Spring Apps.

    az provider register --namespace 'Microsoft.AppPlatform'
    
  4. Agregue las extensiones necesarias a la CLI de Azure.

    az extension add --name spring
    
  5. Elija una ubicación de implementación entre las regiones en las que Azure Spring Apps está disponible, como se muestra en Productos disponibles por región.

  6. Use el siguiente comando para generar una lista de ubicaciones de Azure. Anote el valor del nombre corto de la región que seleccionó en el paso anterior.

    az account list-locations --output table
    
  7. Cree un grupo de recursos en el que implementar el recurso.

    az group create --name <your-resource-group-name> --location <location-name>
    
  8. Guarde el script para el plan Estándar o el plan Enterprise de Azure Spring Apps en el entorno local y ejecútelo desde el símbolo del sistema de Bash.

    Plan Estándar:

    ./azuredeploySpringStandard.sh
    

    Plan Enterprise:

    ./azuredeploySpringEnterprise.sh
    
  9. Escriba los siguientes valores cuando el script se lo solicite:

    • El id. de suscripción de Azure que guardó anteriormente.
    • El nombre de la ubicación de Azure que guardó anteriormente.
    • El nombre del grupo de recursos que creó anteriormente.
    • El nombre del grupo de recursos de red virtual donde se implementarán los recursos.
    • El nombre de la red virtual de radio (por ejemplo, vnet-spoke).
    • El nombre de la subred que va a usar el servicio de aplicación de Azure Spring Apps (por ejemplo, snet-app).
    • El nombre de la subred que va a usar el servicio de entorno en tiempo de ejecución de Azure Spring Apps (por ejemplo, snet-runtime).
    • El nombre del grupo de recursos del área de trabajo de Azure Log Analytics que se usará para almacenar los registros de diagnóstico.
    • El nombre del área de trabajo de Azure Log Analytics (por ejemplo, la-cb5sqq6574o2a).
    • Los rangos CIDR de la red virtual que va a usar Azure Spring Apps (por ejemplo, XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16).
    • Los pares clave-valor que se aplicarán como etiquetas en todos los recursos que admiten etiquetas. Para obtener más información, consulte Uso de etiquetas para organizar los recursos de Azure y la jerarquía de administración. Use una lista separada por espacios para aplicar varias etiquetas (por ejemplo, environment=Dev BusinessUnit=finance).

Después de proporcionar esta información, el script creará e implementará los recursos de Azure.

Revisión de los recursos implementados

Puede usar Azure Portal para comprobar los recursos implementados, o bien usar la CLI de Azure para enumerar los recursos implementados.

Limpieza de recursos

Si planea seguir trabajando en otros inicios rápidos y tutoriales, considere la posibilidad de dejar estos recursos activos. Cuando ya no lo necesite, elimine el grupo de recursos, que elimina los recursos que contiene. Para eliminar el grupo de recursos mediante la CLI de Azure, use estos comandos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Pasos siguientes

En este inicio rápido, ha implementado una instancia de Azure Spring Apps en una red virtual existente con la CLI de Azure y, luego, ha validado la implementación. Para obtener más información sobre Azure Spring Apps, continúe con los artículos siguientes.