Oefening: problemen met Azure Container Instances oplossen

Voltooid

Voer enkele basisbewerkingen uit, zoals:

  • Containerlogbestanden ophalen
  • Containergebeurtenissen bekijken
  • Toevoegingen doen aan een containerinstantie

Logboeken ophalen van uw eerder geïmplementeerde containerinstantie

Voer de volgende az container logs opdracht uit om de uitvoer te bekijken van de container voor de stem-app voor katten en honden die u in de vorige oefening hebt gemaakt:

az container logs \
  --resource-group learn-deploy-aci-rg \
  --name aci-demo

U krijgt een vergelijkbare uitvoer als:

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
…

Containergebeurtenissen ophalen

De opdracht az container attach biedt diagnostische gegevens tijdens het opstarten van de container. Wanneer de container is gestart, worden de standaarduitvoer en de standaardfoutstromen naar uw lokale terminal geschreven.

Voer az container attach deze opdracht uit om te koppelen aan uw container:

az container attach \
  --resource-group learn-deploy-aci-rg \
  --name aci-demo

U krijgt een vergelijkbare uitvoer als:

Container 'aci-demo' 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
…

Tip

Druk op Ctrl+C om de verbinding met de gekoppelde container te verbreken.

Een opdracht uitvoeren in uw container

Voor het vaststellen en oplossen van problemen moet u mogelijk opdrachten rechtstreeks in de actieve container uitvoeren.

  1. Als u opdrachten in uw container wilt zien, voert u de volgende az container exec opdracht uit om een interactieve sessie in uw container te starten:

    az container exec \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo \
      --exec-command /bin/sh
    

    Op dit moment werkt u effectief in de container.

  2. Voer de opdracht ls uit om de inhoud van de werkmap weer te geven.

    # ls
    __pycache__  config_file.cfg  main.py  prestart.sh  static  templates  uwsgi.ini
    
  3. U kunt indien gewenst het systeem nog verder verkennen. Wanneer u klaar bent, voert u de opdracht exit uit om de interactieve sessie te stoppen.

Het CPU- en het geheugengebruik in uw container bewaken

Bekijk hoe u het CPU- en geheugengebruik van uw container bewaakt.

  1. Voer de volgende az container show opdracht uit om de id van uw Azure-containerinstantie op te halen en de id op te slaan in een Bash-variabele:

    CONTAINER_ID=$(az container show \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo \
      --query id \
      --output tsv)
    
  2. Voer de az monitor metrics list opdracht uit om informatie over het CPU-gebruik op te halen:

    az monitor metrics list \
      --resource $CONTAINER_ID \
      --metrics CPUUsage \
      --output table
    

    Noteer het argument --metrics. CPUUsage verwijst hier naar het CPU-gebruik.

    U ziet tekst die lijkt op de volgende uitvoer:

    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. Voer deze az monitor metrics list opdracht uit om informatie over geheugengebruik op te halen:

    az monitor metrics list \
      --resource $CONTAINER_ID \
      --metrics MemoryUsage \
      --output table
    

    Hier hebt u MemoryUsage opgegeven voor het --metrics argument om informatie over geheugengebruik op te halen.

    U ziet tekst die lijkt op de volgende uitvoer:

    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
    

In De Azure-portal ziet de informatie over CPU- en geheugengebruik van Azure Container Instances er als volgt uit:

Screenshot that shows the Azure portal view of Azure Container Instances CPU and memory usage information.

Resources opschonen

In deze module hebt u resources gemaakt met behulp van uw Azure-abonnement. U moet deze resources opschonen, zodat er geen kosten in rekening worden gebracht.

  1. Selecteer Alle resources op de startpagina van Azure.

  2. Zoek de resourcegroep learn-deploy-ACI-rg of welke naam u ook voor de resourcegroep hebt gebruikt en selecteer deze.

  3. Selecteer op het tabblad Overzicht van de resourcegroep de optie Resourcegroep verwijderen.

  4. Er wordt een nieuw dialoogvenster geopend. Voer de naam van de resourcegroep opnieuw in en selecteer Verwijderen. Alle resources die we in deze module hebben gemaakt, worden verwijderd.