Podívejte se na téma Poskytnutí virtuální sítě pro externí prostředí Azure Container Apps.

Následující příklad ukazuje, jak vytvořit prostředí Container Apps v existující virtuální síti.

Začněte přihlášením k webu Azure Portal.

Vytvoření aplikace typu kontejner

Pokud chcete vytvořit aplikaci kontejneru, začněte na domovské stránce webu Azure Portal.

  1. Na horním panelu hledání vyhledejte Container Apps .
  2. Ve výsledcích hledání vyberte KontejnerOvé aplikace .
  3. Vyberte tlačítko Vytvořit.

Karta Základní informace

Na kartě Základy proveďte následující akce.

  1. Do části Podrobnosti projektu zadejte následující hodnoty.

    Nastavení Akce
    Předplatné Vyberte své předplatné Azure.
    Skupina zdrojů Vyberte Vytvořit nový a zadejte my-container-apps.
    Název kontejnerové aplikace Zadejte my-container-app.

Vytvořit prostředí

Dále vytvořte prostředí pro vaši aplikaci kontejneru.

  1. Vyberte příslušnou oblast.

    Nastavení Hodnota
    Oblast Vyberte USA – střed.
  2. V poli Vytvořit prostředí Container Apps vyberte odkaz Vytvořit nový.

  3. Na stránce Vytvořit prostředí Container Apps na kartě Základy zadejte následující hodnoty:

    Nastavení Hodnota
    Název prostředí Zadejte moje prostředí.
    Typ prostředí Vyberte pouze spotřebu.
    Zónová redundance Vyberte Zakázáno.
  4. Vyberte kartu Monitorování a vytvořte pracovní prostor služby Log Analytics.

  5. Jako cíl protokolů vyberte Azure Log Analytics.

  6. V poli Pracovního prostoru služby Log Analytics vyberte odkaz Vytvořit nový a zadejte následující hodnoty.

    Nastavení Hodnota
    Name Zadejte my-container-apps-logs.

    Pole Umístění je předem vyplněné střední USA .

  7. Vyberte OK.

Poznámka:

Můžete použít existující virtuální síť, ale vyhrazená podsíť s rozsahem /23 CIDR nebo větší se vyžaduje pro použití s Container Apps při použití pouze architektury Consumption. Při použití prostředí profilů úloh se vyžaduje nebo je nutné použít /27 větší nebo větší prostředí. Další informace o nastavení velikosti podsítě najdete v přehledu síťové architektury.

  1. Vyberte kartu Sítě a vytvořte virtuální síť.

  2. Vyberte Ano vedle možnosti Použít vlastní virtuální síť.

  3. Vedle pole Virtuální síť vyberte vytvořit nový odkaz a zadejte následující hodnotu.

    Nastavení Hodnota
    Name Zadejte my-custom-vnet.
  4. Vyberte tlačítko OK.

  5. Vedle pole Podsíť Infrastruktury vyberte vytvořit nový odkaz a zadejte následující hodnoty:

    Nastavení Hodnota
    Název podsítě Zadejte podsíť infrastruktury.
    Blok adres virtuální sítě Ponechte výchozí hodnoty.
    Blok adresy podsítě Ponechte výchozí hodnoty.
  6. Vyberte tlačítko OK.

  7. V části Virtuální IP adresa vyberte Externí.

  8. Vyberte Vytvořit.

Nasazení aplikace typu kontejner

  1. Vyberte Zkontrolovat a vytvořte v dolní části stránky.

    Pokud se nenašly žádné chyby, tlačítko Vytvořit je povolené.

    Pokud dojde k chybám, označí se všechny karty obsahující chyby červenou tečkou. Přejděte na příslušnou kartu. Pole obsahující chybu jsou červeně zvýrazněná. Po opravení všech chyb vyberte Zkontrolovat a vytvořit znovu.

  2. Vyberte Vytvořit.

    Zobrazí se stránka se zprávou Probíhá nasazení . Po úspěšném dokončení nasazení se zobrazí zpráva: Vaše nasazení je dokončené.

Požadavky

Nastavení

Začněte tím, že se přihlásíte k Azure. Spusťte následující příkaz a podle pokynů dokončete proces ověřování.

az login

Dále nainstalujte rozšíření Azure Container Apps pro rozhraní příkazového řádku.

az extension add --name containerapp --upgrade

Teď, když je nainstalované aktuální rozšíření nebo modul, zaregistrujte Microsoft.App obor názvů.

Poznámka:

Prostředky Azure Container Apps se migrovaly z Microsoft.Web oboru názvů do Microsoft.App oboru názvů. Další podrobnosti najdete v tématu Migrace oboru názvů z webu Microsoft.Web na Microsoft.App v březnu 2022 .

az provider register --namespace Microsoft.App

Pokud jste ho ještě nepoužili Microsoft.OperationalInsights , zaregistrujte poskytovatele pro pracovní prostor služby Azure Monitor Log Analytics.

az provider register --namespace Microsoft.OperationalInsights

Dále nastavte následující proměnné prostředí:

RESOURCE_GROUP="my-container-apps"
LOCATION="canadacentral"
CONTAINERAPPS_ENVIRONMENT="my-environment"

Pomocí těchto proměnných můžete vytvořit skupinu prostředků pro uspořádání služeb souvisejících s novou aplikací kontejneru.

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

S upgradovaným rozhraním příkazového řádku a dostupnou novou skupinou prostředků můžete vytvořit prostředí Container Apps a nasadit aplikaci kontejneru.

Vytvořit prostředí

Prostředí v Azure Container Apps vytvoří zabezpečenou hranici kolem skupiny kontejnerových aplikací. KontejnerOvé aplikace nasazené do stejného prostředí se nasazují ve stejné virtuální síti a zapisují protokoly do stejného pracovního prostoru služby Log Analytics.

Zaregistrujte Microsoft.ContainerService poskytovatele.

az provider register --namespace Microsoft.ContainerService

Deklarujte proměnnou, která bude obsahovat název virtuální sítě.

VNET_NAME="my-custom-vnet"

Teď vytvořte virtuální síť Azure, která se přidruží k prostředí Container Apps. Virtuální síť musí mít k dispozici podsíť pro nasazení prostředí.

Poznámka:

Předpona adresy podsítě sítě vyžaduje minimální rozsah /23 CIDR pro použití s kontejnerovými aplikacemi při použití pouze architektury Consumption. Při použití architektury profilů úloh je vyžadována /27 nebo větší architektura profilů úloh. Další informace o nastavení velikosti podsítě najdete v přehledu síťové architektury.

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

Vytvořenou virtuální sítí můžete načíst ID podsítě infrastruktury.

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:]'`

Nakonec vytvořte prostředí Container Apps pomocí vlastní virtuální sítě nasazené v předchozích krocích.

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

Následující tabulka popisuje parametry použité v containerapp env create.

Parametr Popis
name Název prostředí Container Apps.
resource-group Název skupiny prostředků.
location Umístění Azure, ve kterém se prostředí nasazuje.
infrastructure-subnet-resource-id ID prostředku podsítě pro komponenty infrastruktury a kontejnery uživatelských aplikací

S prostředím vytvořeným pomocí vlastní virtuální sítě teď můžete do prostředí nasadit kontejnerové aplikace.

Volitelná konfigurace

Máte možnost nasadit privátní DNS a definovat vlastní rozsahy síťových IP adres pro vaše prostředí Container Apps.

Nasazení s využitím privátního DNS

Pokud chcete nasadit aplikaci kontejneru s privátním DNS, spusťte následující příkazy.

Nejprve extrahujte identifikovatelné informace z prostředí.

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 '"'`

Dále nastavte privátní DNS.

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

Síťové parametry

Existují tři volitelné síťové parametry, které můžete definovat při volání containerapp env create. Tyto možnosti použijte, pokud máte partnerský virtuální síť s samostatnými rozsahy adres. Explicitní konfigurace těchto rozsahů zajišťuje, že adresy používané prostředím Container Apps nejsou v konfliktu s jinými rozsahy v síťové infrastruktuře.

Je nutné zadat hodnoty pro všechny tři z těchto vlastností, nebo žádné z nich. Pokud nejsou zadané, vygenerují se vám hodnoty.

Parametr Popis
platform-reserved-cidr Rozsah adres používaný interně pro služby infrastruktury prostředí. Musí mít velikost mezi /23 a /12 při použití pouze architektury Consumption.
platform-reserved-dns-ip IP adresa z rozsahu platform-reserved-cidr , který se používá pro interní server DNS. Adresa nemůže být první adresou v rozsahu ani síťová adresa. Pokud platform-reserved-cidr je například nastavená hodnota 10.2.0.0/16, platform-reserved-dns-ip nemůže být 10.2.0.0 (síťová adresa) nebo 10.2.0.1 (infrastruktura si vyhrazuje použití této IP adresy). V tomto případě by první použitelná IP adresa pro DNS byla 10.2.0.2.
docker-bridge-cidr Rozsah adres přiřazený k síti mostu Docker. Tento rozsah musí mít velikost mezi /28 a /12.
  • Rozsahy platform-reserved-cidr adres docker-bridge-cidr spolu nemůžou být v konfliktu ani s rozsahy poskytnuté podsítě. Dále se ujistěte, že tyto rozsahy nejsou v konfliktu s žádným jiným rozsahem adres ve virtuální síti.

  • Pokud tyto vlastnosti nejsou zadané, rozhraní příkazového řádku automaticky vygeneruje hodnoty rozsahu na základě rozsahu adres virtuální sítě, aby nedocházelo ke konfliktům rozsahu.

Vyčištění prostředků

Pokud tuto aplikaci nebudete dál používat, můžete odebrat skupinu prostředků my-container-apps . Tím se odstraní instance Azure Container Apps a všechny přidružené služby. Odstraní také skupinu prostředků, kterou služba Container Apps automaticky vytvořila a která obsahuje vlastní síťové komponenty.

Upozornění

Následující příkaz odstraní zadanou skupinu prostředků a všechny prostředky obsažené v ní. Pokud prostředky mimo rozsah tohoto průvodce existují v zadané skupině prostředků, odstraní se také.

az group delete --name $RESOURCE_GROUP

Další kroky