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.
- Na horním panelu hledání vyhledejte Container Apps .
- Ve výsledcích hledání vyberte KontejnerOvé aplikace .
- Vyberte tlačítko Vytvořit.
Karta Základní informace
Na kartě Základy proveďte následující akce.
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.
Vyberte příslušnou oblast.
Nastavení Hodnota Oblast Vyberte USA – střed. V poli Vytvořit prostředí Container Apps vyberte odkaz Vytvořit nový.
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. Vyberte kartu Monitorování a vytvořte pracovní prostor služby Log Analytics.
Jako cíl protokolů vyberte Azure Log Analytics.
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 .
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í.
Vyberte kartu Sítě a vytvořte virtuální síť.
Vyberte Ano vedle možnosti Použít vlastní virtuální síť.
Vedle pole Virtuální síť vyberte vytvořit nový odkaz a zadejte následující hodnotu.
Nastavení Hodnota Name Zadejte my-custom-vnet. Vyberte tlačítko OK.
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. Vyberte tlačítko OK.
V části Virtuální IP adresa vyberte Interní.
Vyberte Vytvořit.
Nasazení aplikace typu kontejner
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.
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
- Účet Azure s aktivním předplatným.
- Pokud jej nemáte, můžete si jej zdarma vytvořit.
- Nainstalujte Azure CLI verze 2.28.0 nebo vyšší.
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 true
ná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
adresdocker-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.