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