Переход с классического полнофункционального стека на облачный полнофункциональный стек
Ключ-АСТРОМ Operator версии 1.0.0+
В этом руководстве описываются шаги, необходимые для миграции вашего развертывания Ключ-АСТРОМ из классического полнофункционального стека в облачный полнофункциональный режим.
Преимущества
Облачный режим развертывания полного стека представляет собой значительный шаг вперед в области безопасности, используя облачные методы для внедрения ЕдиногоАгента. Этот подход устраняет два ключевых ограничения, присущих традиционному полностековому режиму:
- Облачный полностековый режим предотвращает возникновение состояний гонки, которые могут возникнуть при одновременном запуске модулей ЕдиногоАгента DaemonSet и контролируемых модулей приложений.
- Используя такие концепции Kubernetes, как веб-перехватчики допуска и драйвер CSI для внедрения модуля кода, облачный полнофункциональный мониторинг сокращает требуемые привилегии для ЕдиногоАгента.
Предположения и последствия
- При переходе на полнофункциональный облачный мониторинг ранее развёрнутые ЕдиныеАгенты будут деактивированы, а глубокий мониторинг приложений прекратится. Следовательно, перезапуск всех модулей приложений, требующих глубокого мониторинга, станет обязательным. Перезапуск этих модулей обеспечит повторное включение приложений, что позволит возобновить глубокий мониторинг.
- В облачном режиме полного стека идентификаторы хостов определяются по-разному, что приводит к временному присутствию как новых, так и старых хостов на экранах списка хостов. Сущности старых хостов и связанные с ними данные следуют политике хранения данных, установленной Ключ-АСТРОМ, оставаясь доступными в течение указанного времени.
- В облачном режиме полного стека правила мониторинга контейнеров игнорируются. Вместо этого следует использовать селекторы меток для точного управления внедрением ЕдиногоАгента.
Переход на облачный полнофункциональный стек
В этом разделе представлена вся информация, необходимая для перехода из классического в облачный полнофункциональный режим.
| Использование среды выполнения контейнера CRI-O
Стандартная процедура перехода, описанная ниже, требует ЕдиныйАгент версии 1.281 или выше для кластеров Kubernetes, использующих CRI-O в качестве среды выполнения контейнера, поэтому вам необходимо обновить ЕдиныеАгенты соответствующим образом, прежде чем продолжить выполнение следующих шагов. Если это обновление выполнить невозможно, следуйте процедуре Запуск CRI-O с OneAgent версии 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: hostGroup: <host-group> classicFullStack: {} 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> cloudNativeFullStack: {} activeGate: capabilities: - routing - kubernetes-monitoring - astromkey-api |
Для получения дополнительной информации о настройке DynaKube для облачного режима полного стека см. сравнение ниже, руководство по развертыванию или параметры DynaKube. Вы также можете загрузить пример пользовательского ресурса DynaKube для облачного режима полного стека с GitHub и адаптировать его в соответствии со своими требованиями.
3. Примените пользовательский ресурс DynaKube:
Выполните команду ниже, чтобы применить пользовательский ресурс DynaKube. Веб-хук проверки предоставит полезные сообщения об ошибках в случае возникновения проблем.
| kubectl apply -f dynakube.yaml |
Это действие приведет к удалению ЕдиныхАгентов в классическом полнофункциональном режиме и вскоре после этого приведет к прекращению глубокого мониторинга модулей приложений.
4. Дождитесь готовности ЕдиныхАгентов:
Ключ-АСТРОМ Operator примет изменения в пользовательском ресурсе 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
|
|
|