/airflow-on-k8s-operator

Airflow on Kubernetes Operator

Primary LanguageGoApache License 2.0Apache-2.0

Airflow On K8S Operator

Go Report Card

Community

Project Status

Alpha

The Airflow Operator is still under active development and has not been extensively tested in production environment. Backward compatibility of the APIs is not guaranteed for alpha releases.

Prerequisites

  • Version >= 1.9 of Kubernetes.
  • Uses 1.9 of Airflow (1.10.1+ for k8s executor)
  • Uses 4.0.x of Redis (for celery operator)
  • Uses 5.7 of MySQL

Get Started

One Click Deployment from Google Cloud Marketplace to your GKE cluster

Get started quickly with the Airflow Operator using the Quick Start Guide

For more information check the Design and detailed User Guide

Airflow Operator Overview

Airflow Operator is a custom Kubernetes operator that makes it easy to deploy and manage Apache Airflow on Kubernetes. Apache Airflow is a platform to programmatically author, schedule and monitor workflows. Using the Airflow Operator, an Airflow cluster is split into 2 parts represented by the AirflowBase and AirflowCluster custom resources. The Airflow Operator performs these jobs:

  • Creates and manages the necessary Kubernetes resources for an Airflow deployment.
  • Updates the corresponding Kubernetes resources when the AirflowBase or AirflowCluster specification changes.
  • Restores managed Kubernetes resources that are deleted.
  • Supports creation of Airflow schedulers with different Executors
  • Supports sharing of the AirflowBase across mulitple AirflowClusters

Checkout out the Design

Airflow Cluster

Development

Refer to the Design and Development Guide.

History

This repo has been donated to Apache foundation. It was originally developed here at GoogleCloud repo