Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il servizio App contenitore di Azure consente di eseguire microservizi e applicazioni in contenitori in una piattaforma serverless. Con App contenitore è possibile sfruttare i vantaggi dell'esecuzione di contenitori, eliminando qualsiasi preoccupazione relativa alla configurazione manuale dell'infrastruttura cloud e degli agenti di orchestrazione dei contenitori complessi.
Questo articolo illustra come distribuire un contenitore esistente in App contenitore di Azure.
Nota
L'autorizzazione con registro privato è supportata tramite nome utente e password del registro.
Prerequisiti
- Un account Azure con una sottoscrizione attiva.
- Se non hai un account, puoi crearlo gratuitamente.
- Installare l'interfaccia della riga di comando di Azure.
- Accesso a un registro contenitori pubblico o privato, ad esempio Registro Azure Container.
Configurazione
Per accedere ad Azure dall'interfaccia della riga di comando, eseguire il comando seguente e seguire le istruzioni per completare il processo di autenticazione.
az login
Per assicurarsi di eseguire l'ultima versione della CLI, eseguire il comando di aggiornamento.
az upgrade
Installare o aggiornare l'estensione Azure Container Apps per il CLI.
Se ricevi errori relativi ai parametri mancanti quando esegui comandi nell'Azure CLI o cmdlet del modulo Az.App in PowerShell, assicurati di avere installato la versione più recente dell'estensione Azure Container Apps.
az extension add --name containerapp --upgrade
Nota
A partire da maggio 2024, le estensioni dell'interfaccia della riga di comando di Azure non abilitano più le funzionalità di anteprima per impostazione predefinita. Per accedere alle funzionalità di anteprima di App contenitore, installare l'estensione App contenitore con --allow-preview true.
az extension add --name containerapp --upgrade --allow-preview true
Ora che l'estensione o il modulo corrente è installato, registra i namespace Microsoft.App e Microsoft.OperationalInsights.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Impostare le variabili di ambiente
Impostare le variabili di ambiente seguenti. Sostituisci il <placeholders> con i tuoi valori.
RESOURCE_GROUP="<new-resource-group>"
LOCATION="<location>"
CONTAINERAPPS_ENVIRONMENT="<containerapps-environment>"
Creare un gruppo di risorse di Azure
Creare un gruppo di risorse per organizzare i servizi correlati alla distribuzione dell'app contenitore.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Crea un ambiente
Un ambiente di App contenitore di Azure crea un limite sicuro intorno a un gruppo di app contenitore. Le app container distribuite nello stesso ambiente vengono distribuite nella stessa rete virtuale e scrivono i log nella stessa area di lavoro di Log Analytics.
Per creare l'ambiente, eseguire il comando seguente:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
Creare un'app contenitore
Dopo aver creato un ambiente, è possibile distribuire la prima app contenitore.
Impostare le variabili di ambiente.
Sostituire il
<PLACEHOLDERS>con i vostri valori. Il nome dell'entità utente sarà in genere nel formato di un indirizzo di posta elettronica, ad esempiousername@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>Creare il Key Vault.
L'archiviazione della password del registro contenitori tramite un servizio come Azure Key Vault mantiene sempre protetti i valori. I passaggi descritti in questa sezione illustrano come creare un insieme di credenziali delle chiavi, archiviare la password del registro contenitori nell'insieme di credenziali delle chiavi e quindi recuperare la password da usare nel codice.
az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUPConcedere all'account utente le autorizzazioni per gestire i segreti nell'insieme di credenziali.
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"Archiviare la password del registro contenitori nell'insieme di credenziali.
Sostituire
<REGISTRY_PASSWORD>con il tuo valore.az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"Recuperare la password del registro contenitori dall'insieme di credenziali delle chiavi.
REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)Distribuire un'immagine del container su 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_PASSWORDSe è stato abilitato l'ingresso nell'app contenitore, è possibile aggiungere
--query properties.configuration.ingress.fqdnalcreatecomando per restituire l'URL pubblico per l'applicazione.
Impostare le variabili di ambiente.
CONTAINER_APP_NAME=my-container-app CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latestEseguire il deploy di un'immagine del container su Azure Container Apps.
az containerapp create \ --image $CONTAINER_IMAGE_NAME \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $CONTAINERAPPS_ENVIRONMENTSe è stato abilitato l'ingresso nell'app contenitore, è possibile aggiungere
--query properties.configuration.ingress.fqdnalcreatecomando per restituire l'URL pubblico per l'applicazione.
Verificare la distribuzione
Per verificare la corretta distribuzione, è possibile eseguire una query sull'area di lavoro Log Analytics. Prima di poter eseguire query sui log, potrebbe essere necessario attendere alcuni minuti dopo la distribuzione affinché l'analisi arrivi per la prima volta. Questo dipende dal log della console implementato nell'app contenitore.
Usare i comandi seguenti per visualizzare i messaggi di log della console.
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
Pulire le risorse
Se non si intende continuare a usare questa applicazione, eseguire il comando seguente per eliminare il gruppo di risorse insieme a tutte le risorse create in questa guida introduttiva.
Attenzione
Nell'esempio seguente, il gruppo di risorse specificato e tutte le risorse al suo interno vengono eliminati. Se nel gruppo di risorse specificato sono presenti anche risorse diverse da quelle usate in questa guida di avvio rapido, verranno eliminate.
az group delete --name $RESOURCE_GROUP
Suggerimento
Problemi? Fateci sapere su GitHub aprendo un problema nel repository Azure Container Apps.