Запуск мониторинга Kubernetes/OpenShift: различия между версиями
ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
Есть разные способы активировать Ключ-АСТРОМ в Kubernetes/Openshift/OKD. Каждый способ имеет свои преимущества. Мы рекомендуем эти стратегии развертывания с точки зрения полноты функций и отсутствия ограничений. | |||
Вы можете перейти с устаревшего оператора ЕдиныйАгент на новый оператор Ключ-АСТРОМ, который управляет жизненным циклом нескольких компонентов Ключ-АСТРОМ, таких как ЕдиныйАгент, маршрутизация и монитор API Kubernetes. Инструкции по миграции см. в разделе Миграция с оператора ЕдиныйАгент на оператор Ключ-АСТРОМ в Kubernetes/OpenShift/OKD с помощью kubectl/oc . | |||
== Классическое инжектирование полного стека (Classic full-stack) == | |||
''Рекомендации'': | |||
Руководство по установке см. в разделе Настройка мониторинга Kubernetes . | |||
'''Примечание.''' Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift/OKD с помощью Helm . | |||
=== Возможности и ограничения === | |||
'''Возможности:''' | |||
* | * Бесшовная интеграция с хостом (узлом Kubernetes). Инструментированные модули сохраняют свои таксономические отношения с хостами и метриками хостов. Агенты хоста дополняют модули кода обнаружением OOM, мониторингом дисков и хранилищ, мониторингом сети и т. д. | ||
* | * Всесторонность. Этот комплексный подход включает в себя мониторинг кластера Kubernetes, распределенную трассировку, изоляцию домена сбоя и глубокое понимание на уровне кода с использованием единой конфигурации развертывания для ваших кластеров. | ||
'''Ограничения:''' существует зависимость запуска между контейнером, в котором развернут ЕдиныйАгент, и контейнерами приложений, которые должны быть инструментированы (например, контейнерами, в которых включен глубокий мониторинг процессов). Контейнер ЕдиногоАгента должен быть запущен, а <code>oneagenthelper</code>процесс должен быть запущен до запуска контейнера приложения, чтобы приложение могло быть правильно инструментировано. | |||
== | === Развернутые ресурсы === | ||
Ключ-АСТРОМ 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. | |||
{| class="wikitable" | |||
!Тип развертывания | |||
!Без драйвера CSI | |||
!С драйвером CSI<sup>1</sup> | |||
!С драйвером CSI и изображением кодовых модулей | |||
|- | |||
|<code>classicFullStack</code> | |||
|~1,3 ГБ для конфигурации/бинарных файлов ЕдиногоАгента<sup>2</sup> (непосредственно на узле) | |||
|неприменимо | |||
|неприменимо | |||
|- | |||
|<code>hostMonitoring</code> | |||
|~1,3 ГБ для конфигурации/бинарных файлов ЕдиныйАгент<sup>2</sup> (непосредственно на узле) | |||
|~1,3 ГБ для конфигурации/бинарных файлов ЕдиныйАгент<sup>2</sup> (на узле, управляемом драйвером CSI) | |||
|неприменимо | |||
|- | |||
|<code>applicationMonitoring</code> | |||
|~650 МБ на отслеживаемый модуль<sup>3</sup> (во временном хранилище, непосредственно на модуле) | |||
| - ~650 МБ на одного арендатора и работающей версии ЕдиногоАгента<sup>4</sup> | |||
- ~0,2 МБ (и логи во время выполнения) на внедренный модуль | |||
| - ~650 МБ на работающий версии ЕдиногоАгента<sup>4</sup> | |||
- ~0,2 МБ (и журналы во время выполнения) на внедренный модуль | |||
|- | |||
|<code>cloudNativeFullStack</code> | |||
|неприменимо (требуется драйвер CSI) | |||
|Комбинация из следующего: | |||
- <code>hostMonitoring</code>с драйвером CSI | |||
- <code>applicationMonitoring</code>с драйвером CSI | |||
|Комбинация из следующего: | |||
- <code>hostMonitoring</code>с драйвером CSI | |||
- <code>applicationMonitoring</code>с драйвером CSI и образом модулей кода | |||
|} | |||
<sup>1</sup> Используется для поддержки файловой системы только для чтения (по умолчанию для мониторинга узлов и облачных развертываний с полным стеком). | |||
<sup>2</sup> Новые версии ЕдиногоАгента перезаписывают старые версии ЕдиногоАгента. | |||
<sup>3</sup> Если модуль уничтожен, ЕдиныйАгент автоматически удаляется. | |||
<sup>4</sup> Сборщик мусора удаляет старые версии ЕдиногоАгента, которые больше не используются, в течение 60 минут. | |||
== OKD == | |||
Обратите внимания на особенности мониторинга OKD. | |||
В связи с особенностями работы операционной системы на которой развернут OKD кластер, необходимо убедиться, что все необходимые пререквизиты выполнены: | |||
1) Убедитесь, что на нодах, на которых будет развернут оператор '''SELinux''' переведен в режим '''permissive'''. |
Текущая версия на 12:02, 19 декабря 2023
Есть разные способы активировать Ключ-АСТРОМ в 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.
Примечание. Для классического внедрения полного стека требуется доступ на запись из модуля ЕдиныйАгент к файловой системе узла Kubernetes для обнаружения и внедрения во вновь развернутые контейнеры.
Облачное внедрение полного стека (Cloud full-stack)
Руководство по установке см. в разделе Настройка мониторинга Kubernetes .
Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .
Возможности и ограничения
Возможности:
- Предлагает аналогичную функциональность, как классическое внедрение полного стека (см. ограничения ниже).
- Использует изменяющиеся веб-перехватчики для внедрения модулей кода в модули приложений.
Ограничения:
- Файлы диагностики ("архивы поддержки") для модулей приложений пока не поддерживаются.
- Правила мониторинга контейнеров пока не поддерживаются (параметр селектора меток Dynakube предоставляет аналогичную функциональность).
- Сетевые зоны пока не поддерживаются.
- Трассировка дополнительных модулей Istio и входных шлюзов, а также любых других экземпляров прокси-сервера Envoy не поддерживается.
Развернутые ресурсы
Ключ-АСТРОМ Operator управляет облачной инъекцией полного стека после развертывания следующих развернутых ресурсов.
- ЕдиныйАгент , развернутый как DaemonSet, собирает метрики хоста с узлов Kubernetes.
- Сервер веб-перехватчиков Ключ-АСТРОМ изменяет определения модулей, чтобы включить модули кода Ключ-АСТРОМ для наблюдения за приложениями.
- Драйвер Ключ-АСТРОМ CSI, развернутый как DaemonSet, предоставляет доступное для записи хранилище томов для ЕдиныйАгент и двоичных файлов ЕдиныйАгент для модулей.
- Ключ-АСТРОМ АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.
Мониторинг хоста
Руководство по установке см. в разделе Настройка мониторинга Kubernetes .
Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .
Возможности и ограничения
Возможности: собирает метрики узлов и обрабатывает данные.
Ограничения. Диагностические файлы («архивы поддержки») для модулей приложений еще не поддерживаются для файловых систем, доступных только для чтения.
Развернутые ресурсы
Ключ-АСТРОМ Operator управляет мониторингом хоста после развертывания следующих развернутых ресурсов:
- Сервер веб-перехватчиков Ключ-АСТРОМ только проверяет DynaKube и проверяет его правильность, не изменяя определения модулей.
- Драйвер Ключ-АСТРОМ CSI обеспечивает доступное для записи объемное хранилище для ЕдиныйАгент.
- Ключ-АСТРОМ АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.
Мониторинг только приложений (Application only): автоматический ввод
Вы можете использовать стратегию внедрения только для приложений для модулей приложений. Вы не устанавливаете модули ЕдиныйАгент и не можете собирать метрики узлов с узлов Kubernetes. Вы можете собирать альтернативные метрики узлов из других источников, таких как Prometheus .
Руководство по установке см. в разделе Автоматическая инъекция только для приложений .
Примечание. Если вы предпочитаете использовать Helm, см . раздел Настройка мониторинга Kubernetes/OpenShift с помощью Helm .
Возможности и ограничения
Возможности:
- Он разработан для Kubernetes. Ключ-АСТРОМ внедряет данные в модули с помощью контроллера допуска Kubernetes, который внедряет модуль кода Ключ-АСТРОМ в контейнеры приложений.
- Гибкость. Вы получаете детальный контроль над инструментированными модулями с помощью пространств имен и аннотаций. Вы можете легко направлять метрики pod в разные среды Ключ-АСТРОМ в одном кластере Kubernetes.
Ограничения. При развертывании в режиме только для приложений ЕдиныйАгент отслеживает память, диск, ЦП и сетевые процессы только внутри контейнера. Показатели хоста не отслеживаются. Топология ограничена модулями и контейнерами.
Развернутые ресурсы
Ключ-АСТРОМ Operator управляет автоматическим инжектированием только для приложений после развертывания следующих ресурсов.
- Сервер веб-перехватчиков Ключ-АСТРОМ изменяет определения модулей, чтобы включить модули кода Ключ-АСТРОМ для наблюдения за приложениями.
- Ключ-АСТРОМ АктивныйШлюз используется для маршрутизации, а также для мониторинга объектов Kubernetes путем сбора данных (метрики, события, статус) из Kubernetes API.
Мониторинг только приложений (Application only): внедрение модуля во время выполнения
Вы можете использовать стратегию внедрения только для приложений для модулей приложений. Вы не устанавливаете модули ЕдиныйАгент и не можете собирать метрики узлов с узлов Kubernetes. Вы можете собирать альтернативные метрики узлов из других источников, таких как Prometheus .
Руководство по установке см . в разделе Внедрение пода во время выполнения .
Возможности
- Это родной Kubernetes. Модули кода Ключ-АСТРОМ внедряются в модули с помощью контейнеров инициализации Kubernetes.
- Гибкость. Различные образы контейнеров могут содержать отдельные конфигурации для разных сред Ключ-АСТРОМ.
Мониторинг только приложений (Application only): внедрение контейнера во время сборки
Вы можете использовать стратегию внедрения только для приложений для модулей приложений. Вы не устанавливаете модули ЕдиныйАгент и не можете собирать метрики узлов с узлов Kubernetes. Вы можете собирать альтернативные метрики узлов из других источников, таких как Prometheus .
Руководство по установке см. в разделе Внедрение контейнера во время сборки .
Возможности
- Он имеет инъекцию статического контейнера. Модули кода Ключ-АСТРОМ встраиваются в образы контейнеров по мере их создания.
- Он гибкий. Различные образы контейнеров могут содержать отдельные конфигурации для разных сред Ключ-АСТРОМ. Вы можете использовать эти образы на любой контейнерной платформе или PaaS в дополнение к Kubernetes.
Классическое ручное инжектирование полного стека
Вы можете использовать классическую стратегию ручного внедрения полного стека для ручного развертывания ЕдиныйАгент 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) | Комбинация из следующего:
- |
Комбинация из следующего:
- |
1 Используется для поддержки файловой системы только для чтения (по умолчанию для мониторинга узлов и облачных развертываний с полным стеком).
2 Новые версии ЕдиногоАгента перезаписывают старые версии ЕдиногоАгента.
3 Если модуль уничтожен, ЕдиныйАгент автоматически удаляется.
4 Сборщик мусора удаляет старые версии ЕдиногоАгента, которые больше не используются, в течение 60 минут.
OKD
Обратите внимания на особенности мониторинга OKD.
В связи с особенностями работы операционной системы на которой развернут OKD кластер, необходимо убедиться, что все необходимые пререквизиты выполнены:
1) Убедитесь, что на нодах, на которых будет развернут оператор SELinux переведен в режим permissive.