Installation

On this page you will install the Stackable Airflow Operator, the software that Airflow depends on - Postgresql and Redis - as well as the commons, secret and listener operator which are required by all Stackable Operators.

Required external components: Postgresql and Redis

Postgresql is required by Airflow to store metadata about DAG runs, and Redis is required by the Celery executor to schedule and/or queue DAG jobs. They are components that may well already be available for customers, in which case we treat them here as pre-requisites for an airflow cluster and hence as part of the installation process. These components will be installed using Helm. Note that specific versions are declared:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm install --wait airflow-postgresql bitnami/postgresql --version 12.1.5 \
    --set auth.username=airflow \
    --set auth.password=airflow \
    --set auth.database=airflow
helm install --wait airflow-redis bitnami/redis \
    --set auth.password=redis \
    --version 17.3.7 \
    --set replica.replicaCount=1
Do not use this setup in production! Supported databases and versions are listed on the required external components page for this Operator. Please follow the instructions of those components for a production setup.

Stackable Operators

There are 2 ways to run Stackable Operators

  1. Using stackablectl

  2. Using Helm

stackablectl

stackablectl is the command line tool to interact with Stackable operators and our recommended way to install Operators. Follow the installation steps for your platform.

After you have installed stackablectl run the following command to install all Operators necessary for Airflow:

stackablectl operator install \
  commons=0.0.0-dev \
  secret=0.0.0-dev \
  listener=0.0.0-dev \
  airflow=0.0.0-dev

The tool will show

[INFO ] Installing commons operator
[INFO ] Installing secret operator
[INFO ] Installing listener operator
[INFO ] Installing airflow operator
Consult the Quickstart to learn more about how to use stackablectl. For example, you can use the --cluster kind flag to create a Kubernetes cluster with kind.

Helm

You can also use Helm to install the Operators. Add the Stackable Helm repository:

helm repo add stackable-dev https://repo.stackable.tech/repository/helm-dev/

Then install the Stackable Operators:

helm install --wait commons-operator stackable-dev/commons-operator --version 0.0.0-dev
helm install --wait secret-operator stackable-dev/secret-operator --version 0.0.0-dev
helm install --wait listener-operator stackable-dev/listener-operator --version 0.0.0-dev
helm install --wait airflow-operator stackable-dev/airflow-operator --version 0.0.0-dev

Helm will deploy the Operators in a Kubernetes Deployment and apply the CRDs for the Airflow cluster (as well as the CRDs for the required operators). You are now ready to deploy Apache Airflow in Kubernetes.

What’s next

Set up an Airflow cluster and its dependencies and verify that it works by inspecting and running an example DAG.