Рекомендации по мониторингу Kubernetes с помощью Azure Monitor

В этой статье приведены рекомендации по мониторингу работоспособности и производительности кластеров Kubernetes с поддержкой Azure Arc и Служба Azure Kubernetes (AKS). Руководство основано на пяти основных принципах архитектуры, описанных в Azure Well-Architected Framework.

Надежность

Мы подтверждаем, что в облачной среде возникают сбои. Вместо того чтобы пытаться предотвратить все возможные сбои, нужно свести к минимуму воздействие сбоя каждого отдельного компонента. Используйте следующие сведения, чтобы лучше всего использовать Azure Monitor, чтобы обеспечить надежность кластеров Kubernetes и среды мониторинга.

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

  • Включите очистку метрик Prometheus для кластера.
  • Включите аналитику контейнеров для сбора журналов и данных о производительности из кластера.
  • Создайте параметры диагностики для сбора журналов плоскости управления для кластеров AKS.
  • Включите рекомендуемые оповещения Prometheus.
  • Обеспечение доступности рабочей области Log Analytics, поддерживающей аналитику контейнеров.

Рекомендации по настройке

Рекомендация Преимущества
Включите очистку метрик Prometheus для кластера. Включите Prometheus в кластере с управляемой службой Azure Monitor для Prometheus, если у вас еще нет среды Prometheus. Используйте Управляемый Grafana Azure для анализа собранных данных Prometheus. См. статью "Настройка очистки метрик Prometheus" в управляемой службе Azure Monitor для Prometheus , чтобы получить дополнительные метрики за пределами конфигурации по умолчанию.
Включите аналитику контейнеров для сбора журналов и данных о производительности из кластера. Аналитика контейнеров собирает журналы stdout/stderr, метрики производительности и события Kubernetes из каждого узла в кластере. Он предоставляет панели мониторинга и отчеты для анализа этих данных, включая доступность узлов и других компонентов. Используйте Log Analytics для выявления ошибок доступности в собранных журналах.
Создайте параметры диагностики для сбора журналов плоскости управления для кластеров AKS. AKS реализует журналы плоскостей управления в качестве журналов ресурсов в Azure Monitor. Создайте параметр диагностики для отправки этих журналов в рабочую область Log Analytics, чтобы использовать запросы журналов для выявления ошибок и проблем, влияющих на доступность.
Включите рекомендуемые оповещения Prometheus. Оповещения в Azure Monitor заранее уведомляют вас об обнаружении проблем. Начните с набора рекомендуемых правил генерации оповещений Prometheus, которые определяют наиболее распространенные проблемы с доступностью и производительностью кластера. Потенциально добавьте оповещения поиска по журналам с помощью данных, собранных аналитикой контейнеров.
Обеспечение доступности рабочей области Log Analytics, поддерживающей аналитику контейнеров. Аналитика контейнеров использует рабочую область Log Analytics. Рекомендации по обеспечению надежности рабочей области см . в рекомендациях по журналам Azure Monitor.

Безопасность

Безопасность является одним из наиболее важных аспектов любой архитектуры. Azure Monitor предоставляет функции, которые используют как принцип минимальной привилегии, так и глубокой защиты. Используйте следующие сведения для мониторинга кластеров Kubernetes и обеспечения доступа только авторизованных пользователей к собранным данным.

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

  • Используйте проверку подлинности управляемого удостоверения для подключения кластера к аналитике контейнеров.
  • Попробуйте использовать приватный канал Azure для подключения кластера к рабочей области Azure Monitor с помощью частной конечной точки.
  • Используйте аналитику трафика для мониторинга сетевого трафика в кластер и из нее.
  • Включите наблюдаемость сети.
  • Обеспечение безопасности рабочей области Log Analytics, поддерживающей аналитику контейнеров.

Рекомендации по настройке

Рекомендация Преимущества
Используйте проверку подлинности управляемого удостоверения для подключения кластера к аналитике контейнеров. Проверка подлинности управляемого удостоверения используется по умолчанию для новых кластеров. Если вы используете устаревшую проверку подлинности, необходимо выполнить миграцию на управляемое удостоверение , чтобы удалить локальную проверку подлинности на основе сертификатов.
Попробуйте использовать приватный канал Azure для подключения кластера к рабочей области Azure Monitor с помощью частной конечной точки. Управляемая служба Azure для Prometheus хранит свои данные в рабочей области Azure Monitor, которая использует общедоступную конечную точку по умолчанию. Подключение в общедоступные конечные точки защищены с помощью сквозного шифрования. Если требуется частная конечная точка, можно использовать приватный канал Azure, чтобы разрешить кластеру подключаться к рабочей области через авторизованные частные сети. Приватный канал также можно использовать для принудительного приема данных рабочей области через ExpressRoute или VPN.

Дополнительные сведения о настройке кластера для приватного канала см. в Приватный канал приема данных для управляемой рабочей области Prometheus и Azure Monitor. Дополнительные сведения об запросе данных с помощью приватного канала см. в статье "Использование частных конечных точек для управляемого prometheus" и рабочей области Azure Monitor.
Используйте аналитику трафика для мониторинга сетевого трафика в кластер и из нее. Аналитика трафика анализирует журналы потоков NSG Azure Наблюдатель за сетями для предоставления аналитических сведений о потоке трафика в облаке Azure. Используйте это средство, чтобы убедиться, что для кластера нет кражи данных и определить, предоставляются ли какие-либо ненужные общедоступные IP-адреса.
Включите наблюдаемость сети. Надстройка "Наблюдаемость сети" для AKS обеспечивает наблюдаемость на нескольких уровнях в сетевом стеке Kubernetes. отслеживайте и отслеживайте доступ между службами в кластере (трафик на востоке- запад).
Обеспечение безопасности рабочей области Log Analytics, поддерживающей аналитику контейнеров. Аналитика контейнеров использует рабочую область Log Analytics. Рекомендации по обеспечению безопасности рабочей области см . в рекомендациях по журналам Azure Monitor.

Оптимизация затрат

Оптимизация затрат — это способы сокращения ненужных расходов и повышения эффективности работы. Вы можете значительно сократить затраты на Azure Monitor, понимая различные параметры конфигурации и возможности для уменьшения объема собираемых данных. Ознакомьтесь с затратами и использованием Azure Monitor, чтобы понять различные способы оплаты Azure Monitor и как просмотреть ежемесячный счет.

Примечание.

Ознакомьтесь с рекомендациями по оптимизации затрат в Azure Monitor для всех функций Azure Monitor.

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

  • Не включите коллекцию аналитических сведений о контейнерах метрик Prometheus.
  • Настройте коллекцию агентов для изменения сбора данных в службе "Аналитика контейнеров".
  • Изменение параметров для сбора данных метрик с помощью аналитики контейнеров.
  • Отключите коллекцию аналитических сведений о контейнерах данных метрик, если вы не используете возможности аналитики контейнеров в портал Azure.
  • Если вы регулярно не запрашиваете таблицу журналов контейнеров или используете ее для оповещений, настройте ее в качестве базовых журналов.
  • Ограничить коллекцию журналов ресурсов, которые вам не нужны.
  • Используйте ведение журнала ресурсов для журналов ресурсов AKS и настройте таблицы в качестве базовых журналов.
  • Используйте OpenCost для сбора сведений о затратах на Kubernetes.

Рекомендации по настройке

Рекомендация Преимущества
Не включите коллекцию метрик Prometheus в рабочей области Log Analytics, если вы включили удаление метрик с помощью Prometheus. Помимо очистки метрик Prometheus из кластера с помощью управляемой службы Azure Monitor для Prometheus, вы можете настроить аналитику контейнеров для сбора метрик Prometheus в рабочей области Log Analytics. Это избыточно с данными в Managed Prometheus и приведет к дополнительным затратам.
Настройте агент для изменения сбора данных в аналитике контейнеров. Анализ данных, собранных аналитикой контейнеров, как описано в разделе "Управление приемом", чтобы снизить затраты и настроить конфигурацию, чтобы остановить сбор данных, которые вам не нужны.
Изменение параметров для сбора данных метрик с помощью аналитики контейнеров. Дополнительные сведения об изменении частоты сбора данных метрик и пространств имен, собираемых аналитикой контейнеров, см. в разделе "Включение параметров оптимизации затрат".
Отключите коллекцию аналитических сведений о контейнерах данных метрик, если вы не используете возможности аналитики контейнеров в портал Azure. Аналитика контейнеров собирает множество одинаковых значений метрик, что и Managed Prometheus. Вы можете отключить коллекцию этих метрик, настроив аналитику контейнеров только для сбора журналов и событий , как описано в разделе "Включение параметров оптимизации затрат в аналитике контейнеров". Эта конфигурация отключает возможности аналитики контейнеров в портал Azure, но вы можете использовать Grafana для визуализации метрик Prometheus и Log Analytics для анализа данных журнала, собранных аналитикой контейнеров.
Если вы регулярно не запрашиваете таблицу журналов контейнеров или используете ее для оповещений, настройте ее в качестве базовых журналов. Преобразуйте схему Аналитики контейнеров в ContainerLogV2 , которая совместима с журналами Basic и может обеспечить значительную экономию затрат, как описано в разделе "Управление приемом" для снижения затрат.
Ограничить коллекцию журналов ресурсов, которые вам не нужны. Журналы плоскости управления для кластеров AKS реализуются в виде журналов ресурсов в Azure Monitor. Создайте параметр диагностики для отправки этих данных в рабочую область Log Analytics. Сведения о том, какие категории следует собирать, см . в журналах уровня управления для кластеров AKS.
Используйте ведение журнала ресурсов для журналов ресурсов AKS и настройте таблицы в качестве базовых журналов. AKS поддерживает режим диагностика Azure или режим, зависящий от ресурса, для журналов ресурсов. Укажите журналы ресурсов, чтобы включить параметр настройки таблиц для базовых журналов, которые обеспечивают сниженную плату за прием журналов, которые запрашиваются только иногда и не используются для оповещения.
Используйте OpenCost для сбора сведений о затратах на Kubernetes. OpenCost — это проект песочницы с открытым исходным кодом, нейтральный поставщиком CNCF для понимания затрат Kubernetes и поддержки возможности видимости затрат AKS. Он экспортирует подробные данные о затратах в дополнение к ценам azure для конкретного клиента в службу хранилища Azure, чтобы помочь администратору кластера анализировать и классифицировать затраты.

Эффективность работы

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

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

  • Ознакомьтесь с рекомендациями по мониторингу всех слоев среды Kubernetes.
  • Используйте Kubernetes с поддержкой Azure Arc для мониторинга кластеров за пределами Azure.
  • Используйте управляемые службы Azure для облачных собственных средств.
  • Интеграция кластеров AKS в существующие средства мониторинга.
  • Используйте политику Azure для включения сбора данных из кластера Kubernetes.

Рекомендации по настройке

Рекомендация Преимущества
Ознакомьтесь с рекомендациями по мониторингу всех слоев среды Kubernetes. Мониторинг производительности кластера Kubernetes с помощью аналитики контейнеров включает рекомендации и рекомендации по мониторингу всей среды Kubernetes из сетевых, кластерных и приложений слоев приложений.
Используйте Kubernetes с поддержкой Azure Arc для мониторинга кластеров за пределами Azure. Kubernetes с поддержкой Azure Arc позволяет отслеживать кластеры Kubernetes, работающие в других облаках, используя те же средства, что и кластеры AKS, включая аналитику контейнеров и управляемую службу Azure Monitor для Prometheus.
Используйте управляемые службы Azure для облачных собственных средств. Управляемая служба Azure Monitor для Prometheus и Azure grafana поддерживают все функции облачных собственных средств Prometheus и Grafana без необходимости работать с базовой инфраструктурой. Эти средства можно быстро подготовить и подключить кластеры Kubernetes с минимальными затратами. Эти службы позволяют получить доступ к обширной библиотеке правил сообщества и панелей мониторинга для мониторинга среды Kubernetes.
Интеграция кластеров AKS в существующие средства мониторинга. Если у вас есть инвестиции в Prometheus и Grafana, интегрируйте кластеры AKS и управляемые службы Azure в существующую среду, используя рекомендации в кластерах Monitor Kubernetes с помощью служб Azure и облачных средств.
Используйте политику Azure для включения сбора данных из кластера Kubernetes. Используйте Политика Azure, чтобы включить сбор данных для включения метрик Prometheus, аналитики контейнеров и параметров диагностики. Это гарантирует, что все новые кластеры автоматически отслеживаются и применяют конфигурацию мониторинга.

Оптимизация производительности

Уровень производительности — это способность вашей рабочей нагрузки эффективно масштабироваться в соответствии с требованиями, предъявляемыми к ней пользователями. Используйте следующие сведения для мониторинга производительности кластеров Kubernetes и обеспечения максимальной производительности.

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

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

Рекомендации по настройке

Рекомендация Преимущества
Включите коллекцию метрик Prometheus для кластера. Prometheus — это облачное решение метрик из Cloud Native Compute Foundation и наиболее распространенное средство, используемое для сбора и анализа данных метрик из кластеров Kubernetes. Включите Prometheus в кластере с управляемой службой Azure Monitor для Prometheus, если у вас еще нет среды Prometheus. Используйте Управляемый Grafana Azure для анализа собранных данных Prometheus.

См. статью "Настройка очистки метрик Prometheus" в управляемой службе Azure Monitor для Prometheus , чтобы получить дополнительные метрики за пределами конфигурации по умолчанию.
Включите аналитику контейнеров для отслеживания производительности кластера. При включении аналитики контейнеров для кластера Kubernetes можно использовать представления и книги для отслеживания производительности компонентов кластера. Эти данные могут перекрываться данными, собранными Prometheus. Ознакомьтесь с рекомендациями по оптимизации затрат.
Включите рекомендуемые оповещения Prometheus. Оповещения в Azure Monitor заранее уведомляют вас об обнаружении проблем. Начните с набора рекомендуемых правил генерации оповещений Prometheus, которые определяют наиболее распространенные проблемы с доступностью и производительностью кластера. Потенциально добавьте оповещения поиска по журналам с помощью данных, собранных аналитикой контейнеров.

Следующий шаг