Argo-events#
Argo-events - это фреймворк для автоматизации событийных процессов в Kubernetes, позволяющий запускать рабочие процессы (workflows), управлять зависимостями и реагировать на события из различных источников.
Основные задачи и возможности
Событийная автоматизация:
Позволяет запускать Kubernetes-объекты, Argo Workflows, serverless-нагрузки и другие задачи в ответ на внешние или внутренние события.
Интеграция со множеством источников событий:
Поддерживает более 20 типов источников событий, таких как GitHub, Slack, AWS S3, HTTP-запросы, таймеры и другие.
Определение зависимостей между событиями:
Позволяет создавать сложные цепочки зависимостей, чтобы выполнять задачи только при выполнении определенных условий.
Основные компоненты
Включает ключевые элементы:
EventSource — источник событий;
Sensor — ожидает событие и запускает триггер;
Trigger — действие, выполняемое при наступлении события;
EventBus — шина событий для маршрутизации и управления потоками.
Работа с архитектурой Event-Driven:
Обеспечивает гибкую интеграцию с event-driven системами, что делает его удобным для построения реактивных и автоматизированных пайплайнов.
Примечание
Argo-events является инструментом по умолчанию компонента Devops и устанавливается с ним автоматически.
Конфигурация values#
Значения можно переопределить через редактирование инструмента с именем argo-events и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
nameOverride - задает альтернативное имя для релиза#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределяет |
|
fullnameOverride - задает полное альтернативное имя для всех объектов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полностью переопределяет шаблон |
|
namespaceOverride - устанавливает пространство имен для ресурсов чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Позволяет развернуть чарт в пространстве имен, отличном от |
|
openshift - режим развертывания для OpenShift#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включает особенности развертывания, необходимые для OpenShift |
|
createAggregateRoles - создание агрегированных ClusterRole#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Добавляет расширяющие |
|
crds - настройки управления CRD#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Управление установкой CRD во время |
|
|
Сохранение CRD при удалении чарта ( |
|
|
Аннотации, добавляемые ко всем CRD |
|
configs - конфигурация EventBus (NATS/JetStream) и дополнительные объекты#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Массив поддерживаемых конфигураций NATS |
|
|
Максимальный объем памяти для хранения данных JetStream |
|
|
Максимальный объем файлового хранилища JetStream |
|
|
Максимальное количество сообщений до удаления самых старых |
|
|
Максимальный возраст сообщений в потоке (TTL) — формат |
|
|
Максимальный суммарный объем сообщений в потоке. При |
|
|
Количество реплик потока JetStream (минимум |
|
|
Интервал обнаружения дубликатов сообщений |
|
|
Политика хранения сообщений в потоке JetStream: |
|
|
Политика удаления сообщений при переполнении лимитов потока: |
|
|
Массив поддерживаемых версий JetStream c образами NATS; каждая запись содержит |
|
extraObjects - дополнительные Kubernetes-манифесты#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Массив YAML-ресурсов, внедряемых в релиз (можно использовать Helm-шаблоны) |
|
controller - оператор (Events Controller)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя Deployment контроллера |
|
|
Создает необходимые RBAC-объекты |
|
|
Ограничивает права контроллера текущим пространствам имен |
|
|
Дополнительное пространство имен, за которым должен следить контроллер |
|
|
Дополнительные пользовательские RBAC-правила |
|
|
Путь к образу контроллера (использует глобальные переменные) |
|
|
Тег контейнерного образа контроллера событий |
|
|
Политика загрузки контейнерного образа контроллера событий (берет из |
|
|
Количество сохраняемых старых |
|
|
Количество pod контроллера событий |
|
|
Создает |
|
|
Метки для |
|
|
Аннотации для |
|
|
Переменные окружения для контроллера событий |
|
|
Источники |
|
|
Аннотации для pod контроллера событий |
|
|
Метки для pod контроллера событий |
|
|
|
|
|
Количество последовательных неуспешных проверок после успешного состояния |
|
|
Задержка перед первым запуском проверки |
|
|
Интервал между проверками |
|
|
Количество последовательных успешных проверок после ошибки |
|
|
Время ожидания проверки |
|
|
Количество последовательных неуспешных проверок после успешного состояния |
|
|
Задержка перед первым запуском liveness-проверок |
|
|
Интервал между liveness-проверками |
|
|
Количество последовательных успешных liveness-проверок после ошибки |
|
|
Время ожидания liveness-проверок |
|
|
Дополнительные |
|
|
Дополнительные |
|
|
|
|
|
|
|
|
Affinity-правила для Deployment контроллера событий |
|
|
|
|
|
Имя |
|
|
Ограничения и запросы ресурсов для pod контроллера событий |
|
|
Дополнительные контейнеры для pod контроллера событий |
|
|
Init-контейнеры для pod контроллера событий |
|
|
Создает сервисный аккаунт для контроллера событий |
|
|
Имя сервисного аккаунта контроллера событий |
|
|
Аннотации для создаваемого сервисного аккаунта контроллера событий |
|
|
Включает автоматическое монтирование API-учетных данных в сервисный аккаунт контроллера событий |
|
|
Создает сервис метрик для контроллера событий |
|
|
Аннотации сервиса метрик контроллера событий |
|
|
Метки сервиса метрик контроллера событий |
|
|
Порт сервиса метрик контроллера событий |
|
|
Создает |
|
|
Интервал опроса метрик в |
|
|
Конфигурации повторной разметки |
|
|
Конфигурации повторной разметки метрик |
|
|
Selector для Prometheus |
|
|
Пространство имен |
|
|
Дополнительные метки для |
|
webhook - Admission Webhook для валидации ресурсов Argo Events#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включает Admission Webhook (только при кластерном режиме) |
|
|
Имя Deployment webhook-сервера |
|
|
Образ webhook (использует глобальные переменные) |
|
|
Тег контейнерного образа webhook |
|
|
Политика загрузки контейнерного образа webhook |
|
|
Количество сохраняемых старых |
|
|
Количество pod webhook |
|
|
Создает |
|
|
Метки для |
|
|
Аннотации для |
|
|
Переменные окружения для webhook |
|
|
Источники |
|
|
Аннотации для pod webhook |
|
|
Метки для pod webhook |
|
|
Порт, на котором webhook принимает соединения |
|
|
|
|
|
Количество последовательных неуспешных readiness-проверок после успешного состояния |
|
|
Задержка перед первым запуском readiness-проверок webhook |
|
|
Интервал между readiness-проверками webhook |
|
|
Количество последовательных успешных readiness-проверок после ошибки |
|
|
Время ожидания readiness |
|
|
Количество последовательных неуспешных liveness-проверок после успешного состояния |
|
|
Задержка перед первым запуском liveness-проверок webhook |
|
|
Интервал между liveness-проверками webhook |
|
|
Количество последовательных успешных liveness-проверок после ошибки |
|
|
Время ожидания liveness |
|
|
Дополнительные |
|
|
Дополнительные |
|
|
Селектор узлов для размещения pod webhook |
|
|
Tolerations для pod webhook |
|
|
Affinity-правила для Deployment webhook |
|
|
|
|
|
Имя |
|
|
Ограничения и запросы ресурсов для pod webhook |
|
|
Создает сервисный аккаунт для admission webhook |
|
|
Имя сервисного аккаунта webhook |
|
|
Аннотации для создаваемого сервисного аккаунта webhook |
|
|
Включает автоматическое монтирование API-учетных данных в сервисный аккаунт webhook |
|