Ключ-АСТРОМ Operator: различия между версиями
(Новая страница: «== Operator == Ключ-АСТРОМ '''Operator''' управляет автоматизированным развертыванием, настройкой и...») |
(нет различий)
|
Текущая версия на 16:03, 14 ноября 2025
Operator
Ключ-АСТРОМ Operator управляет автоматизированным развертыванием, настройкой и жизненным циклом компонентов Ключ-АСТРОМ. Он использует специальные ресурсы, такие как DynaKube и EdgeConnect.
Функциональность Ключ-АСТРОМ Operator привязана к настраиваемым ресурсам. Эти ресурсы определяют, какие функции включены. При создании настраиваемого ресурса Ключ-АСТРОМ Operator запускает начальную сверку, чтобы гарантировать достижение желаемого состояния. Процесс сверки регулярно обнаруживает изменения в кластере и соответствующим образом корректирует состояние. Частота сверки снижается после первоначального развертывания, поскольку обычно вносится меньше изменений.
При запуске Ключ-АСТРОМ Operator регистрирует вебхук в Kubernetes API. В ходе каждого цикла согласования Ключ-АСТРОМ Operator проверяет изменения в пользовательских ресурсах, чтобы:
- Обновить статус пользовательских ресурсов
- Убедиться, что первоначальный запуск управляемых компонентов соответствует требованиям
- Управлять рабочими нагрузками
- Регистрировать компоненты на сервере Ключ-АСТРОМ
Эта функциональность ограничена пространством имен, в котором развернут Ключ-АСТРОМ Operator.
Пространства имен, отслеживаемые Ключ-АСТРОМ Operator, следует настраивать следующим образом:
- Пометьте пространства имен в соответствии с
namespaceSelector, чтобы веб-перехватчик мог использовать модули. - Убедитесь, что в внедряемых пространствах имен существуют предварительные условия для внедрения.
Требования к ресурсам
Конфигурация по умолчанию:
- 1 реплика на кластер
Обычно достаточно одной реплики Ключ-АСТРОМ Operator, поскольку происходит выбор лидера. Дополнительные реплики активируются только после завершения текущего лидера и выбора нового.
Контейнер Ключ-АСТРОМ Operator имеет предопределенные запросы и ограничения на использование процессора и памяти. Чтобы настроить эти значения во время развертывания с помощью Helm, отредактируйте файл values.yaml.
Конфигурация ресурсов с помощью Helm
| operator:
requests: cpu: 50m memory: 64Mi limits: cpu: 100m memory: 128Mi |
Разрешения и привилегии
Полный список ресурсов, к которым обращается Ключ-АСТРОМ Operator, доступен в документации по безопасности. Сетевой трафик и его характеристики описаны в документации по сетевому трафику .
Вебхук
Веб-хук Ключ-АСТРОМ изменяет определения Pod для внедрения модулей кода Ключ-АСТРОМ для обеспечения видимости приложения. Он также проверяет определения DynaKube и преобразует DynaKubes со старыми версиями API.
Конфигурации веб-хуков управляются Ключ-АСТРОМ Operator и периодически обновляются. Эти обновления гарантируют бесперебойную работу Kubernetes API с веб-хуком.
Ключевые функции
- Изменения Pod. Веб-перехватчик изменяет Pod, изменяя их определения и включая необходимые метаданные для обеспечения наблюдаемости приложения.
- Присоединяет контейнер Init для загрузки (в случае, если драйвер CSI не используется) и настраивает модули кода при запуске Pod.
- Присоединяет тома CSI, если они настроены, чтобы драйвер CSI мог управлять созданием томов.
- Изменяет определения Pod для обогащения метаданных.
- Мутация пространства имен. Веб-перехватчик изменяет пространства имен, чтобы обеспечить мониторинг модулей внутри этих пространств имен.
- Добавляет метки к пространствам имен, чтобы веб-перехватчик мог прослушивать события
CREATEPod. Конфигурации веб-перехватчиков поддерживают только статический селектор пространств имён. Требуемая метка добавляется к вновь создаваемым пространствам имён.
- Добавляет метки к пространствам имен, чтобы веб-перехватчик мог прослушивать события
- Проверка конфигурации
- Проверьте, содержат ли пользовательские ресурсы, такие как DynaKubes, допустимую конфигурацию при их создании или обновлении.
- Различная проверка в зависимости от полей: некоторые из них обязательны, а некоторые должны соответствовать более конкретным правилам.
- Предоставлять полезные предупреждения/сообщения об ошибках в случае неудачной проверки Проверьте параметры DynaKube и параметры EdgeConnect для получения более подробной информации по каждому полю!
- Проверьте, содержат ли пользовательские ресурсы, такие как DynaKubes, допустимую конфигурацию при их создании или обновлении.
- Конвертация между версиями
- Обеспечивает совместимость между различными версиями определений пользовательских ресурсов.
- Преобразует старые версии пользовательского ресурса в версию хранилища, понятную Ключ-АСТРОМ Operator.
Требования к ресурсам
Конфигурация по умолчанию:
- 2 реплики на кластер (можно масштабировать для повышения доступности)
В контейнере Ключ-АСТРОМ Webhook определены запросы и ограничения по умолчанию. Если вы хотите задать другие запросы или ограничения ресурсов, это можно сделать при развертывании Ключ-АСТРОМ Operator с помощью Helm.
Конфигурация ресурсов с помощью Helm
Чтобы установить ограничения ресурсов, измените values.yaml. См. конфигурацию по умолчанию ниже.
| webhook:
requests: cpu: 300m memory: 128Mi limits: cpu: 300m memory: 128Mi |
Разрешения и привилегии
Полный список ресурсов, к которым обращается вебхук, можно найти в разделе Безопасность Ключ-АСТРОМ Operator.
CSI-драйвер
Драйвер Ключ-АСТРОМ Operator CSI предоставляет модули кода Ключ-АСТРОМ для модулей приложений, минимизируя при этом использование хранилища и нагрузку на среду Ключ-АСТРОМ. Кроме того, он предоставляет записываемое томное хранилище для ЕдиногоАгента, использующее временные локальные тома.
- Для конфигураций
applicationMonitoringон предоставляет необходимый двоичный файл ЕдиногоАгента для мониторинга приложений в модулях на каждом узле в качестве монтирования только для чтения. - Для конфигураций
hostMonitoringон предоставляет доступную для записи папку для конфигураций ЕдиногоАгента, когда используется файловая система хоста, доступная только для чтения. - Для
cloudNativeFullStack, он обеспечивает оба вышеперечисленных преимущества.
Минимизирует количество загрузок, загружая модули кода один раз на каждый узел и сохраняя их в файловой системе узла.
- При использовании драйвера CSI внедрение 100 модулей, распределенных по трем узлам, приведет всего к 3 загрузкам модулей кода.
- Без драйвера CSI каждому Pod пришлось бы загружать собственные модули кода, поэтому внедрение 100 Pod привело бы к загрузке 100 модулей кода.
Минимизирует использование хранилища за счет сохранения модулей кода в файловой системе узла и создания монтирования OverlayFs для каждого внедренного Pod.
- При использовании драйвера CSI внедрение 100 модулей, распределенных по трем узлам, приведет к хранению всего лишь 3 модулей кода.
- Без драйвера CSI каждый Pod хранит модуль кода, поэтому внедрение 100 Pod приведет к хранению 100 модулей кода.
Требования к ресурсам
Конфигурация по умолчанию:
- 1 реплика на узел (развертывается через DaemonSet)
У поставщика драйвера CSI нет предопределенных ограничений ресурсов. Однако, если вы хотите установить ограничения ресурсов или изменить их для других контейнеров драйвера CSI, это можно сделать при развертывании Ключ-АСТРОМ Operator с помощью Helm.
Конфигурация ресурсов с помощью Helm
Чтобы установить ограничения ресурсов для контейнера provisioner, измените values.yaml. См. пример конфигурации ниже.
- Увеличьте загрузку ЦП для ускорения распаковки и установки модулей кода (важно для быстрого запуска и инициализации узла)
- Увеличение памяти не влияет на производительность
| provisioner:
resources: requests: cpu: 300m memory: 100Mi limits: cpu: 300m memory: 100Mi server: resources: requests: cpu: 50m memory: 100Mi limits: cpu: 50m memory: 100Mi |
Разрешения и привилегии
Драйверу Ключ-АСТРОМ Operator CSI требуются повышенные права для создания и управления монтированиями в хост-системе. В частности, разрешение mountPropagation: Bidirection необходимо для тома, где драйвер CSI хранит модули кода. Это разрешение доступно только для привилегированных контейнеров.