Übung: Problembehandlung für Azure Container Instances
Damit Sie die Grundlagen zum Behandeln von Problemen mit Containerinstanzen erlernen, führen Sie einige grundlegende Vorgänge wie die Folgenden aus:
- Das Abrufen von Containerprotokollen
- Das Anzeigen von Containerereignissen
- Das Anfügen an eine Containerinstanz
Abrufen von Protokollen aus der zuvor bereitgestellten Containerinstanz
Führen Sie den folgenden Befehl az container logs
aus, um die Ausgabe des in der vorherigen Übung erstellten Abstimm-App-Containers für Katzen und Hunde anzuzeigen:
az container logs \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Sie erhalten eine ähnliche Ausgabe wie:
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
…
Abrufen von Containerereignissen
Der Befehl az container attach
stellt während des Startvorgangs des Containers Diagnoseinformationen bereit. Sobald der Container gestartet wurde, schreibt er Standardausgaben und Standardfehlerstreams in Ihr lokales Terminal.
Führen Sie az container attach
aus, um Ihrem Container ein Element anzufügen:
az container attach \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Sie erhalten eine ähnliche Ausgabe wie:
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
…
Tipp
Drücken Sie STRG+C, um die Verbindung zum angefügten Container zu trennen.
Ausführen eines Befehls in Ihrem Container
Während Sie Probleme diagnostizieren und beheben, müssen Sie ggf. Befehle direkt in Ihrem ausgeführten Container ausführen.
Um die Befehle in Ihrem Container anzuzeigen, führen Sie den folgenden
az container exec
-Befehl aus, um eine interaktive Sitzung in Ihrem Container zu starten:az container exec \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --exec-command /bin/sh
Nun arbeiten Sie innerhalb des Containers.
Führen Sie den Befehl
ls
aus, um den Inhalt des Arbeitsverzeichnisses anzuzeigen:# ls __pycache__ config_file.cfg main.py prestart.sh static templates uwsgi.ini
Sie können sich das System bei Bedarf genauer ansehen. Wenn Sie dies getan haben, führen Sie den Befehl
exit
aus, um die interaktive Sitzung zu beenden.
Überwachen der CPU- und Arbeitsspeicherauslastung in Ihrem Container
Erfahren Sie, wie Sie die CPU- und Arbeitsspeicherauslastung in Ihrem Container überwachen.
Führen Sie folgenden Befehl
az container show
aus, um die ID Ihrer Azure-Containerinstanz abzurufen und diese in einer Bash-Variable zu speichern:CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query id \ --output tsv)
Führen Sie den Befehl
az monitor metrics list
aus, um die Informationen zur CPU-Auslastung abzurufen:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics CPUUsage \ --output table
Achten Sie auf das Argument
--metrics
. In diesem Fall wird mit CPUUsage festgelegt, dass die CPU-Auslastung abgerufen werden soll.Sie erhalten einen Text ähnlich der folgenden Ausgabe:
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
Führen Sie diesen Befehl
az monitor metrics list
aus, um Informationen zur Arbeitsspeicherauslastung abzurufen:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics MemoryUsage \ --output table
In diesem Fall legen Sie MemoryUsage für das
--metrics
-Argument fest, um Informationen zur Arbeitsspeicherauslastung abzurufen.Sie erhalten einen Text ähnlich der folgenden Ausgabe:
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
Die Informationen zur CPU- und Arbeitsspeicherauslastung von Azure Container Instances im Azure-Portal werden wie folgt angezeigt:
Bereinigen von Ressourcen
In diesem Modul haben Sie Ressourcen unter Verwendung Ihres Azure-Abonnements erstellt. Sie sollten diese Ressourcen bereinigen, sodass Ihnen diese nicht noch in Rechnung gestellt werden.
Wählen Sie auf der Azure-Seite Start die Option Alle Ressourcen aus.
Suchen Sie die Ressourcengruppe learn-deploy-aci-rg (bzw. nach dem Namen, den Sie der Ressourcengruppe gegeben haben), und wählen Sie sie aus.
Klicken Sie auf der Registerkarte Übersicht der Ressourcengruppe auf die Option Ressourcengruppe löschen.
Es öffnet sich ein neues Dialogfenster. Geben Sie den Namen der Ressourcengruppe noch mal ein, und klicken Sie auf Löschen. Alle Ressourcen, die Sie im Rahmen dieses Moduls erstellt haben, werden gelöscht.