OpenSource-Hub
K

Kestra

26.8k stars·개발 도구·SHA-256 체크섬 확인됨

事件驱动声明式工作流编排平台,用 YAML 定义可靠管道。

스마트 다운로드

프로젝트 홈페이지 방문

아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요

开源编排神器,YAML 写工作流,事件+定时都能搞定。

주요 기능

  • YAML 声明式定义工作流,UI 可视化编辑
  • 同时支持定时触发和实时事件触发
  • 数百个插件连接数据库、云存储、API
  • 内置代码编辑器,语法高亮和自动补全
  • Git 版本控制集成,CI/CD 友好

할 수 없는 것

  • 本地快速启动依赖 Docker,生产环境建议使用 Kubernetes 或云托管。2. Docker 挂载卷需注意权限,Windows 用户建议使用 WSL 2。3. 插件需要网络下载第一次耗时较长。4. 默认使用内置 H2 数据库,生产需切换为 PostgreSQL。

사용 사례

  • 数据管道(ETL/ELT)自动化
  • 微服务编排与事件驱动自动化
  • 定时批处理任务(如日报生成)
  • 多云环境下的运维流程自动化

상세 설명

Kestra 是一个开源、事件驱动的工作流编排平台,能轻松处理定时和实时工作流。它将基础设施即代码的最佳实践引入数据、流程和微服务编排,让你只需几行 YAML 即可在 UI 中构建可靠的工作流。核心功能包括:丰富的插件生态(数百个预置连接器)、直观的 UI 和实时语法校验、Git 版本控制集成、原生事件触发器、重试/超时/错误处理、并行执行。支持 Docker、Kubernetes、AWS、GCP、Azure 等多种部署方式,可扩展至百万级工作流。

문제 해결 & FAQ (2)

문제 해결
Pebble 목록을 결합하여 하위 흐름(subflow)에 전달할 때 Kestra 출력 변수가 덮어쓰여지는 이유는 무엇인가요?

이는 Pebble의 리스트 연결 연산자(+)가 첫 번째 리스트를 제자리에서 변경하기 때문에 발생합니다. 연결된 결과가 서브플로우에 입력으로 전달되면, 표현식의 첫 번째 리스트 변수가 영구적으로 수정되어 모든 결합된 값을 전달하게 됩니다. 해결 방법: 보존하려는 변수가 마지막에 오도록 표현식을 재정렬하세요. 예를 들어, outputs.task.variable을 표현식 끝으로 이동하십시오: {{ (kv('key') | default([])) + (inputs.list | default([])) + (outputs.task.variable | default([])) }}. 이렇게 하면 원래 출력이 그대로 유지됩니다. 또는, | list를 사용하여 연결 전에 리스트의 복사본을 생성하여 새로운 리스트를 강제로 만드십시오.

원본 Issue #15048
문제 해결
Kestra 실행이 KILLING 상태에 멈춰 무한 재시도 루프가 발생하고 PostgreSQL 디스크가 가득 차는 문제를 해결하는 방법

이것은 Kestra v1.3.14의 알려진 버그로, 중단된 KILLING 실행이 무한 재시도 루프를 유발하여 로그 및 큐 테이블을 넘치게 합니다. 해결 방법: Kestra를 중지한 후, 실행을 수동으로 삭제하십시오: DELETE FROM executions WHERE key = '<execution_id>'; 그 다음 TRUNCATE TABLE logs;, TRUNCATE TABLE queues;, VACUUM FULL;을 실행하십시오. Kestra를 다시 시작하십시오. 향후 발생을 방지하려면 플로우 정의에 플로우 수준 시간 제한(예: timeout: PT15M)을 추가하십시오. Kestra 업데이트에서 공식 수정 사항을 추적하십시오.

원본 Issue #15829

태그

workflow-orchestrationevent-drivendeclarativeyamlpluginsopen-sourceautomationscheduling

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

步骤1:确保已安装 Docker,终端执行 docker run --pull=always -it -p 8080:8080 --user=root --name kestra --restart=always -v kestra_data:/app/storage -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp kestra/kestra:latest server local

4

步骤2:打开浏览器访问 http://localhost:8080 进入 UI

5

步骤3:点击“Create”新建 Flow,粘贴以下 YAML 并保存: id: hello_world namespace: dev tasks: - id: say_hello type: io.kestra.plugin.core.log.Log message: "Hello, World!"

설치 가이드
  1. 步骤1:确保已安装 Docker,终端执行 docker run --pull=always -it -p 8080:8080 --user=root --name kestra --restart=always -v kestra_data:/app/storage -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp kestra/kestra:latest server local
  2. 步骤2:打开浏览器访问 http://localhost:8080 进入 UI
  3. 步骤3:点击“Create”新建 Flow,粘贴以下 YAML 并保存: id: hello_world namespace: dev tasks: - id: say_hello type: io.kestra.plugin.core.log.Log message: "Hello, World!"
파일 무결성

체크섬 없음

이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다

SHA256 체크섬

체크섬 없음

GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

停止并删除 Docker 容器:docker stop kestra && docker rm kestra。若需清理持久化数据,删除 Docker 卷:docker volume rm kestra_data。

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스Apache-2.0
마지막 업데이트2026-06-25 23:50:15
GitHub 저장소공식 웹사이트

문제 발생? 아래 FAQ 확인

2 FAQs

유사한 프로젝트