Tillhandahålla ett virtuellt nätverk till en intern 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örbrukningsmiljön. När du använder miljön för arbetsbelastningsprofiler krävs en eller flera /27
. Mer information om storlek på undernät finns i översikten över nätverksmiljön.
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 Internt.
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 en instans av det virtuella nätverket som ska associeras med Container Apps-miljön. Det virtuella nätverket måste ha två undernät tillgängliga för containerappinstansen.
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örbrukningsmiljön. När du använder miljön Arbetsbelastningsprofiler krävs en eller flera /27
. Mer information om storlek på undernät finns i översikten över nätverksmiljön.
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/23
När du använder arbetsbelastningsprofilmiljön måste 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 upprättats kan du nu fråga efter infrastrukturens undernäts-ID.
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 VNET och undernätet.
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--internal-only
I följande tabell beskrivs de parametrar som används i för containerapp env create
.
Parameter | Description |
---|---|
name |
Namnet på Container Apps-miljön. |
resource-group |
Resursgruppens namn. |
logs-workspace-id |
(Valfritt) ID för en befintlig Log Analytics-arbetsyta. Om den utelämnas skapas en arbetsyta åt dig. |
logs-workspace-key |
Log Analytics-klienthemligheten. Krävs om du använder en befintlig arbetsyta. |
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. |
internal-only |
(Valfritt) Miljön använder inte en offentlig statisk IP-adress, bara interna IP-adresser som är tillgängliga i det anpassade virtuella nätverket. (Kräver ett resurs-ID för infrastrukturundernätet.) |
När din miljö har skapats med ditt anpassade virtuella nätverk kan du distribuera containerappar till miljön med hjälp av az containerapp create
kommandot .
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 endast förbrukningsmiljön används |
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/16 kan 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
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 fortsätter att använda det här programmet kan du ta bort Azure Container Apps-instansen och alla associerade tjänster genom att ta bort resursgruppen my-container-apps . Om du tar bort den här resursgruppen tas resursgruppen bort automatiskt som skapas av containerapptjänsten 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
Ytterligare resurser
- Om du vill använda inkommande VNET-omfång måste du konfigurera DNS.