Podívejte se na téma Poskytnutí virtuální sítě pro interní 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.
    Zdroj nasazení Vyberte image kontejneru.

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 profily úloh.
    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 prostředí Consumption. Při použití prostředí /27 profilů úloh se vyžaduje nebo větší. Další informace o velikosti podsítě najdete v přehledu síťového prostředí.

  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 Interní.

  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í

Pokud se chcete přihlásit k Azure z rozhraní příkazového řádku, spusťte následující příkaz a podle pokynů dokončete proces ověřování.

az login

Pokud chcete zajistit, že používáte nejnovější verzi rozhraní příkazového řádku, spusťte příkaz upgrade.

az upgrade

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

Pokud se při spouštění az containerapp příkazů v Azure CLI nebo rutinách Az.App z modulu v Azure PowerShellu zobrazí chyby týkající se chybějících parametrů, ujistěte se, že máte nainstalovanou nejnovější verzi rozšíření Azure Container Apps.

az extension add --name containerapp --upgrade

Poznámka:

Od května 2024 už rozšíření Azure CLI ve výchozím nastavení nepovolují funkce ve verzi Preview. Pokud chcete získat přístup k funkcím Container Apps ve verzi Preview, nainstalujte rozšíření Container Apps pomocí --allow-preview truenástroje .

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

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

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

Nastavení proměnných prostředí

Nastavte následující proměnné prostředí. Zástupné symboly> nahraďte <hodnotami:

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

Vytvoření skupiny prostředků Azure

Vytvořte skupinu prostředků pro uspořádání služeb souvisejících s nasazením aplikace kontejneru.

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

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 instanci virtuální sítě, která se přidruží k prostředí Container Apps. Virtuální síť musí mít k dispozici dvě podsítě pro instanci aplikace kontejneru.

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 prostředí 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 velikosti podsítě najdete v přehledu síťového prostředí.

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

Při použití prostředí profilů úloh je potřeba aktualizovat virtuální síť, aby delegování podsítě na Microsoft.App/environments. Toto delegování se nevztahuje na prostředí jen pro spotřebu.

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

Když máte vytvořenou virtuální síť, můžete se teď dotazovat na 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 s virtuální sítí a podsítí.

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

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

Parametr Popis
name Název prostředí Container Apps.
resource-group Název skupiny prostředků.
logs-workspace-id (Volitelné) ID existujícího pracovního prostoru služby Log Analytics. Pokud tento parametr vynecháte, vytvoří se pro vás pracovní prostor.
logs-workspace-key Tajný klíč klienta Log Analytics. Vyžaduje se, pokud používáte existující pracovní prostor.
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í
internal-only (Volitelné) Prostředí nepoužívá veřejnou statickou IP adresu, pouze interní IP adresy dostupné ve vlastní virtuální síti. (Vyžaduje ID prostředku podsítě infrastruktury.)

S prostředím vytvořeným pomocí vlastní virtuální sítě můžete pomocí příkazu nasadit aplikace typu kontejner do prostředí az containerapp create .

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í jediného prostředí 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 instanci Azure Container Apps a všechny přidružené služby odstranit odebráním skupiny prostředků my-container-apps . Odstraněním této skupiny prostředků odeberete skupinu prostředků automaticky vytvořenou službou Container Apps obsahující 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ší materiály

  • Pokud chcete použít příchozí přenos dat v oboru virtuální sítě, musíte nastavit DNS.

Další kroky