Cvičení – řešení potíží se službou Azure Container Instances

Dokončeno

Abyste porozuměli základním způsobům řešení potíží s instancemi kontejneru, proveďte několik základních operací, jako jsou:

  • Vyžádání protokolů kontejneru
  • Zobrazení událostí kontejneru
  • Připojení k instanci kontejneru

Získání protokolů z předchozí nasazené instance kontejneru

Spuštěním následujícího az container logs příkazu zobrazte výstup z kontejneru hlasovací aplikace pro kočky a psy, který jste vytvořili v předchozím cvičení:

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

Zobrazí se podobný výstup jako:

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
…

Získání událostí kontejneru

Příkaz az container attach poskytuje diagnostické informace při spuštění kontejneru. Jakmile je kontejner spuštěný, zapisuje také standardní výstupní a standardní chybový datový proud do místního terminálu.

Spusťte az container attach připojení ke kontejneru:

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

Zobrazí se podobný výstup jako:

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

Pokud se chcete odpojit od připojeného kontejneru, stiskněte klávesy Ctrl+C.

Spuštění příkazu v kontejneru

Při diagnostice a odstraňování problémů může být nutné spouštět příkazy přímo ve spuštěném kontejneru.

  1. Pokud chcete zobrazit příkazy v kontejneru, spusťte následující az container exec příkaz, který spustí interaktivní relaci v kontejneru:

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

    V tomto okamžiku efektivně pracujete uvnitř kontejneru.

  2. Spusťte příkaz ls, aby se zobrazil obsah pracovního adresáře.

    # ls
    __pycache__  config_file.cfg  main.py  prestart.sh  static  templates  uwsgi.ini
    
  3. Pokud chcete, můžete systém prozkoumat podrobněji. Jakmile skončíte, spusťte příkaz exit k zastavení interaktivní relace.

Monitorování využití procesoru a paměti v kontejneru

Zjistěte, jak monitorovat využití procesoru a paměti v kontejneru.

  1. Spuštěním následujícího az container show příkazu získejte ID instance kontejneru Azure a uložte ID do proměnné Bash:

    CONTAINER_ID=$(az container show \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo \
      --query id \
      --output tsv)
    
  2. Spuštěním az monitor metrics list příkazu načtěte informace o využití procesoru:

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

    Poznamenejte si argument --metrics. CPUUsage tady určuje, že se mají načíst informace o využití procesoru.

    Zobrazí se text podobný následujícímu výstupu:

    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. Spuštěním tohoto az monitor metrics list příkazu načtěte informace o využití paměti:

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

    Tady jste pro argument zadali memoryUsage pro --metrics načtení informací o využití paměti.

    Zobrazí se text podobný následujícímu výstupu:

    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
    

Informace o využití procesoru a paměti služby Azure Container Instances na webu Azure Portal vypadají takto:

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

Vyčištění prostředků

V tomto modulu jste vytvořili prostředky pomocí svého předplatného Azure. Tyto prostředky byste měli vyčistit, abyste za ně stále neúčtovaly poplatky.

  1. Na domovské stránce Azure vyberte Všechny prostředky.

  2. Najděte skupinu prostředků, které jste dali název learn-deploy-aci-rg (nebo případně jiný název), a vyberte ji.

  3. Na kartě Přehled této skupiny prostředků vyberte Odstranit skupinu prostředků.

  4. Otevře se nové dialogové okno. Znovu zadejte název skupiny prostředků a vyberte Odstranit. Odstraní se všechny prostředky, které jsme vytvořili v tomto modulu.