Платформа декларативной оркестрации, управляемой событиями
Нажмите на изображение, чтобы узнать, как начать работу с Kestra за 4 минуты.
? Что такое Кестра?
Kestra — это платформа оркестрации, управляемая событиями, с открытым исходным кодом, которая упрощает как запланированные , так и управляемые событиями рабочие процессы. Применяя лучшие практики «Инфраструктура как код» для оркестрации данных, процессов и микросервисов, вы можете создавать надежные рабочие процессы непосредственно из пользовательского интерфейса, всего за несколько строк YAML.
Ключевые особенности:
- Все как код и из пользовательского интерфейса: сохраняйте рабочие процессы в виде кода благодаря интеграции Git Version Control , даже при их создании из пользовательского интерфейса.
- Управляемые событиями и запланированные рабочие процессы: автоматизируйте как запланированные , так и управляемые событиями рабочие процессы в реальном времени с помощью простого определения
trigger
. - Декларативный интерфейс YAML: определяйте рабочие процессы с помощью простой настройки во встроенном редакторе кода .
- Богатая экосистема плагинов: сотни встроенных плагинов для извлечения данных из любой базы данных, облачного хранилища или API, а также запуска скриптов на любом языке .
- Интуитивно понятный пользовательский интерфейс и редактор кода: создавайте и визуализируйте рабочие процессы непосредственно из пользовательского интерфейса с подсветкой синтаксиса, автозаполнением и проверкой синтаксиса в реальном времени.
- Масштабируемость: предназначена для обработки миллионов рабочих процессов с высокой доступностью и отказоустойчивостью.
- Удобство управления версиями: пишите свои рабочие процессы из встроенного редактора кода и отправляйте их в предпочитаемую вами ветку Git непосредственно из Kestra, используя передовые методы работы с конвейерами CI/CD и системами контроля версий.
- Структура и устойчивость : укротите хаос и придайте устойчивость вашим рабочим процессам с помощью пространств имен , меток , подпотоков , повторных попыток , тайм-аута , обработки ошибок , входных данных , выходных данных , генерирующих артефакты в пользовательском интерфейсе, переменных , условного ветвления , расширенного планирования , триггеров событий , обратного заполнения , динамического задачи , последовательные и параллельные задачи , а также пропускать задачи или триггеры, когда это необходимо, установив флаг
disabled
на true
.
? Определение YAML автоматически корректируется каждый раз, когда вы вносите изменения в рабочий процесс из пользовательского интерфейса или через вызов API. Таким образом, логика оркестрации всегда управляется декларативно в коде , даже если вы изменяете свои рабочие процессы другими способами (UI, CI/CD, Terraform, вызовы API).
Быстрый старт
Попробуйте живую демо-версию
Попробуйте Kestra с нашей живой демо-версией . Установка не требуется!
Начните работу локально за 5 минут
Запустите Kestra в Docker
Убедитесь, что Docker запущен. Затем запустите Kestra одной командой:
docker run --pull=always --rm -it -p 8080:8080 --user=root
-v /var/run/docker.sock:/var/run/docker.sock
-v /tmp:/tmp kestra/kestra:latest server local
Ознакомьтесь с нашим руководством по установке, чтобы узнать о других вариантах развертывания (Docker Compose, Podman, Kubernetes, AWS, GCP, Azure и других).
Получите доступ к пользовательскому интерфейсу Kestra по адресу http://localhost:8080 и начните создавать свой первый поток!
Ваш первый поток Hello World
Создайте новый поток со следующим содержимым:
id : hello_world
namespace : dev
tasks :
- id : say_hello
type : io.kestra.plugin.core.log.Log
message : " Hello, World! "
Запустите поток и посмотрите результат в пользовательском интерфейсе!
? Экосистема плагинов
Функциональность Kestra расширяется за счет богатой экосистемы плагинов, которые позволяют вам запускать задачи где угодно и писать код на любом языке, включая Python, Node.js, R, Go, Shell и другие. Вот как плагины Kestra улучшают ваши рабочие процессы:
Экосистема плагинов Kestra постоянно расширяется, что позволяет вам адаптировать платформу к вашим конкретным потребностям. Независимо от того, организуете ли вы сложные конвейеры данных, автоматизируете сценарии в нескольких средах или интегрируетесь с облачными сервисами, вам наверняка поможет плагин. А если нет, вы всегда можете создать свои собственные плагины, чтобы расширить возможности Kestra.
? Примечание. Это лишь краткий обзор того, на что способны плагины Kestra. Полный список можно найти на нашей странице плагинов.
Ключевые понятия
- Потоки: основной модуль Kestra, представляющий рабочий процесс, состоящий из задач.
- Задачи: отдельные единицы работы, такие как запуск скрипта, перемещение данных или вызов API.
- Пространства имен: логическая группировка потоков для организации и изоляции.
- Триггеры: расписание или события, которые инициируют выполнение потоков.
- Входные данные и переменные: параметры и динамические данные, передаваемые в потоки и задачи.
? Создавайте рабочие процессы визуально
Kestra предоставляет интуитивно понятный пользовательский интерфейс, который позволяет вам интерактивно создавать и визуализировать рабочие процессы:
- Интерфейс перетаскивания: добавляйте и меняйте порядок задач в редакторе топологии.
- Проверка в реальном времени: мгновенная обратная связь по синтаксису и структуре вашего рабочего процесса для раннего выявления ошибок.
- Автозаполнение: умные подсказки при вводе текста для быстрого и без синтаксических ошибок написания кода.
- Просмотр топологии в реальном времени: рассматривайте свой рабочий процесс как направленный ациклический граф (DAG), который обновляется в режиме реального времени.
? Расширяемый и удобный для разработчиков
Разработка плагинов
Создавайте собственные плагины для расширения возможностей Kestra. Чтобы начать работу, ознакомьтесь с нашим Руководством для разработчиков плагинов.
Инфраструктура как код
- Контроль версий: храните потоки в репозиториях Git.
- Интеграция CI/CD: автоматизируйте развертывание потоков с помощью конвейеров CI/CD.
- Поставщик Terraform: управляйте ресурсами Kestra с помощью официального поставщика Terraform.
Присоединяйтесь к сообществу
Оставайтесь на связи и получайте поддержку:
- Slack: присоединяйтесь к нашему сообществу Slack, чтобы задавать вопросы и делиться идеями.
- LinkedIn: подписывайтесь на нас в LinkedIn — наряду со Slack и GitHub, это наш основной канал для обмена обновлениями и анонсами продуктов.
- YouTube: подпишитесь на наш канал YouTube, чтобы получать образовательные видеоматериалы. Мы публикуем новые видео каждую неделю!
- X: Следуйте за нами на X, если вы все еще там активны.
? Содействие
Мы приветствуем вклад любого рода!
- Сообщить о проблемах: нашли ошибку или у вас есть запрос на добавление функции? Откройте проблему на GitHub.
- Разместите код: ознакомьтесь с нашим Руководством для участников, чтобы получить первоначальные рекомендации, и изучите наши хорошие первые проблемы, которые помогут новичкам решить в первую очередь.
- Разрабатывайте плагины: создавайте и делитесь плагинами, используя наше Руководство для разработчиков плагинов.
- Вносите вклад в нашу документацию: вносите изменения и обновления, чтобы поддерживать нашу документацию на высшем уровне.
? Лицензия
Kestra лицензируется по лицензии Apache 2.0 © Kestra Technologies.
️ Оставайтесь в курсе
Поставьте нашему репозиторию звезду, чтобы быть в курсе последних функций и обновлений!
Благодарим вас за то, что выбрали Kestra для организации своих рабочих процессов. Нам не терпится увидеть, что вы построите!