Esercizio - Risolvere i problemi relativi a Istanze di Azure Container
Per comprendere i metodi di base per risolvere i problemi delle istanze di contenitore, eseguire alcune operazioni di base, come:
- Pull dei log del contenitore
- Visualizzazione degli eventi del contenitore
- Collegamento a un'istanza di contenitore
Ottenere i log dall'istanza del contenitore distribuita in precedenza
Eseguire il comando az container logs
seguente per visualizzare l'output del contenitore dell'app di voto per gatti e cani creato nell'esercizio precedente:
az container logs \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Si otterrà un output simile a questo:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
Running inside /app/prestart.sh, you could add migrations to this file, e.g.:
#! /usr/bin/env bash
# Let the DB start
sleep 10;
# Run migrations
alembic upgrade head
…
Ottenere gli eventi del contenitore
Il comando az container attach
offre informazioni di diagnostica durante l'avvio del contenitore. Dopo l'avvio del contenitore, il comando scriverà anche output standard e flussi di errore standard nel terminale locale.
Eseguire az container attach
per il collegamento al contenitore:
az container attach \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Si otterrà un output simile a questo:
Container 'aci-demo-files' is in state 'Running'...
(count: 1) (last timestamp: 2021-09-21 23:48:14+00:00) pulling image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:09+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:12+00:00) Created container
(count: 1) (last timestamp: 2021-09-21 23:49:13+00:00) Started container
Start streaming logs:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
…
Suggerimento
Premere CTRL+C per disconnettersi dal contenitore collegato.
Eseguire un comando nel contenitore
Durante la diagnosi e la risoluzione dei problemi può essere necessario eseguire i comandi direttamente nel contenitore in esecuzione.
Per vedere i comandi nel contenitore, eseguire il comando
az container exec
seguente per avviare una sessione interattiva nel contenitore:az container exec \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --exec-command /bin/sh
A questo punto, si sta in realtà lavorando all'interno del contenitore.
Eseguire il comando
ls
per visualizzare il contenuto della directory di lavoro.# ls __pycache__ config_file.cfg main.py prestart.sh static templates uwsgi.ini
Se si vuole, si può esplorare ulteriormente il sistema. Al termine, eseguire il comando
exit
per arrestare la sessione interattiva.
Monitorare l'utilizzo di CPU e memoria nel contenitore
Viene illustrato come monitorare l'utilizzo di CPU e memoria nel contenitore.
Eseguire il comando
az container show
seguente per ottenere l'ID dell'istanza di contenitore di Azure e archiviarlo in una variabile Bash:CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query id \ --output tsv)
Eseguire il comando
az monitor metrics list
per recuperare le informazioni sull'utilizzo della CPU:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics CPUUsage \ --output table
Si noti l'argomento
--metrics
. Qui CPUUsage specifica di recuperare l'utilizzo della CPU.Il testo sarà simile all'output seguente:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:39:00 CPU Usage 2021-09-21 23:40:00 CPU Usage 2021-09-21 23:41:00 CPU Usage 2021-09-21 23:42:00 CPU Usage 2021-09-21 23:43:00 CPU Usage 0.375 2021-09-21 23:44:00 CPU Usage 0.875 2021-09-21 23:45:00 CPU Usage 1 2021-09-21 23:46:00 CPU Usage 3.625 2021-09-21 23:47:00 CPU Usage 1.5 2021-09-21 23:48:00 CPU Usage 2.75 2021-09-21 23:49:00 CPU Usage 1.625 2021-09-21 23:50:00 CPU Usage 0.625 2021-09-21 23:51:00 CPU Usage 0.5 2021-09-21 23:52:00 CPU Usage 0.5 2021-09-21 23:53:00 CPU Usage 0.5
Eseguire il comando
az monitor metrics list
per recuperare le informazioni sull'utilizzo della memoria:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics MemoryUsage \ --output table
Qui viene specificato MemoryUsage per l'argomento
--metrics
per recuperare le informazioni sull'utilizzo della memoria.Il testo sarà simile all'output seguente:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:43:00 Memory Usage 2021-09-21 23:44:00 Memory Usage 0.0 2021-09-21 23:45:00 Memory Usage 15917056.0 2021-09-21 23:46:00 Memory Usage 16744448.0 2021-09-21 23:47:00 Memory Usage 16842752.0 2021-09-21 23:48:00 Memory Usage 17190912.0 2021-09-21 23:49:00 Memory Usage 17506304.0 2021-09-21 23:50:00 Memory Usage 17702912.0 2021-09-21 23:51:00 Memory Usage 17965056.0 2021-09-21 23:52:00 Memory Usage 18509824.0 2021-09-21 23:53:00 Memory Usage 18649088.0 2021-09-21 23:54:00 Memory Usage 18845696.0 2021-09-21 23:55:00 Memory Usage 19181568.0
Nel portale di Azure, le informazioni relative all'utilizzo di memoria e CPU da parte di Istanze di Azure Container sono simili a quanto segue:
Pulire le risorse
In questo modulo sono state create risorse usando la propria sottoscrizione di Azure. È consigliabile pulire queste risorse in modo che non siano ancora addebitate.
Nella home page di Azure selezionare Tutte le risorse.
Trovare il gruppo di risorse learn-deploy-aci-rg oppure il nome del gruppo di risorse usato e selezionarlo.
Nella scheda Panoramica del gruppo di risorse selezionare Elimina gruppo di risorse.
Si aprirà una nuova finestra di dialogo. Immettere di nuovo il nome del gruppo di risorse e selezionare Elimina. Tutte le risorse create in questo modulo verranno eliminate.