Dela via


Tillhandahålla ett virtuellt nätverk till en extern Azure Container Apps-miljö.

I följande exempel visas hur du skapar en Container Apps-miljö i ett befintligt virtuellt nätverk.

Börja med att logga in på Azure Portal.

Skapa en containerapp

Om du vill skapa din containerapp börjar du på startsidan för Azure Portal.

  1. Sök efter Container Apps i det övre sökfältet.
  2. Välj Container Apps i sökresultatet.
  3. Markera knappen Skapa.

Fliken Grundläggande

På fliken Grundläggande utför du följande åtgärder.

  1. Ange följande värden i avsnittet Projektinformation .

    Inställning Åtgärd
    Prenumeration Välj din Azure-prenumerationen.
    Resursgrupp Välj Skapa ny och ange my-container-apps.
    Namn på containerapp Ange my-container-app.
    Distributionskälla Välj Containeravbildning.

Skapa en miljö

Skapa sedan en miljö för din containerapp.

  1. Välj lämplig region.

    Inställning Värde
    Region Välj USA, centrala.
  2. I fältet Skapa containerappar väljer du länken Skapa ny .

  3. På sidan Skapa Container Apps-miljöfliken Grundläggande anger du följande värden:

    Inställning Värde
    Miljönamn Ange min miljö.
    Miljötyp Välj Arbetsbelastningsprofiler.
    Zonredundans Välj Inaktiverad
  4. Välj fliken Övervakning för att skapa en Log Analytics-arbetsyta.

  5. Välj Azure Log Analytics som loggmål.

  6. Välj länken Skapa ny i fältet Log Analytics-arbetsyta och ange följande värden.

    Inställning Värde
    Name Ange my-container-apps-logs.

    Fältet Plats är förfyllt med USA , centrala åt dig.

  7. Välj OK.

Kommentar

Du kan använda ett befintligt virtuellt nätverk, men ett dedikerat undernät med ett CIDR-intervall på /23 eller större krävs för användning med Container Apps när du använder förbrukningsarkitekturen. När du använder en miljö för arbetsbelastningsprofiler krävs en eller flera /27 . Mer information om storlek på undernät finns i översikten över nätverksarkitekturen.

  1. Välj fliken Nätverk för att skapa ett VNET.

  2. Välj Ja bredvid Använd ditt eget virtuella nätverk.

  3. Bredvid rutan Virtuellt nätverk väljer du länken Skapa ny och anger följande värde.

    Inställning Värde
    Name Ange my-custom-vnet.
  4. Välj knappen OK.

  5. Bredvid rutan Infrastrukturundernät väljer du länken Skapa ny och anger följande värden:

    Inställning Värde
    Namn på undernät Ange infrastruktur-undernät.
    Adressblock för virtuellt nätverk Behåll standardvärdena.
    Adressblock för undernät Behåll standardvärdena.
  6. Välj knappen OK.

  7. Under Virtuell IP väljer du Extern.

  8. Välj Skapa.

Distribuera containerappen

  1. Välj Granska och skapa längst ned på sidan.

    Om inga fel hittas är knappen Skapa aktiverad.

    Om det finns fel markeras alla flikar som innehåller fel med en röd punkt. Gå till lämplig flik. Fält som innehåller ett fel är markerade i rött. När alla fel har åtgärdats väljer du Granska och skapa igen.

  2. Välj Skapa.

    En sida med meddelandet Distribution pågår visas. När distributionen har slutförts visas meddelandet: Distributionen är klar.

Förutsättningar

Ställ in

Om du vill logga in på Azure från CLI kör du följande kommando och följer anvisningarna för att slutföra autentiseringsprocessen.

az login

Kör uppgraderingskommandot för att säkerställa att du kör den senaste versionen av CLI.

az upgrade

Installera eller uppdatera sedan Azure Container Apps-tillägget för CLI.

Om du får fel om saknade parametrar när du kör az containerapp kommandon i Azure CLI eller cmdletar från modulen Az.App i Azure PowerShell kontrollerar du att den senaste versionen av Azure Container Apps-tillägget är installerad.

az extension add --name containerapp --upgrade

Kommentar

Från och med maj 2024 aktiverar Azure CLI-tillägg inte längre förhandsversionsfunktioner som standard. Om du vill komma åt förhandsversionsfunktioner för Container Apps installerar du containerapptillägget med --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Nu när det aktuella tillägget eller modulen har installerats registrerar du Microsoft.App namnrymderna och Microsoft.OperationalInsights .

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Ange miljövariabler

Ange följande miljövariabler. Ersätt <PLACEHOLDERS> med dina värden:

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

Skapa en Azure-resursgrupp

Skapa en resursgrupp för att organisera de tjänster som är relaterade till distributionen av containerappen.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Skapa en miljö

En miljö i Azure Container Apps skapar en säker gräns runt en grupp med containerappar. Container Apps som distribueras till samma miljö distribueras i samma virtuella nätverk och skriver loggar till samma Log Analytics-arbetsyta.

Registrera providern Microsoft.ContainerService .

az provider register --namespace Microsoft.ContainerService

Deklarera en variabel som ska innehålla VNET-namnet.

VNET_NAME="my-custom-vnet"

Skapa nu ett virtuellt Azure-nätverk som ska associeras med Container Apps-miljön. Det virtuella nätverket måste ha ett undernät tillgängligt för miljödistributionen.

Kommentar

Adressprefixet för nätverksundernät kräver ett minsta CIDR-intervall /23 för användning med Container Apps när du använder förbrukningsarkitekturen. När du använder arkitekturen för arbetsbelastningsprofiler krävs en eller flera /27 . Mer information om storlek på undernät finns i översikten över nätverksarkitekturen.

az network vnet create \
  --resource-group $RESOURCE_GROUP \
  --name $VNET_NAME \
  --location $LOCATION \
  --address-prefix 10.0.0.0/16
az network vnet subnet create \
  --resource-group $RESOURCE_GROUP \
  --vnet-name $VNET_NAME \
  --name infrastructure-subnet \
  --address-prefixes 10.0.0.0/21

När du använder miljön Arbetsbelastningsprofiler behöver du uppdatera det virtuella nätverket för att delegera undernätet till Microsoft.App/environments. Den här delegeringen gäller inte för förbrukningsmiljön.

az network vnet subnet update \
  --resource-group $RESOURCE_GROUP \
  --vnet-name $VNET_NAME \
  --name infrastructure-subnet \
  --delegations Microsoft.App/environments

När det virtuella nätverket har skapats kan du hämta ID:t för infrastrukturundernätet.

INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group ${RESOURCE_GROUP} --vnet-name $VNET_NAME --name infrastructure-subnet --query "id" -o tsv | tr -d '[:space:]'`

Skapa slutligen Container Apps-miljön med det anpassade VNET som distribuerades i föregående steg.

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION" \
  --infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET

I följande tabell beskrivs de parametrar som används i containerapp env create.

Parameter Description
name Namnet på Container Apps-miljön.
resource-group Resursgruppens namn.
location Den Azure-plats där miljön ska distribueras.
infrastructure-subnet-resource-id Resurs-ID för ett undernät för infrastrukturkomponenter och containrar för användarprogram.

När din miljö har skapats med ett anpassat virtuellt nätverk kan du nu distribuera containerappar till miljön.

Valfri konfiguration

Du har möjlighet att distribuera en privat DNS och definiera anpassade nätverks-IP-intervall för din Container Apps-miljö.

Distribuera med en privat DNS

Om du vill distribuera containerappen med en privat DNS kör du följande kommandon.

Extrahera först identifierbar information från miljön.

ENVIRONMENT_DEFAULT_DOMAIN=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.defaultDomain --out json | tr -d '"'`
ENVIRONMENT_STATIC_IP=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.staticIp --out json | tr -d '"'`
VNET_ID=`az network vnet show --resource-group ${RESOURCE_GROUP} --name ${VNET_NAME} --query id --out json | tr -d '"'`

Konfigurera sedan den privata DNS-koden.

az network private-dns zone create \
  --resource-group $RESOURCE_GROUP \
  --name $ENVIRONMENT_DEFAULT_DOMAIN
az network private-dns link vnet create \
  --resource-group $RESOURCE_GROUP \
  --name $VNET_NAME \
  --virtual-network $VNET_ID \
  --zone-name $ENVIRONMENT_DEFAULT_DOMAIN -e true
az network private-dns record-set a add-record \
  --resource-group $RESOURCE_GROUP \
  --record-set-name "*" \
  --ipv4-address $ENVIRONMENT_STATIC_IP \
  --zone-name $ENVIRONMENT_DEFAULT_DOMAIN

Nätverksparametrar

Det finns tre valfria nätverksparametrar som du kan välja att definiera när du anropar containerapp env create. Använd de här alternativen när du har ett peer-kopplat VNET med separata adressintervall. Genom att uttryckligen konfigurera dessa intervall ser du till att de adresser som används av Container Apps-miljön inte är i konflikt med andra intervall i nätverksinfrastrukturen.

Du måste antingen ange värden för alla tre av dessa egenskaper eller ingen av dem. Om de inte anges genereras värdena åt dig.

Parameter Description
platform-reserved-cidr Adressintervallet som används internt för miljöinfrastrukturtjänster. Måste ha en storlek mellan /23 och /12 när du använder förbrukningsarkitekturen
platform-reserved-dns-ip En IP-adress från intervallet platform-reserved-cidr som används för den interna DNS-servern. Adressen får inte vara den första adressen i intervallet eller nätverksadressen. Om platform-reserved-cidr till exempel är inställt på 10.2.0.0/16kan det platform-reserved-dns-ip inte vara 10.2.0.0 (nätverksadressen) eller 10.2.0.1 (infrastrukturreserver använder den här IP-adressen). I det här fallet skulle den första användbara IP-adressen för DNS vara 10.2.0.2.
docker-bridge-cidr Adressintervallet som tilldelats Docker-bryggnätverket. Det här intervallet måste ha en storlek mellan /28 och /12.
  • Adressintervallen platform-reserved-cidr och docker-bridge-cidr kan inte vara i konflikt med varandra eller med intervallen för antingen angivet undernät. Se dessutom till att dessa intervall inte är i konflikt med något annat adressintervall i det virtuella nätverket.

  • Om dessa egenskaper inte anges skapar CLI automatiskt intervallvärdena baserat på adressintervallet för det virtuella nätverket för att undvika intervallkonflikter.

Rensa resurser

Om du inte kommer att fortsätta att använda det här programmet kan du ta bort resursgruppen my-container-apps . Detta tar bort Azure Container Apps-instansen och alla associerade tjänster. Den tar också bort den resursgrupp som Container Apps-tjänsten skapade automatiskt och som innehåller de anpassade nätverkskomponenterna.

Varning

Följande kommando tar bort den angivna resursgruppen och alla resurser som ingår i den. Om det finns resurser utanför omfånget för den här guiden i den angivna resursgruppen tas de också bort.

az group delete --name $RESOURCE_GROUP

Nästa steg