Переход с классического полнофункционального режима на режим мониторинга приложений
Ключ-АСТРОМ 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, изменяя их функции или добавляя новые компоненты для поддержки режима мониторинга приложений. Ключевые изменения включают:
| Компонент | Класический полный стек | Мониторинг приложений |
|---|---|---|
| ЕдиныйАгент |
|
|
| Сервер Ключ-АСТРОМ Webhook |
|
|
| Драйвер Ключ-АСТРОМ Operator CSI
|
|
|