이벤트 기반 선언적 오케스트레이션 플랫폼
4분 만에 Kestra를 시작하는 방법을 알아보려면 이미지를 클릭하세요.
? 케스트라란 무엇인가요?
Kestra는 예약 및 이벤트 중심 워크플로우를 모두 쉽게 만들어주는 오픈 소스 이벤트 중심 오케스트레이션 플랫폼입니다. 코드형 인프라 모범 사례를 데이터, 프로세스 및 마이크로서비스 오케스트레이션에 적용하면 단 몇 줄의 YAML만으로 UI에서 직접 안정적인 워크플로를 구축할 수 있습니다.
주요 특징:
- 코드 및 UI의 모든 것: UI에서 빌드하는 경우에도 Git 버전 제어 통합을 통해 워크플로를 코드로 유지합니다.
- 이벤트 중심 및 예약된 워크플로: 간단한
trigger
정의를 통해 예약 및 실시간 이벤트 중심 워크플로를 모두 자동화합니다. - 선언적 YAML 인터페이스: 내장된 코드 편집기 의 간단한 구성을 사용하여 워크플로를 정의합니다.
- 풍부한 플러그인 생태계: 모든 데이터베이스, 클라우드 스토리지 또는 API에서 데이터를 추출하고 모든 언어로 스크립트를 실행하기 위해 내장된 수백 개의 플러그인.
- 직관적인 UI 및 코드 편집기: 구문 강조, 자동 완성 및 실시간 구문 검증을 통해 UI에서 직접 워크플로를 구축하고 시각화합니다.
- 확장성: 고가용성 및 내결함성을 통해 수백만 개의 워크플로를 처리하도록 설계되었습니다.
- 버전 제어 친화적: 내장된 코드 편집기에서 워크플로를 작성하고 Kestra에서 직접 선호하는 Git 브랜치로 푸시하여 CI/CD 파이프라인 및 버전 제어 시스템에 대한 모범 사례를 구현할 수 있습니다.
- 구조 및 탄력성 : 네임스페이스 , 레이블 , 하위 흐름 , 재시도 , 시간 초과 , 오류 처리 , 입력 , UI에서 아티팩트를 생성하는 출력 , 변수 , 조건부 분기 , 고급 예약 , 이벤트 트리거 , 백필 , 동적을 통해 혼돈을 길들이고 워크플로에 탄력성을 가져옵니다. 작업 , 순차 및 병렬 작업을 수행 하고,
disabled
플래그를 true
로 설정하여 필요한 경우 작업이나 트리거를 건너뜁니다.
? YAML 정의는 UI에서 또는 API 호출을 통해 워크플로를 변경할 때마다 자동으로 조정됩니다. 따라서 워크플로를 다른 방식(UI, CI/CD, Terraform, API 호출)으로 수정하더라도 오케스트레이션 논리는 항상 코드에서 선언적으로 관리 됩니다.
빠른 시작
라이브 데모를 사용해 보세요
라이브 데모를 통해 Kestra를 사용해 보세요. 설치가 필요하지 않습니다!
5분 안에 로컬에서 시작하세요
Docker에서 Kestra 실행
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 등)은 설치 가이드를 확인하세요.
http://localhost:8080에서 Kestra UI에 액세스하고 첫 번째 흐름 구축을 시작하세요!
첫 번째 Hello World 흐름
다음 콘텐츠로 새 흐름을 만듭니다.
id : hello_world
namespace : dev
tasks :
- id : say_hello
type : io.kestra.plugin.core.log.Log
message : " Hello, World! "
흐름을 실행하고 UI에서 출력을 확인하세요!
? 플러그인 생태계
Kestra의 기능은 Python, Node.js, R, Go, Shell 등을 포함하여 어디서나 작업을 실행하고 모든 언어로 코드를 작성할 수 있는 풍부한 플러그인 에코시스템을 통해 확장됩니다. Kestra 플러그인이 작업 흐름을 향상시키는 방법은 다음과 같습니다.
어디서나 실행:
- 로컬 또는 원격 실행: SSH를 통해 로컬 시스템, 원격 서버에서 작업을 실행하거나 Task Runner를 사용하여 서버리스 컨테이너로 확장합니다.
- Docker 및 Kubernetes 지원: 워크플로 내에서 Docker 컨테이너를 원활하게 실행하거나 Kubernetes 작업을 시작하여 컴퓨팅 집약적인 워크로드를 처리합니다.
모든 언어의 코드:
- 스크립팅 지원: 선호하는 프로그래밍 언어로 스크립트를 작성하세요. Kestra는 Python, Node.js, R, Go, Shell 등을 지원하므로 기존 코드베이스와 배포 패턴을 통합할 수 있습니다.
- 유연한 자동화: 셸 명령을 실행하고, 다양한 데이터베이스에 대해 SQL 쿼리를 실행하고, HTTP 요청을 만들어 API와 상호 작용합니다.
이벤트 기반 및 실시간 처리:
- 실시간 트리거: 파일 도착, 메시지 버스의 새 메시지(Kafka, Redis, Pulsar, AMQP, MQTT, NATS, AWS SQS, Google Pub/Sub, Azure Event Hubs)와 같은 외부 시스템의 이벤트에 실시간으로 반응합니다. ) 등이 있습니다.
- 사용자 정의 이벤트: 특정 조건이나 외부 신호를 기반으로 흐름을 트리거하는 사용자 정의 이벤트를 정의하여 응답성이 뛰어난 워크플로우를 활성화합니다.
클라우드 통합:
- AWS, Google Cloud, Azure: 다양한 클라우드 서비스와 통합하여 스토리지 솔루션, 메시징 시스템, 컴퓨팅 리소스 등과 상호 작용합니다.
- 빅 데이터 처리: Apache Spark와 같은 도구를 사용하여 빅 데이터 처리 작업을 실행하거나 Google BigQuery와 같은 분석 플랫폼과 상호 작용합니다.
모니터링 및 알림:
- 최신 정보 유지: Slack 채널에 메시지를 보내거나 이메일 알림을 보내거나 PagerDuty에서 알림을 트리거하여 팀에 워크플로 상태에 대한 최신 정보를 지속적으로 제공하세요.
Kestra의 플러그인 생태계는 지속적으로 확장되어 특정 요구 사항에 맞게 플랫폼을 맞춤화할 수 있습니다. 복잡한 데이터 파이프라인을 조정하든, 여러 환경에서 스크립트를 자동화하든, 클라우드 서비스와 통합하든, 도움을 줄 수 있는 플러그인이 있을 것입니다. 그렇지 않은 경우 언제든지 자체 플러그인을 구축하여 Kestra의 기능을 확장할 수 있습니다.
? 참고: 이는 Kestra 플러그인이 수행할 수 있는 작업을 간략하게 보여줍니다. 플러그인 페이지에서 전체 목록을 살펴보세요.
주요 개념
- 흐름: 작업으로 구성된 워크플로를 나타내는 Kestra의 핵심 단위입니다.
- 작업: 스크립트 실행, 데이터 이동, API 호출과 같은 개별 작업 단위입니다.
- 네임스페이스: 조직 및 격리를 위한 흐름의 논리적 그룹화입니다.
- 트리거: 흐름 실행을 시작하는 일정 또는 이벤트입니다.
- 입력 및 변수: 흐름 및 작업에 전달되는 매개변수 및 동적 데이터입니다.
? 시각적으로 워크플로 구축
Kestra는 워크플로를 대화형으로 구축하고 시각화할 수 있는 직관적인 UI를 제공합니다.
- 드래그 앤 드롭 인터페이스: 토폴로지 편집기에서 작업을 추가하고 재정렬합니다.
- 실시간 검증: 워크플로의 구문 및 구조에 대한 즉각적인 피드백을 통해 오류를 조기에 포착합니다.
- 자동 완성: 구문 오류 없이 흐름 코드를 빠르게 작성하기 위해 입력할 때 스마트한 제안을 제공합니다.
- 실시간 토폴로지 보기: 실시간으로 업데이트되는 DAG(방향성 비순환 그래프)로 워크플로를 확인하세요.
? 확장 가능하고 개발자 친화적
플러그인 개발
Kestra의 기능을 확장하려면 맞춤형 플러그인을 만드세요. 시작하려면 플러그인 개발자 가이드를 확인하세요.
코드로서의 인프라
- 버전 제어: Git 리포지토리에 흐름을 저장합니다.
- CI/CD 통합: CI/CD 파이프라인을 사용하여 흐름 배포를 자동화합니다.
- Terraform 공급자: 공식 Terraform 공급자를 통해 Kestra 리소스를 관리합니다.
커뮤니티에 가입하세요
연결을 유지하고 지원을 받으세요:
- Slack: Slack 커뮤니티에 가입하여 질문하고 아이디어를 공유하세요.
- LinkedIn: LinkedIn에서 팔로우하세요. Slack과 GitHub 옆에 있으며 업데이트와 제품 공지 사항을 공유하는 주요 채널입니다.
- YouTube: 교육용 비디오 콘텐츠를 보려면 YouTube 채널을 구독하세요. 우리는 매주 새로운 비디오를 게시합니다!
- X: X 에서 아직 활동 중이라면 X에서 우리를 팔로우하세요.
? 기여
우리는 모든 종류의 기여를 환영합니다!
- 문제 보고: 버그를 발견했거나 기능 요청이 있으십니까? GitHub에서 문제를 엽니다.
- 코드 기여: 초기 지침은 기여자 가이드를 확인하고, 초보자 친화적인 작업에 대해 먼저 다루기 좋은 첫 번째 문제를 살펴보세요.
- 플러그인 개발: 플러그인 개발자 가이드를 사용하여 플러그인을 구축하고 공유하세요.
- 문서에 기여: 문서를 최고 수준으로 유지하기 위해 편집 또는 업데이트에 기여합니다.
? 특허
Kestra는 Apache 2.0 라이선스 © Kestra Technologies에 따라 라이선스가 부여됩니다.
️ 최신 소식을 받아보세요
최신 기능과 업데이트에 대한 최신 정보를 얻으려면 저장소에 별점을 부여하세요!
귀하의 워크플로 조정 요구 사항에 대해 Kestra를 고려해 주셔서 감사합니다. 우리는 당신이 무엇을 만들 것인지 기대하고 있습니다!