Rychlý start: Nasazení existující image kontejneru pomocí příkazového řádku
Služba Azure Container Apps umožňuje spouštět mikroslužby a kontejnerizované aplikace na bezserverové platformě. Se službou Container Apps získáte výhody spouštění kontejnerů, zatímco se nemusíte týkat ruční konfigurace cloudové infrastruktury a složitých orchestrátorů kontejnerů.
Tento článek ukazuje, jak nasadit existující kontejner do Azure Container Apps.
Poznámka:
Autorizace privátního registru se podporuje prostřednictvím uživatelského jména a hesla registru.
Požadavky
- Účet Azure s aktivním předplatným.
- Pokud jej nemáte, můžete si jej zdarma vytvořit.
- Nainstalujte rozhraní příkazového řádku Azure CLI.
- Přístup k veřejnému nebo privátnímu registru kontejneru, jako je azure Container Registry.
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.
Pokud chcete vytvořit prostředí, spusťte následující příkaz:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
Vytvoření aplikace typu kontejner
Teď, když máte vytvořené prostředí, můžete nasadit svou první aplikaci kontejneru. containerapp create
Pomocí příkazu nasaďte image kontejneru do Azure Container Apps.
Příklad uvedený v tomto článku ukazuje, jak používat vlastní image kontejneru s běžnými příkazy. Image kontejneru může potřebovat další parametry pro následující položky:
- Nastavení režimu revize
- Definování tajných kódů
- Definování proměnných prostředí
- Nastavení požadavků na procesor nebo paměť kontejneru
- Povolení a konfigurace dapr
- Povolení externího nebo interního příchozího přenosu dat
- Zadejte minimální a maximální hodnoty repliky nebo pravidla škálování.
Podrobnosti o tom, jak zadat hodnoty pro některý z těchto parametrů create
příkazu, spusťte az containerapp create --help
nebo navštivte online referenční informace. Pokud chcete vygenerovat přihlašovací údaje pro Azure Container Registry, použijte příkaz az acr credential show.
CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
REGISTRY_SERVER=<REGISTRY_SERVER>
REGISTRY_USERNAME=<REGISTRY_USERNAME>
REGISTRY_PASSWORD=<REGISTRY_PASSWORD>
(Nahraďte <zástupné symboly> hodnotami.)
az containerapp create \
--name my-container-app \
--resource-group $RESOURCE_GROUP \
--image $CONTAINER_IMAGE_NAME \
--environment $CONTAINERAPPS_ENVIRONMENT \
--registry-server $REGISTRY_SERVER \
--registry-username $REGISTRY_USERNAME \
--registry-password $REGISTRY_PASSWORD
az containerapp create \
--image <REGISTRY_CONTAINER_NAME> \
--name my-container-app \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT
If you have enabled ingress on your container app, you can add `--query properties.configuration.ingress.fqdn` to the `create` command to return the public URL for the application.
Před spuštěním tohoto příkazu nahraďte <REGISTRY_CONTAINER_NAME>
úplným názvem umístění veřejného registru kontejneru, včetně cesty a značky registru. Například platný název kontejneru je mcr.microsoft.com/k8se/quickstart:latest
.
Ověření nasazení
Pokud chcete ověřit úspěšné nasazení, můžete se dotazovat na pracovní prostor služby Log Analytics. Možná budete muset počkat několik minut po prvním doručení analýzy, než se budete moct dotazovat na protokoly. To závisí na protokolování konzoly implementované v aplikaci kontejneru.
K zobrazení zpráv protokolu konzoly použijte následující příkazy.
LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`
az monitor log-analytics query \
--workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
--analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated" \
--out table
Vyčištění prostředků
Pokud tuto aplikaci nebudete dál používat, spuštěním následujícího příkazu odstraňte skupinu prostředků spolu se všemi prostředky vytvořenými v tomto rychlém startu.
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 rychlého startu existují v zadané skupině prostředků, odstraní se také.
az group delete --name $RESOURCE_GROUP