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

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

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

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

Симптомы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Снимок экрана: узлы под выбранным элементом Мониторинг.

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

    Снимок экрана: параметр аналитики для модулей pod под выбранным элементом Мониторинг.

    Примечание.

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

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

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

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

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

Ссылки

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

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