Share via


Esercitazione: Creare un'app Contenitore di Azure in Kubernetes con abilitazione di Azure Arc (anteprima)

In questa esercitazione si crea un'app Contenitore in un cluster Kubernetes abilitato per Azure Arc (anteprima) e si apprenderà come:

  • Creare un'app contenitore in Azure Arc
  • Visualizzare la diagnostica dell'applicazione

Prerequisiti

Prima di procedere con la creazione di un'app contenitore, è prima necessario configurare un cluster Kubernetes abilitato per Azure Arc per eseguire app contenitore di Azure.

Aggiungere estensioni dell'interfaccia della riga di comando di Azure

Avviare l'ambiente Bash in Azure Cloud Shell.

Launch Cloud Shell in a new window.

Aggiungere quindi le estensioni dell'interfaccia della riga di comando di Azure necessarie.

Avviso

Il comando seguente installa un'estensione di App contenitore personalizzata che non può essere usata con il servizio cloud pubblico. Se si torna al cloud pubblico di Azure, è necessario disinstallare l'estensione.

az extension add --upgrade --yes --name customlocation
az extension remove --name containerapp
az extension add -s https://aka.ms/acaarccli/containerapp-latest-py2.py3-none-any.whl --yes

Creare un gruppo di risorse

Creare un gruppo di risorse per i servizi creati in questa esercitazione.

myResourceGroup="my-container-apps-resource-group"
az group create --name $myResourceGroup --location eastus 

Ottenere informazioni sulla posizione personalizzata

Ottenere il gruppo di percorsi, il nome e l'ID seguenti dall'amministratore del cluster. Per informazioni dettagliate, vedere Creare una posizione personalizzata.

customLocationGroup="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
customLocationName="<NAME_OF_CUSTOM_LOCATION>"

Ottenere l'ID percorso personalizzato.

customLocationId=$(az customlocation show \
    --resource-group $customLocationGroup \
    --name $customLocationName \
    --query id \
    --output tsv)

Recuperare l'ID dell'ambiente connesso

Ora che si dispone dell'ID percorso personalizzato, è possibile eseguire una query per l'ambiente connesso.

Un ambiente connesso è in gran parte uguale a un ambiente di App contenitore standard, ma le restrizioni di rete sono controllate dal cluster Kubernetes abilitato per Arc sottostante.

myContainerApp="my-container-app"
myConnectedEnvironment=$(az containerapp connected-env list --custom-location $customLocationId -o tsv --query '[].id')

Crea un'app

L'esempio seguente crea un'app Node.js.

 az containerapp create \
    --resource-group $myResourceGroup \
    --name $myContainerApp \
    --environment $myConnectedEnvironment \
    --environment-type connected \
    --image mcr.microsoft.com/k8se/quickstart:latest \
    --target-port 80 \
    --ingress 'external'

az containerapp browse --resource-group $myResourceGroup --name $myContainerApp

Ottenere i log di diagnostica con Log Analytics

Nota

È necessaria una configurazione di Log Analytics durante l'installazione dell'estensione App contenitore per visualizzare le informazioni di diagnostica. Se l'estensione è stata installata senza Log Analytics, ignorare questo passaggio.

Passare all'area di lavoro Log Analytics configurata con l'estensione App contenitore e quindi selezionare Log nel riquadro di spostamento a sinistra.

Eseguire la query di esempio seguente per visualizzare i log nelle ultime 72 ore.

Se si verifica un errore durante l'esecuzione di una query, riprovare tra 10 e 15 minuti. Potrebbe verificarsi un ritardo per l'avvio della ricezione dei log dall'applicazione da parte di Log Analytics.

let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"

I log dell'applicazione per tutte le app ospitate nel cluster Kubernetes vengono registrati nell'area di lavoro Log Analytics nella tabella log personalizzata denominata ContainerAppConsoleLogs_CL.

  • Log_s contiene i log dell'applicazione per una determinata estensione app contenitore
  • AppName_s contiene il nome dell'app contenitore. Oltre ai log scritti tramite il codice dell'applicazione, la colonna Log_s contiene anche i log all'avvio e all'arresto del contenitore.

Per altre informazioni sulle query di log, vedere Introduzione a Kusto.

Passaggi successivi