Share via


Snabbstart: Etablera Azure Spring Apps med Azure CLI

Kommentar

Azure Spring Apps är det nya namnet på Azure Spring Cloud-tjänsten. Även om tjänsten har ett nytt namn ser du det gamla namnet på vissa platser ett tag medan vi arbetar med att uppdatera tillgångar som skärmbilder, videor och diagram.

Den här artikeln gäller för:❌ Basic ✔️ Standard ✔️ Enterprise

Den här snabbstarten beskriver hur du använder Azure CLI för att distribuera ett Azure Spring Apps-kluster till ett befintligt virtuellt nätverk.

Azure Spring Apps gör det enkelt att distribuera Spring-program till Azure utan några kodändringar. Tjänsten hanterar infrastrukturen för Spring-program så att utvecklare kan fokusera på sin kod. Azure Spring Apps tillhandahåller livscykelhantering med omfattande övervakning och diagnostik, konfigurationshantering, tjänstidentifiering, CI/CD-integrering, blågröna distributioner med mera.

Enterprise-distributionsplanen innehåller följande Tanzu-komponenter:

  • Byggtjänst
  • Programkonfigurationstjänst
  • Tjänstregister
  • Spring Cloud Gateway
  • API-portalen

Förutsättningar

  • En Azure-prenumeration. Om du inte har någon prenumeration skapar du ett kostnadsfritt konto innan du börjar.
  • Två dedikerade undernät för Azure Spring Apps-klustret, ett för tjänstkörningen och ett annat för Spring-programmen. För krav för undernät och virtuella nätverk, se avsnittet Krav för virtuellt nätverk i Distribuera Azure Spring Apps i ett virtuellt nätverk.
  • En befintlig Log Analytics-arbetsyta för Diagnostikinställningar för Azure Spring Apps och en arbetsytebaserad Application Insights-resurs. Mer information finns i Analysera loggar och mått med diagnostikinställningar och Application Insights Java In-Process Agent i Azure Spring Apps.
  • Tre interna CIDR-intervall (Classless Inter-Domain Routing) (minst /16 vardera) som du har identifierat för användning av Azure Spring Apps-klustret. Dessa CIDR-intervall kan inte dirigeras direkt och används endast internt av Azure Spring Apps-klustret. Kluster får inte använda 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 eller 192.0.2.0/24 för de interna Spring App CIDR-intervallen eller ip-intervall som ingår i klustrets virtuella nätverksadressintervall.
  • Tjänstbehörighet som beviljats det virtuella nätverket. Azure Spring Apps-resursprovidern kräver ägarbehörighet till ditt virtuella nätverk för att bevilja ett dedikerat och dynamiskt huvudnamn för tjänsten i det virtuella nätverket för ytterligare distribution och underhåll. Anvisningar och mer information finns i avsnittet Bevilja tjänstbehörighet till det virtuella nätverket i Distribuera Azure Spring Apps i ett virtuellt nätverk.
  • Om du använder Azure Firewall eller en virtuell nätverksinstallation (NVA) måste du också uppfylla följande krav:
    • Regler för nätverk och fullständigt kvalificerade domännamn (FQDN). Mer information finns i Krav för virtuellt nätverk.
    • En unik användardefinierad väg (UDR) som tillämpas på vart och ett av tjänstkörnings- och Spring-programundernäten. Mer information om UDR finns i Trafikdirigering för virtuella nätverk. UDR ska konfigureras med en väg för 0.0.0.0/0 med ett mål för din NVA innan du distribuerar Azure Spring Apps-klustret. Mer information finns i avsnittet Bring your own route table (Ta med din egen routningstabell) i Distribuera Azure Spring Apps i ett virtuellt nätverk.
  • Azure CLI
  • Om du distribuerar en Azure Spring Apps Enterprise-planinstans för första gången i målprenumerationen läser du avsnittet Krav i Enterprise-plan på Azure Marketplace.

Granska Azure CLI-distributionsskriptet

Distributionsskriptet som används i den här snabbstarten kommer från Referensarkitekturen för 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}

Distribuera klustret

Följ dessa steg för att distribuera Azure Spring Apps-klustret med hjälp av Azure CLI-skriptet:

  1. Logga in på Azure med hjälp av följande kommando:

    az login
    

    När du har loggat in matar det här kommandot ut information om alla prenumerationer som du har åtkomst till. Anteckna namnet och ID:t för den prenumeration som du vill använda.

  2. Ange målprenumerationen.

    az account set --subscription "<your subscription name>"
    
  3. Registrera Resursprovidern för Azure Spring Apps.

    az provider register --namespace 'Microsoft.AppPlatform'
    
  4. Lägg till de tillägg som krävs i Azure CLI.

    az extension add --name spring
    
  5. Välj en distributionsplats från de regioner där Azure Spring Apps är tillgängligt, som du ser i Produkter som är tillgängliga per region.

  6. Använd följande kommando för att generera en lista över Azure-platser. Anteckna det korta namnvärdet för den region som du valde i föregående steg.

    az account list-locations --output table
    
  7. Skapa en resursgrupp som resursen ska distribueras till.

    az group create --name <your-resource-group-name> --location <location-name>
    
  8. Spara skriptet för Azure Spring Apps Standard-plan eller Enterprise-plan lokalt och kör det sedan från Bash-prompten.

    Standardplan:

    ./azuredeploySpringStandard.sh
    

    Företagsplan:

    ./azuredeploySpringEnterprise.sh
    
  9. Ange följande värden när du uppmanas av skriptet:

    • Det Azure-prenumerations-ID som du sparade tidigare.
    • Det Azure-platsnamn som du sparade tidigare.
    • Namnet på resursgruppen som du skapade tidigare.
    • Namnet på den virtuella nätverksresursgrupp där du distribuerar dina resurser.
    • Namnet på det virtuella ekernätverket (till exempel vnet-spoke).
    • Namnet på det undernät som ska användas av Azure Spring Apps Application Service (till exempel snet-app).
    • Namnet på det undernät som ska användas av Azure Spring Apps Runtime Service (till exempel snet-runtime).
    • Namnet på resursgruppen för Azure Log Analytics-arbetsytan som ska användas för att lagra diagnostikloggar.
    • Namnet på Azure Log Analytics-arbetsytan (till exempel la-cb5sq6574o2a).
    • CIDR sträcker sig från ditt virtuella nätverk som ska användas av Azure Spring Apps (till exempel XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16).
    • Nyckel/värde-par som ska användas som taggar på alla resurser som stöder taggar. Mer information finns i Använda taggar för att organisera dina Azure-resurser och hanteringshierarki. Använd en blankstegsavgränsad lista för att tillämpa flera taggar (till exempel environment=Dev BusinessUnit=finance).

När du har angett den här informationen skapar och distribuerar skriptet Azure-resurserna.

Granska distribuerade resurser

Du kan antingen använda Azure-portalen för att kontrollera de distribuerade resurserna eller använda Azure CLI för att lista de distribuerade resurserna.

Rensa resurser

Om du planerar att fortsätta arbeta med efterföljande snabbstarter och självstudier kanske du vill lämna dessa resurser på plats. Ta bort resursgruppen när den inte längre behövs, vilket tar bort resurserna i resursgruppen. Om du vill ta bort resursgruppen med hjälp av Azure CLI använder du följande kommandon:

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

Nästa steg

I den här snabbstarten distribuerade du en Azure Spring Apps-instans till ett befintligt virtuellt nätverk med hjälp av Azure CLI och verifierade sedan distributionen. Om du vill veta mer om Azure Spring Apps fortsätter du till resurserna nedan.