Переход с классического полнофункционального режима на режим мониторинга приложений

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

Ключ-АСТРОМ Operator версии 1.0.0+

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

Преимущества

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

  • Режим мониторинга приложений, аналогичный облачному полностековому режиму, предотвращает состояния гонки, которые могут возникнуть при одновременном запуске модулей ЕдиногоАгента DaemonSet и отслеживаемых модулей приложений.
  • Используя такие концепции Kubernetes, как веб-перехватчики допуска и драйвер CSI для внедрения модуля кода, режим мониторинга приложений снижает требуемые привилегии для ЕдиногоАгента.

Предположения и последствия

  • При переключении на мониторинг приложений ранее развёрнутые ЕдиныеАгенты будут деактивированы, а глубокий мониторинг приложений прекратится. Следовательно, перезапуск всех модулей приложений, требующих глубокого мониторинга, становится обязательным. Перезапуск этих модулей гарантирует повторное включение приложений, что позволяет возобновить глубокий мониторинг.
  • В режиме мониторинга приложений правила мониторинга контейнеров игнорируются. Вместо этого следует использовать селекторы меток для точного управления внедрением ЕдиногоАгента.
  • Для мониторинга логов требуется дополнительная настройка.

Переход в режим мониторинга приложений

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

Использование среды выполнения контейнера CRI-O

Стандартная процедура миграции, описанная ниже, требует ЕдиногоАгента версии 1.281 или выше для кластеров Kubernetes, использующих CRI-O в качестве среды выполнения контейнера, поэтому вам необходимо обновить ЕдиныеАгенты соответствующим образом, прежде чем продолжить выполнение следующих шагов.

Если это обновление выполнить невозможно, следуйте процедуре Запуск CRI-O с ЕдинымАгентом версии 1.279 или более ранней для альтернативной миграции, а затем вернитесь к шагу 1 этой процедуры.

1. рекомендуется Установка обновления с включенным драйвером CSI:

Helm Manifest

Kubernetes

Manifest

OpenShift

helm upgrade astromkey-operator oci://docker.io/astromkey/astromkey-operator \

--atomic \

--csidriver.enabled="true" \ # By default CSI driver is enabled

--namespace astromkey

kubectl apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/kubernetes-csi.yaml oc apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/openshift-csi.yaml

2. Перенастройте (существующий) DynaKube для режима мониторинга приложений:

В следующем сравнительном анализе показано, как перенастроить DynaKube CR с классического полного стека на мониторинг приложений:

Классический полностековый мониторинг Мониторинг приложений
apiVersion: astromkey.com/v1beta5

kind: DynaKube

metadata:

  name: dynakube

  namespace: astromkey

spec:

  apiUrl: https://<environment-id>.live.astromkey.com/api

  networkZone: <network-zone>

  oneAgent:

    classicFullStack:

      args:

        - "--set-host-group=<host-group>"

  activeGate:

    capabilities:

      - routing

      - kubernetes-monitoring

      - astromkey-api

apiVersion: astromkey.com/v1beta5

kind: DynaKube

metadata:

  name: dynakube

  namespace: astromkey

spec:

  apiUrl: https://<environment-id>.live.astromkey.com/api

  networkZone: <network-zone>

  oneAgent:

    hostGroup: <host-group>

    applicationMonitoring: {}

  activeGate:

    capabilities:

      - routing

      - kubernetes-monitoring

      - astromkey-api

Дополнительную информацию о настройке DynaKube для режима мониторинга приложений см. в руководстве по развертыванию или параметрах DynaKube. Вы также можете загрузить пример пользовательского ресурса DynaKube для мониторинга приложений с GitHub и адаптировать его в соответствии со своими требованиями.

3. Примените пользовательский ресурс DynaKube:

Выполните команду ниже, чтобы применить пользовательский ресурс DynaKube. Веб-хук проверки предоставит полезные сообщения об ошибках в случае возникновения проблем.

kubectl apply -f dynakube.yaml

Это действие приведет к удалению ЕдиныхАгентов в классическом полнофункциональном режиме и вскоре после этого приведет к прекращению глубокого мониторинга модулей приложений.

4. Дождитесь готовности модулей кода:

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

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

5. Перезапуск рабочих нагрузок приложений:

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

Запуск CRI-O с ЕдинымАгентом версии 1.279 или более ранней

В этом разделе описывается процедура перехода для кластеров Kubernetes, использующих среду выполнения контейнера CRI-O и работающих под управлением ЕдиногоАгента версии 279 или более ранней.

Необходимо удалить хуки CRI-O, установленные и используемые для внедрения ЕдиногоАгента в классическом полностековом режиме. Подробнее о хуках CRI-O см. в этой публикации в блоге Red Hat.

Пошаговая инструкция

Для успешного перехода из классического полнофункционального режима следуйте этим инструкциям:

1. Удалите пользовательский ресурс DynaKube:

Удалите DynaKube, настроенный в классическом полностековом режиме, выполнив следующую команду:

kubectl delete dynakube -n astromkey <dynakube-name>
  • Это действие приведёт к удалению ЕдиныхАгентов в классическом полнофункциональном режиме и, как следствие, к прекращению глубокого мониторинга модулей приложений. Кроме того, если мониторинг Kubernetes настроен в пользовательском ресурсе DynaKube, мониторинг Kubernetes мгновенно прекратится после удаления АктивногоШлюза.

2. Дождитесь завершения работы модулей ЕдиногоАгента.

3. Запустить скрипт удаления:

Выполните скрипт uninstall.sh на каждом узле, ранее отслеживаемом ЕдинымАгентом, чтобы удалить упомянутые хуки CRI-O:

/opt/astromkey/oneagent/agent/uninstall.sh

4. Продолжайте с шага 1 стандартной процедуры миграции.

Изменения в ресурсах Kubernetes

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

Компонент Класический полный стек Мониторинг приложений
ЕдиныйАгент
  • Развернут как DaemonSet
  • Собирает метрики хоста на узлах
  • Внедрение модулей кода в модули приложения
  • Не поддерживается
Сервер Ключ-АСТРОМ Webhook
  • Проверяет определения DynaKube
  • Проверяет определения DynaKube
  • Внедрение модулей кода в модули приложения путем изменения определений модулей.
Драйвер Ключ-АСТРОМ Operator CSI

необходимо

  • Не поддерживается
  • Развернут как DaemonSet
  • Оптимизирует загрузку модулей кода для ускорения внедрения pod и снижения потребления хранилища.