Упражнение. Устранение неполадок в службе "Экземпляры контейнеров Azure".

Завершено

Чтобы понять основные способы устранения неполадок экземпляров контейнеров, выполните некоторые основные операции, такие как:

  • извлечение журналов контейнера;
  • просмотр событий контейнера;
  • присоединение к экземпляру контейнера.

Получение журналов из развернутого ранее экземпляра контейнера

Выполните следующую az container logs команду, чтобы просмотреть выходные данные из контейнера приложений для голосования кошачьих и собак, созданных в предыдущем упражнении:

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

Вы получите аналогичные выходные данные:

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
…

Получение событий контейнера

Команда az container attach предоставляет диагностические сведения во время запуска контейнера. После запуска контейнера она также записывает стандартные потоки выходных данных и ошибок в локальный терминал.

Запустите az container attach , чтобы подключиться к контейнеру:

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

Вы получите аналогичные выходные данные:

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
…

Совет

Чтобы отключиться от контейнера, нажмите клавиши CTRL+C.

Выполнение команды в контейнере

В процессе диагностики и устранения неполадок может потребоваться выполнить команды непосредственно в работающем контейнере.

  1. Чтобы просмотреть команды в контейнере, выполните следующую az container exec команду, чтобы запустить интерактивный сеанс в контейнере:

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

    Теперь вы работаете в контейнере.

  2. Выполните команду ls для отображения содержимого рабочего каталога.

    # ls
    __pycache__  config_file.cfg  main.py  prestart.sh  static  templates  uwsgi.ini
    
  3. При желании вы можете изучить систему подробнее. По завершении выполните команду exit, чтобы остановить интерактивный сеанс.

Мониторинг использования ЦП и памяти в контейнере

Узнайте, как отслеживать использование ЦП и памяти в контейнере.

  1. Выполните следующую az container show команду, чтобы получить идентификатор экземпляра контейнера Azure и сохранить идентификатор в переменной Bash:

    CONTAINER_ID=$(az container show \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo \
      --query id \
      --output tsv)
    
  2. az monitor metrics list Выполните команду, чтобы получить сведения об использовании ЦП:

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

    Обратите внимание на аргумент --metrics. Здесь CPUUsage предписывает извлечь сведения о загрузке ЦП.

    Вы увидите текст, похожий на следующие выходные данные:

    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. Выполните следующую az monitor metrics list команду, чтобы получить сведения об использовании памяти:

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

    Здесь вы указали MemoryUsage для аргумента --metrics , чтобы получить сведения об использовании памяти.

    Вы увидите текст, похожий на следующие выходные данные:

    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
    

В портал Azure Экземпляры контейнеров Azure сведения об использовании ЦП и памяти выглядят следующим образом:

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

Очистка ресурсов

В этом модуле вы создали ресурсы с использованием своей подписки Azure. Вы должны очистить эти ресурсы, чтобы вы по-прежнему не взимаете плату за них.

  1. На главной странице Azure выберите Все ресурсы.

  2. Найдите группу learn-deploy-acr-rg (или группу с другим использованным вами именем) и выберите ее.

  3. В группе ресурсов на вкладке Обзор выберите Удалить группу ресурсов.

  4. Откроется новое диалоговое окно. Введите имя группы ресурсов еще раз и выберите Удалить. Все ресурсы, созданные в этом модуле, удаляются.