Share via


Avvio rapido: Effettuare il provisioning di App Spring di Azure con l'interfaccia della riga di comando di Azure

Nota

Azure Spring Apps è il nuovo nome del servizio Azure Spring Cloud. Anche se il servizio ha un nuovo nome, il nome precedente verrà visualizzato in alcune posizioni per un po' mentre si lavora per aggiornare gli asset, ad esempio screenshot, video e diagrammi.

Questo articolo si applica a:❌ Basic ✔️ Standard ✔️ Enterprise

Questa guida introduttiva descrive come usare l'interfaccia della riga di comando di Azure per distribuire un cluster di Azure Spring Apps in una rete virtuale esistente.

Azure Spring Apps semplifica la distribuzione di applicazioni Spring in Azure senza modifiche al codice. Il servizio gestisce l'infrastruttura delle applicazioni Spring per consentire agli sviluppatori di concentrarsi sul codice. Azure Spring Apps offre la gestione del ciclo di vita usando monitoraggio e diagnostica completi, gestione della configurazione, individuazione dei servizi, integrazione CI/CD, distribuzioni blu-verde e altro ancora.

Il piano di distribuzione Enterprise include i componenti Tanzu seguenti:

  • Servizio di compilazione
  • Servizio di configurazione dell'applicazione
  • Service Registry
  • Spring Cloud Gateway
  • Portale API

Prerequisiti

  • Una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
  • Due subnet dedicate per il cluster Azure Spring Apps, una per il runtime del servizio e un'altra per le applicazioni Spring. Per i requisiti di subnet e rete virtuale, vedere la sezione Requisiti della rete virtuale di Distribuire App Azure Spring in una rete virtuale.
  • Un'area di lavoro Log Analytics esistente per le impostazioni di diagnostica di Azure Spring Apps e una risorsa di Application Insights basata sull'area di lavoro. Per altre informazioni, vedere Analizzare log e metriche con le impostazioni di diagnostica e l'agente in-process Java di Application Insights in Azure Spring Apps.
  • Tre intervalli CIDR (Classless Inter-Domain Routing) interni (almeno /16 ciascuno) identificati per l'uso dal cluster di Azure Spring Apps. Questi intervalli CIDR non saranno direttamente instradabili e verranno usati solo internamente dal cluster di Azure Spring Apps. I cluster non possono usare 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 o 192.0.2.0/24 per gli intervalli CIDR dell'app Spring interna o qualsiasi intervallo IP incluso nell'intervallo di indirizzi della rete virtuale del cluster.
  • Autorizzazione del servizio concessa alla rete virtuale. Il provider di risorse di Azure Spring Apps richiede l'autorizzazione Proprietario per la rete virtuale per concedere un'entità servizio dedicata e dinamica nella rete virtuale per un'ulteriore distribuzione e manutenzione. Per istruzioni e altre informazioni, vedere la sezione Concedere l'autorizzazione al servizio per la rete virtuale di Distribuire App Azure Spring in una rete virtuale.
  • Se si usa Firewall di Azure o un'appliance virtuale di rete, è necessario soddisfare i prerequisiti seguenti:
  • Interfaccia della riga di comando di Azure
  • Se si distribuisce un'istanza del piano Enterprise di Azure Spring Apps per la prima volta nella sottoscrizione di destinazione, vedere la sezione Requisiti del piano Enterprise in Azure Marketplace.

Esaminare lo script di distribuzione dell'interfaccia della riga di comando di Azure

Lo script di distribuzione usato in questa guida introduttiva è dall'architettura di riferimento di 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}

Distribuire il cluster

Per distribuire il cluster di Azure Spring Apps usando lo script dell'interfaccia della riga di comando di Azure, seguire questa procedura:

  1. Accedere ad Azure usando il comando seguente:

    az login
    

    Dopo l'accesso, questo comando restituirà informazioni su tutte le sottoscrizioni a cui si ha accesso. Prendere nota del nome e dell'ID della sottoscrizione da usare.

  2. Impostare la sottoscrizione di destinazione.

    az account set --subscription "<your subscription name>"
    
  3. Registrare il provider di risorse di Azure Spring Apps.

    az provider register --namespace 'Microsoft.AppPlatform'
    
  4. Aggiungere le estensioni necessarie all'interfaccia della riga di comando di Azure.

    az extension add --name spring
    
  5. Scegliere un percorso di distribuzione dalle aree in cui è disponibile Azure Spring Apps, come illustrato in Prodotti disponibili in base all'area.

  6. Usare il comando seguente per generare un elenco di località di Azure. Prendere nota del valore Name breve per l'area selezionata nel passaggio precedente.

    az account list-locations --output table
    
  7. Creare un gruppo di risorse in cui distribuire la risorsa.

    az group create --name <your-resource-group-name> --location <location-name>
    
  8. Salvare lo script per il piano Standard di Azure Spring Apps o il piano Enterprise in locale, quindi eseguirlo dal prompt di Bash.

    Piano standard:

    ./azuredeploySpringStandard.sh
    

    Piano aziendale:

    ./azuredeploySpringEnterprise.sh
    
  9. Immettere i valori seguenti quando richiesto dallo script:

    • ID sottoscrizione di Azure salvato in precedenza.
    • Nome della località di Azure salvato in precedenza.
    • Nome del gruppo di risorse creato in precedenza.
    • Nome del gruppo di risorse di rete virtuale in cui si distribuiranno le risorse.
    • Nome della rete virtuale spoke, ad esempio vnet-spoke.
    • Nome della subnet da usare dal servizio applicazione Azure Spring Apps (ad esempio, snet-app).
    • Nome della subnet da usare dal servizio runtime di Azure Spring Apps( ad esempio snet-runtime).
    • Nome del gruppo di risorse per l'area di lavoro Log Analytics di Azure da usare per l'archiviazione dei log di diagnostica.
    • Nome dell'area di lavoro Log Analytics di Azure, ad esempio la-cb5sq6574o2a.
    • Il CIDR varia dalla rete virtuale da usare da Azure Spring Apps( ad esempio XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16).
    • Coppie chiave/valore da applicare come tag in tutte le risorse che supportano i tag. Per altre informazioni, vedere Usare i tag per organizzare le risorse di Azure e la gerarchia di gestione. Usare un elenco delimitato da spazi per applicare più tag, ad esempio environment=Dev BusinessUnit=finance.

Dopo aver specificato queste informazioni, lo script creerà e distribuirà le risorse di Azure.

Esaminare le risorse distribuite

È possibile usare il portale di Azure per controllare le risorse distribuite oppure usare l'interfaccia della riga di comando di Azure per elencare le risorse distribuite.

Pulire le risorse

Se si prevede di usare le guide di avvio rapido e le esercitazioni successive, è consigliabile non cancellare le risorse create. Quando non è più necessario, eliminare il gruppo di risorse per eliminare tutte le risorse contenute al suo interno. Per eliminare il gruppo di risorse usando l'interfaccia della riga di comando di Azure, usare i comandi seguenti:

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

Passaggi successivi

In questa guida introduttiva è stata distribuita un'istanza di Azure Spring Apps in una rete virtuale esistente usando l'interfaccia della riga di comando di Azure e quindi è stata convalidata la distribuzione. Per altre informazioni su Azure Spring Apps, continuare con le risorse seguenti.