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í. <PLACEHOLDERS>
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.
Nastavte proměnné prostředí.
<PLACEHOLDERS>
Nahraďte hodnotami. Hlavní název uživatele bude obvykle ve formátu e-mailové adresy (napříkladusername@domain.com
).CONTAINER_APP_NAME=my-container-app KEY_VAULT_NAME=my-key-vault USER_PRINCIPAL_NAME=<USER_PRINCIPAL_NAME> SECRET_NAME=my-secret-name CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME> REGISTRY_SERVER=<REGISTRY_SERVER> REGISTRY_USERNAME=<REGISTRY_USERNAME>
Vytvořte trezor klíčů.
Uložení hesla registru kontejneru pomocí služby, jako je Azure Key Vault , uchovává hodnoty vždy zabezpečené. Kroky v této části ukazují, jak vytvořit trezor klíčů, uložit heslo registru kontejneru do služby Key Vault a pak načíst heslo pro použití v kódu.
az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP
Udělte svému uživatelskému účtu oprávnění ke správě tajných kódů v trezoru klíčů.
KEY_VAULT_ID=$(az keyvault show --name $KEY_VAULT_NAME --query id --output tsv) az role assignment create --role "Key Vault Secrets Officer" --assignee "$USER_PRINCIPAL_NAME" --scope "$KEY_VAULT_ID"
Uložte heslo registru kontejneru do trezoru klíčů.
Nahraďte
<REGISTRY_PASSWORD>
hodnotou.az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"
Načtěte heslo registru kontejneru z trezoru klíčů.
REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)
Nasazení image kontejneru do Azure Container Apps
az containerapp create \ --name $CONTAINER_APP_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --image $CONTAINER_IMAGE_NAME \ --environment $CONTAINERAPPS_ENVIRONMENT \ --registry-server $REGISTRY_SERVER \ --registry-username $REGISTRY_USERNAME \ --registry-password $REGISTRY_PASSWORD
Pokud jste v aplikaci kontejneru povolili příchozí přenos dat, můžete do
create
příkazu přidat--query properties.configuration.ingress.fqdn
veřejnou adresu URL aplikace.
Nastavte proměnné prostředí.
CONTAINER_APP_NAME=my-container-app CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
Nasazení image kontejneru do Azure Container Apps
az containerapp create \ --image $CONTAINER_IMAGE_NAME \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $CONTAINERAPPS_ENVIRONMENT
Pokud jste v aplikaci kontejneru povolili příchozí přenos dat, můžete do
create
příkazu přidat--query properties.configuration.ingress.fqdn
veřejnou adresu URL aplikace.
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 == $CONTAINER_APP_NAME | 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