Guida introduttiva: Distribuire un'immagine del contenitore esistente con la riga di comando
Il servizio App Azure Container consente di eseguire microservizi e applicazioni in contenitori in una piattaforma serverless. Con Le app contenitore è possibile sfruttare i vantaggi offerti dall'esecuzione dei contenitori, lasciandosi alle spalle le preoccupazioni della configurazione manuale dell'infrastruttura cloud e degli agenti di orchestrazione complessi dei contenitori.
Questo articolo illustra come distribuire un contenitore esistente in App Contenitore di Azure.
Nota
L'autorizzazione del Registro di sistema privato è supportata tramite nome utente e password del Registro di sistema.
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 il Registro Azure Container.
Attrezzaggio
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 la versione più recente dell'interfaccia della riga di comando, eseguire il comando di aggiornamento.
az upgrade
Installare o aggiornare quindi l'estensione App Azure Container per l'interfaccia della riga di comando.
az extension add --name containerapp --upgrade
Ora che l'estensione o il modulo corrente è installato, registrare gli Microsoft.App
spazi dei nomi e Microsoft.OperationalInsights
.
Nota
Le risorse di App Azure Container sono state migrate dallo Microsoft.Web
spazio dei nomi allo Microsoft.App
spazio dei nomi . Per altri dettagli, vedere Migrazione dello spazio dei nomi da Microsoft.Web a Microsoft.App nel mese di marzo 2022.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Impostare le variabili di ambiente
Impostare le variabili di ambiente seguenti. Sostituire <PLACEHOLDERS> con i valori:
RESOURCE_GROUP="<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 contenitore nello stesso ambiente vengono distribuite nella stessa rete virtuale e scrivono log nella stessa area di lavoro 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. Con il containerapp create
comando distribuire un'immagine del contenitore in App Azure Container.
L'esempio illustrato in questo articolo illustra come usare un'immagine del contenitore personalizzata con comandi comuni. L'immagine del contenitore potrebbe richiedere più parametri per gli elementi seguenti:
- Impostare la modalità di revisione
- Definire i segreti
- Definire le variabili di ambiente
- Impostare i requisiti di CPU o memoria del contenitore
- Abilitare e configurare Dapr
- Abilitare l'ingresso esterno o interno
- Specificare valori di replica minimi e massimi o regole di scalabilità
Per informazioni dettagliate su come fornire valori per uno di questi parametri al create
comando, eseguire az containerapp create --help
o visitare il riferimento online. Per generare le credenziali per un Registro Azure Container, usare az acr credential show.
CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
REGISTRY_SERVER=<REGISTRY_SERVER>
REGISTRY_USERNAME=<REGISTRY_USERNAME>
REGISTRY_PASSWORD=<REGISTRY_PASSWORD>
Sostituire i <segnaposto> con i valori.
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.
Prima di eseguire questo comando, sostituire <REGISTRY_CONTAINER_NAME>
con il nome completo il percorso del registro contenitori pubblico, incluso il percorso e il tag del Registro di sistema. Ad esempio, un nome di contenitore valido è mcr.microsoft.com/k8se/quickstart:latest
.
Verificare la distribuzione
Per verificare la corretta distribuzione, è possibile eseguire una query sull'area di lavoro Log Analytics. Potrebbe essere necessario attendere alcuni minuti dopo la distribuzione affinché l'analisi arrivi per la prima volta prima di poter eseguire query sui log. Questo dipende dalla registrazione della console implementata 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 == 'my-container-app' | 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
Il comando seguente elimina il gruppo di risorse specificato e tutte le risorse contenute al suo interno. 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? Segnalare il problema in GitHub aprendo un problema nel repository di App contenitore di Azure.