Поделиться через


Настройка мониторинга графических процессоров с помощью Аналитики контейнеров

Начиная с версии агента ciprod03022019 интегрированный агент Аналитики контейнеров теперь поддерживает мониторинг использования графического модуля обработки (GPU) на узлах кластера Kubernetes с поддержкой GPU и отслеживает модули pod или контейнеры, которые запрашивают и используют ресурсы GPU.

Примечание

Согласно вышестоящему объявлению Kubernetes, Kubernetes не рекомендует метрики GPU, о которых сообщает kubelet, для Kubernetes версии 1.20 и выше. В результате аналитика контейнеров больше не сможет собирать следующие метрики по коробке:

  • containerGpuDutyCycle
  • containerGpumemoryTotalBytes
  • containerGpumemoryUsedBytes

Чтобы продолжить сбор метрик GPU с помощью аналитики контейнеров, перейдите к экспортеру метрик конкретного поставщика GPU до 31 декабря 2022 г. Настройте выскабливание Prometheus , чтобы получить метрики из развернутого поставщика-экспортера.

Поддерживаемые поставщики GPU

Аналитика контейнеров поддерживает мониторинг кластеров GPU от следующих поставщиков GPU:

Аналитика контейнеров автоматически начинает мониторинг использования GPU на узлах и в модулях, запрашивающих объекты pod и рабочие нагрузки GPU, собирая следующие метрики с 60-секундными интервалами и сохраняя их в таблице InsightMetrics .

Примечание

После подготовки кластеров с узлами GPU убедитесь, что драйвер GPU установлен в соответствии с требованиями Служба Azure Kubernetes (AKS) для выполнения рабочих нагрузок GPU. Аналитика контейнеров собирает метрики GPU с помощью объектов pod для драйвера GPU, выполняющихся в узле.

Имя метрики Измерение метрики (теги) Описание
containerGpuDutyCycle* container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor Процент времени за последний период выборки (60 секунд), в течение которого GPU был занят или активно обрабатывался для контейнера. Рабочий цикл указывается как число в диапазоне от 1 до 100.
containerGpuLimits container.azm.ms/clusterId, container.azm.ms/clusterName, containerName Для каждого контейнера можно задавать ограничения, касающиеся одного GPU или нескольких GPU. Невозможно запросить или ограничить часть GPU.
containerGpuRequests container.azm.ms/clusterId, container.azm.ms/clusterName, containerName Каждый контейнер может запрашивать один GPU или несколько GPU. Невозможно запросить или ограничить часть GPU.
containerGpumemoryTotalBytes* container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor Объем памяти GPU в байтах, доступный для использования для определенного контейнера.
containerGpumemoryUsedBytes* container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor Объем памяти GPU в байтах, используемый определенным контейнером.
nodeGpuAllocatable container.azm.ms/clusterId, container.azm.ms/clusterName, gpuVendor Количество GPU в узле, которые могут использоваться Kubernetes.
nodeGpuCapacity container.azm.ms/clusterId, container.azm.ms/clusterName, gpuVendor Общее количество GPU в узле.

* В соответствии с вышестоящими изменениями Kubernetes эти метрики больше не собираются из коробки. В качестве временного исправления для AKS обновите пул узлов GPU до последней версии или *-2022.06.08 или выше. Для Kubernetes с поддержкой Azure Arc включите шлюз DisableAcceleratorUsageMetrics=false функций в конфигурации kubelet узла и перезапустите kubelet. После того как вышестоящие изменения станут общедоступными, это исправление больше не будет работать. Запланируйте переход на использование экспортера метрик конкретного поставщика GPU до 31 декабря 2022 г.

Диаграммы производительности GPU

Аналитика контейнеров включает предварительно настроенные диаграммы для метрик, перечисленных ранее в таблице, в виде книги GPU для каждого кластера. Описание книг, выпущенных для аналитики контейнеров, см. в статье Книги в аналитике контейнеров.

Дальнейшие действия