Запуск мониторинга Kubernetes/OpenShift

Материал из Документация Ключ-АСТРОМ

Есть разные способы активировать Ключ-АСТРОМ в Kubernetes/Openshift/OKD. Каждый способ имеет свои преимущества. Мы рекомендуем эти стратегии развертывания с точки зрения полноты функций и отсутствия ограничений.

Вы можете перейти с устаревшего оператора ЕдиныйАгент на новый оператор Ключ-АСТРОМ, который управляет жизненным циклом нескольких компонентов Ключ-АСТРОМ, таких как ЕдиныйАгент, маршрутизация и монитор API Kubernetes. Инструкции по миграции см. в разделе Миграция с оператора ЕдиныйАгент на оператор Ключ-АСТРОМ в Kubernetes/OpenShift/OKD с помощью kubectl/oc .

Классическое инжектирование полного стека (Classic full-stack)

Рекомендации:

Руководство по установке см. в разделе Настройка мониторинга Kubernetes .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift/OKD с помощью Helm .

Возможности и ограничения

Возможности:

  • Бесшовная интеграция с хостом (узлом Kubernetes). Инструментированные модули сохраняют свои таксономические отношения с хостами и метриками хостов. Агенты хоста дополняют модули кода обнаружением OOM, мониторингом дисков и хранилищ, мониторингом сети и т. д.
  • Всесторонность. Этот комплексный подход включает в себя мониторинг кластера Kubernetes, распределенную трассировку, изоляцию домена сбоя и глубокое понимание на уровне кода с использованием единой конфигурации развертывания для ваших кластеров.

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

Развернутые ресурсы

Ключ-АСТРОМ Operator управляет классической инъекцией полного стека после развертывания следующих ресурсов.

  • ЕдиныйАгент , развернутый как DaemonSet, собирает метрики хоста с узлов Kubernetes. Он также обнаруживает новые контейнеры и внедряет модули кода ЕдиныйАгент в модули приложений.
  • Ключ-АСТРОМ АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.
  • Сервер веб-перехватчиков Ключ-АСТРОМ проверяет правильность определений Dynakube.

Kub1.png

Примечание. Для классического внедрения полного стека требуется доступ на запись из модуля ЕдиныйАгент к файловой системе узла Kubernetes для обнаружения и внедрения во вновь развернутые контейнеры.

Облачное внедрение полного стека (Cloud full-stack)

Руководство по установке см. в разделе Настройка мониторинга Kubernetes .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .

Возможности и ограничения

Возможности:

  • Предлагает аналогичную функциональность, как классическое внедрение полного стека (см. ограничения ниже).
  • Использует изменяющиеся веб-перехватчики для внедрения модулей кода в модули приложений.

Ограничения:

  • Файлы диагностики ("архивы поддержки") для модулей приложений пока не поддерживаются.
  • Правила мониторинга контейнеров пока не поддерживаются (параметр селектора меток Dynakube предоставляет аналогичную функциональность).
  • Сетевые зоны пока не поддерживаются.
  • Трассировка дополнительных модулей Istio и входных шлюзов, а также любых других экземпляров прокси-сервера Envoy не поддерживается.

Развернутые ресурсы

Ключ-АСТРОМ Operator управляет облачной инъекцией полного стека после развертывания следующих развернутых ресурсов.

  • ЕдиныйАгент , развернутый как DaemonSet, собирает метрики хоста с узлов Kubernetes.
  • Сервер веб-перехватчиков Ключ-АСТРОМ изменяет определения модулей, чтобы включить модули кода Ключ-АСТРОМ для наблюдения за приложениями.
  • Драйвер Ключ-АСТРОМ CSI, развернутый как DaemonSet, предоставляет доступное для записи хранилище томов для ЕдиныйАгент и двоичных файлов ЕдиныйАгент для модулей.
  • Ключ-АСТРОМ АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.

Kub2.png

Мониторинг хоста

Руководство по установке см. в разделе Настройка мониторинга Kubernetes .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .

Возможности и ограничения

Возможности: собирает метрики узлов и обрабатывает данные.

Ограничения. Диагностические файлы («архивы поддержки») для модулей приложений еще не поддерживаются для файловых систем, доступных только для чтения.

Развернутые ресурсы

Ключ-АСТРОМ Operator управляет мониторингом хоста после развертывания следующих развернутых ресурсов:

  • Сервер веб-перехватчиков Ключ-АСТРОМ только проверяет DynaKube и проверяет его правильность, не изменяя определения модулей.
  • Драйвер Ключ-АСТРОМ CSI обеспечивает доступное для записи объемное хранилище для ЕдиныйАгент.
  • Ключ-АСТРОМ АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.

Kub3.png

Мониторинг только приложений (Application only): автоматический ввод

Вы можете использовать стратегию внедрения только для приложений для модулей приложений. Вы не устанавливаете модули ЕдиныйАгент и не можете собирать метрики узлов с узлов Kubernetes. Вы можете собирать альтернативные метрики узлов из других источников, таких как Prometheus .

Руководство по установке см. в разделе Автоматическая инъекция только для приложений .

Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .

Возможности и ограничения

Возможности:

  • Он разработан для Kubernetes. Ключ-АСТРОМ внедряет данные в модули с помощью контроллера допуска Kubernetes, который внедряет модуль кода Ключ-АСТРОМ в контейнеры приложений.
  • Гибкость. Вы получаете детальный контроль над инструментированными модулями с помощью пространств имен и аннотаций. Вы можете легко направлять метрики pod в разные среды Ключ-АСТРОМ в одном кластере Kubernetes.

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

Развернутые ресурсы

Ключ-АСТРОМ Operator управляет автоматическим инжектированием только для приложений после развертывания следующих ресурсов.

  • Сервер веб-перехватчиков Ключ-АСТРОМ изменяет определения модулей, чтобы включить модули кода Ключ-АСТРОМ для наблюдения за приложениями.
  • Ключ-АСТРОМ АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.

Kub4.png

Мониторинг только приложений (Application only): внедрение модуля во время выполнения

Вы можете использовать стратегию внедрения только для приложений для модулей приложений. Вы не устанавливаете модули ЕдиныйАгент и не можете собирать метрики узлов с узлов Kubernetes. Вы можете собирать альтернативные метрики узлов из других источников, таких как Prometheus .

Руководство по установке см . в разделе Внедрение пода во время выполнения .

Возможности

  • Это родной Kubernetes. Модули кода Ключ-АСТРОМ внедряются в модули с помощью контейнеров инициализации Kubernetes.
  • Гибкость. Различные образы контейнеров могут содержать отдельные конфигурации для разных сред Ключ-АСТРОМ.

Kub5.png

Мониторинг только приложений (Application only): внедрение контейнера во время сборки

Вы можете использовать стратегию внедрения только для приложений для модулей приложений. Вы не устанавливаете модули ЕдиныйАгент и не можете собирать метрики узлов с узлов Kubernetes. Вы можете собирать альтернативные метрики узлов из других источников, таких как Prometheus .

Руководство по установке см. в разделе Внедрение контейнера во время сборки .

Возможности

  • Он имеет инъекцию статического контейнера. Модули кода Ключ-АСТРОМ встраиваются в образы контейнеров по мере их создания.
  • Он гибкий. Различные образы контейнеров могут содержать отдельные конфигурации для разных сред Ключ-АСТРОМ. Вы можете использовать эти образы на любой контейнерной платформе или PaaS в дополнение к Kubernetes.

Kub6.png

Классическое ручное инжектирование полного стека

Вы можете использовать классическую стратегию ручного внедрения полного стека для ручного развертывания ЕдиныйАгент DaemonSet и Kubernetes API без оператора Ключ-АСТРОМ.

Требования к хранению

В следующей таблице показаны требования к хранилищу для типов развертывания Ключ-АСТРОМ Operator.

Тип развертывания Без драйвера CSI С драйвером CSI1 С драйвером CSI и изображением кодовых модулей
classicFullStack ~1,3 ГБ для конфигурации/бинарных файлов ЕдиногоАгента2 (непосредственно на узле) неприменимо неприменимо
hostMonitoring ~1,3 ГБ для конфигурации/бинарных файлов ЕдиныйАгент2 (непосредственно на узле) ~1,3 ГБ для конфигурации/бинарных файлов ЕдиныйАгент2 (на узле, управляемом драйвером CSI) неприменимо
applicationMonitoring ~650 МБ на отслеживаемый модуль3 (во временном хранилище, непосредственно на модуле) - ~650 МБ на одного арендатора и работающей версии ЕдиногоАгента4

- ~0,2 МБ (и логи во время выполнения) на внедренный модуль

- ~650 МБ на работающий версии ЕдиногоАгента4

- ~0,2 МБ (и журналы во время выполнения) на внедренный модуль

cloudNativeFullStack неприменимо (требуется драйвер CSI) Комбинация из следующего:

- hostMonitoringс драйвером CSI - applicationMonitoringс драйвером CSI

Комбинация из следующего:

- hostMonitoringс драйвером CSI - applicationMonitoringс драйвером CSI и образом модулей кода

1 Используется для поддержки файловой системы только для чтения (по умолчанию для мониторинга узлов и облачных развертываний с полным стеком).

2 Новые версии ЕдиногоАгента перезаписывают старые версии ЕдиногоАгента.

3 Если модуль уничтожен, ЕдиныйАгент автоматически удаляется.

4 Сборщик мусора удаляет старые версии ЕдиногоАгента, которые больше не используются, в течение 60 минут.

OKD

Обратите внимания на особенности мониторинга OKD.

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

1)   Убедитесь, что на нодах, на которых будет развернут оператор SELinux переведен в режим permissive.