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


Устранение неполадок с высокой загрузкой ЦП в кластерах AKS

Высокая загрузка ЦП является симптомом одного или нескольких приложений или процессов, требующих так много времени ЦП, что производительность или удобство использования компьютера влияет. Высокая загрузка ЦП может выполняться различными способами, но она в основном вызвана конфигурацией пользователя.

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

В этой статье показано, как определить узлы и контейнеры, использующие высокий объем ЦП, и рекомендации по устранению высокой загрузки ЦП.

Симптомы

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

Симптом Description
Голодание ЦП Приложения с большим объемом ЦП замедляют работу других приложений на одном узле.
Медленные изменения состояния Модули Pod могут занять больше времени, чтобы подготовиться.
Состояние узла NotReady Узел вводит состояние NotReady . Эта проблема возникает, так как контейнер с высоким потреблением ЦП приводит к тому, что средство командной строки Kubectl не отвечает.

Контрольный список по устранению неполадок

Чтобы устранить высокую загрузку ЦП, используйте эффективные средства мониторинга и применяйте рекомендации.

Шаг 1. Определение узлов и контейнеров с высоким потреблением ЦП

Используйте любой из следующих методов для идентификации узлов и контейнеров с высоким уровнем использования ЦП:

  • В веб-браузере используйте функцию Аналитики контейнеров AKS в портал Azure.

  • В консоли используйте средство командной строки Kubernetes (kubectl).

Container Insights — это функция в AKS. Он предназначен для мониторинга производительности рабочих нагрузок контейнеров. Вы можете использовать аналитику контейнеров для идентификации узлов, контейнеров или модулей pod, которые используют высокий объем ЦП.

Чтобы определить узлы, контейнеры или модули pod, которые управляют высоким уровнем использования ЦП, выполните следующие действия.

  1. Перейдите к кластеру из портал Azure.

  2. В разделе Мониторинг выберите Аналитические сведения.

    Снимок экрана: мониторинг в разделе

  3. Задайте соответствующий диапазон времени.

    Снимок экрана: диапазон времени 6 часов.

  4. Найдите узлы с высоким уровнем использования ЦП и проверьте, стабильна ли загрузка ЦП узла.

    Выберите Узлы. Задайте для метрики значение "Использование ЦП" (милликоры), а затем задайте для примера значение Max. Используйте функцию сортировки в max, чтобы упорядочить узлы по Max%. Узлы с наибольшим потреблением ЦП отображаются в верхней части.

    На следующем снимке экрана узел использует только 12 % максимального ЦП и работает в течение 16 дней.

    Снимок экрана: узлы в разделе

  5. После поиска узлов с высоким уровнем использования ЦП выберите узлы, чтобы найти модули pod на них и их использование ЦП.

    Снимок экрана: параметр

    Примечание.

    Процент использования ЦП или памяти для модулей pod зависит от запроса ЦП, указанного для контейнера. Он не представляет процент использования ЦП или памяти для узла. Таким образом, обратите внимание на фактическое использование ЦП или памяти, а не процент использования ЦП или памяти для модулей pod.

    Получив список модулей pod с высоким уровнем использования ЦП, вы можете сопоставить его с приложениями, которые вызывают всплеск использования ЦП.

Шаг 2. Ознакомьтесь с рекомендациями, чтобы избежать высокой загрузки ЦП

Ознакомьтесь со следующей таблицей, чтобы узнать, как реализовать рекомендации по предотвращению высокой загрузки ЦП:

Рекомендация Description
Настройка соответствующих ограничений для контейнеров Kubernetes позволяет определять запросы и ограничения ресурсов для контейнеров. Запросы и ограничения ресурсов представляют минимальный и максимальный объем ресурсов, которые может использовать контейнер. Мы рекомендуем задать соответствующие запросы и ограничения, чтобы выбрать соответствующий класс Kubernetes Quality of Service (QoS) для каждого модуля pod.
Включение средства горизонтального автомасштабирования pod (HPA) Настройка соответствующих ограничений вместе с включением HPA может помочь в устранении проблем с высокой загрузкой ЦП.
Выбор виртуальных машин с более высоким уровнем SKU Для обработки больших рабочих нагрузок ЦП используйте виртуальные машины с более высокими SKU. Для этого создайте новый пул узлов, заблокируйте узлы, чтобы предотвратить планирование, и очистите существующий пул узлов.
Изоляция системных и пользовательских рабочих нагрузок Рекомендуется создать отдельный пул узлов (отличный от пула агентов) для выполнения рабочих нагрузок. Это может предотвратить перегрузку пула системных узлов и повысить производительность.

Ссылки

Свяжитесь с нами для получения помощи

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