Übung: Problembehandlung für Azure Container Instances

Abgeschlossen

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.

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

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

  1. 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)
    
  2. 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
    
  3. 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:

Screenshot mit der Ansicht der Informationen zur CPU- und Arbeitsspeicherauslastung von Azure Container Instances im Azure-Portal

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.

  1. Wählen Sie auf der Azure-Seite Start die Option Alle Ressourcen aus.

  2. Suchen Sie die Ressourcengruppe learn-deploy-aci-rg (bzw. nach dem Namen, den Sie der Ressourcengruppe gegeben haben), und wählen Sie sie aus.

  3. Klicken Sie auf der Registerkarte Übersicht der Ressourcengruppe auf die Option Ressourcengruppe löschen.

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