Condividi tramite


Esercitazione: creare un’app contenitore di Azure in Kubernetes abilitato per Azure Arc (anteprima)

In questa esercitazione viene creata 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, è necessario configurare un cluster Kubernetes con abilitazione di 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.

Avviare Cloud Shell in una nuova finestra.

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

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 add --name containerapp  --upgrade --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 località, il nome e l'ID seguenti dall'amministratore cluster. Per informazioni dettagliate, vedere Creare una località personalizzata.

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

Ottenere l'ID località personalizzata.

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 località personalizzata, è 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 quando si installa l'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, 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 dopo 10 - 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 applicazioni 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 sull'avvio e l’arresto del contenitore.

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

Passaggi successivi