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 для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
-
fullnameOverride - задает полное альтернативное имя для всех объектов
namespaceOverride - устанавливает Namespace для ресурсов чарта
global - глобальные параметры, наследуемые всеми компонентами
configs - конфигурация EventBus (NATS/JetStream) и дополнительные объекты
webhook - Admission Webhook для валидации ресурсов Argo Events
nameOverride - задает альтернативное имя для релиза#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределяет |
|
fullnameOverride - задает полное альтернативное имя для всех объектов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полностью переопределяет шаблон |
|
namespaceOverride - устанавливает Namespace для ресурсов чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Позволяет развернуть чарт в namespace, отличном от |
|
createAggregateRoles - создание агрегированных ClusterRole#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Добавляет расширяющие |
|
crds - настройки управления CRD#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Управление установкой CRD во время |
|
|
Сохранять CRD при удалении чарта ( |
|
global - глобальные параметры, наследуемые всеми компонентами#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Версия образов по умолчанию |
|
|
Политика вытягивания образов ( |
|
|
Список секретов для приватного реестра |
|
|
Статические записи в |
|
configs - конфигурация EventBus (NATS/JetStream) и дополнительные объекты#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Массив поддерживаемых конфигураций NATS |
|
|
Версия NATS Streaming для первого профиля |
|
|
Образ сервера NATS Streaming |
|
|
Образ экспортера метрик NATS |
|
|
Альтернативная версия NATS |
|
|
Образ конкретной версии |
|
|
Экспортер метрик для |
|
|
Лимит объема памяти под хранимые сообщения |
|
|
Лимит дискового хранилища |
|
|
Максимальное число сообщений в потоке до удаления старых |
|
|
Максимальный «возраст» сообщений (TTL) — формат |
|
|
Совокупный размер сообщений, после которого начинает удалять старые |
|
|
Количество реплик |
|
|
Интервал дедупликации дубликатов — |
|
|
Политика retention: |
|
|
Поведение при превышении лимитов: |
|
extraObjects - дополнительные Kubernetes-манифесты#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Массив YAML-ресурсов, внедряемых в релиз (можно использовать Helm-шаблоны) |
|
controller - оператор (Events Controller)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя |
|
|
Создавать необходимые RBAC-объекты |
|
|
Ограничить права контроллера текущим Namespace |
|
|
Дополнительный Namespace под управление |
|
|
Дополнительные пользовательские правила RBAC |
|
|
Путь к образу контроллера (использует глобальные переменные) |
|
|
Тег образа контроллера |
|
|
Политика pull образа (берет из |
|
|
Хранить не более |
|
|
Количество pods контроллера |
|
|
Создавать |
|
|
Список переменных окружения |
|
|
Подключение |
|
|
Дополнительные аннотации pod |
|
|
Дополнительные метки pod |
|
|
|
|
|
Сколько неудач до статуса |
|
|
Задержка до первой проверки |
|
|
Интервал проверок |
|
|
Сколько успешных проверок до |
|
|
Время ожидания проверки |
|
|
Порог рестарта по liveness |
|
|
Задержка liveness проверок |
|
|
Периодичность liveness проверок |
|
|
Успешные проверки до |
|
|
Время ожидания liveness |
|
|
Дополнительные |
|
|
|
|
|
|
|
|
Toleration под taints |
|
|
Правила Affinity/Anti-Affinity |
|
|
Ограничения распределения по зонам |
|
|
Имя |
|
|
Ресурсные запросы/лимиты |
|
|
Сторонние контейнеры sidecar |
|
|
Дополнительные init-контейнеры |
|
|
Создавать |
|
|
Имя заранее созданного |
|
|
Аннотации для SA |
|
|
Автомонтировать токен в pod |
|
|
Экспортировать метрики контроллера |
|
|
Аннотации Service-метрик |
|
|
Метки Service-метрик |
|
|
Порт Prometheus-endpoint |
|
|
Создавать |
|
|
Интервал scrape |
|
|
relabel-правила до парсинга |
|
|
relabel-правила после парсинга |
|
|
Selector для Prometheus |
|
|
Namespace |
|
|
Метки |
|
webhook - Admission Webhook для валидации ресурсов Argo Events#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить Admission Webhook (только при кластерном режиме) |
|
|
Имя |
|
|
Образ webhook (использует глобальные переменные) |
|
|
Тег образа webhook |
|
|
Политика pull образа |
|
|
Количество |
|
|
Количество pods webhook |
|
|
Создавать |
|
|
Переменные окружения контейнера |
|
|
|
|
|
Дополнительные аннотации pod |
|
|
Дополнительные метки pod |
|
|
HTTPS-порт webhook |
|
|
|
|
|
Порог ошибок readiness |
|
|
Задержка перед первой readiness проверкой |
|
|
Интервал readiness проверок |
|
|
Успехов до |
|
|
Время ожидания readiness |
|
|
Порог liveness-ошибок |
|
|
Задержка liveness |
|
|
Интервал liveness проверок |
|
|
Успехов до |
|
|
Время ожидания liveness проверок |
|
|
Дополнительные |
|
|
Дополнительные |
|
|
|
|
|
Toleration для узлов tainted |
|
|
Affinity-правила |
|
|
Spread-правила по зонам/узлам |
|
|
|
|
|
Ресурсные запросы/лимиты |
|
|
Создать |
|
|
Имя существующего |
|
|
Аннотации SA |
|
|
Автомонтировать токен в Pod |
|