Sdílet prostřednictvím


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

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

  1. Nastavte proměnné prostředí.

    <PLACEHOLDERS> Nahraďte hodnotami. Hlavní název uživatele bude obvykle ve formátu e-mailové adresy (například username@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>
    
  2. 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
    
  3. 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"
    
  4. 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>"
    
  5. 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)
    
  6. 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.

  1. Nastavte proměnné prostředí.

     CONTAINER_APP_NAME=my-container-app
     CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
    
  2. 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

Tip

Máte problémy? Dejte nám vědět na GitHubu otevřením problému v úložišti Azure Container Apps.

Další kroky