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.
- Sök efter Container Apps i det övre sökfältet.
- Välj Container Apps i sökresultatet.
- Markera knappen Skapa.
Fliken Grundläggande
På fliken Grundläggande utför du följande åtgärder.
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.
Välj lämplig region.
Inställning Värde Region Välj USA, centrala. I fältet Skapa containerappar väljer du länken Skapa ny .
På sidan Skapa Container Apps-miljö på 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 Välj fliken Övervakning för att skapa en Log Analytics-arbetsyta.
Välj Azure Log Analytics som loggmål.
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.
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.
Välj fliken Nätverk för att skapa ett VNET.
Välj Ja bredvid Använd ditt eget virtuella nätverk.
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. Välj knappen OK.
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. Välj knappen OK.
Under Virtuell IP väljer du Extern.
Välj Skapa.
Distribuera containerappen
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.
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
- Azure-konto med en aktiv prenumeration.
- Om du inte har någon sådan nu kan du skapa en kostnadsfritt.
- Installera Azure CLI version 2.28.0 eller senare.
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.
Adressintervallen
platform-reserved-cidr
ochdocker-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