Installation

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 they are treated as prerequisites for an Airflow cluster and hence as part of the installation process. Install these components 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. Follow the instructions of those components for a production setup.

Stackable operators

There are multiple ways to install the Stackable operator for Apache Airflow. stackablectl is the preferred way, but Helm is also supported. OpenShift users may prefer installing the operator from the RedHat Certified Operator catalog using the OpenShift web console.

  • stackablectl

  • Helm

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 shows

Installed commons=0.0.0-dev operator
Installed secret=0.0.0-dev operator
Installed listener=0.0.0-dev operator
Installed airflow=0.0.0-dev 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.

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 deploys the operators in a Kubernetes Deployment and apply the CRDs for the Airflow cluster (as well as the CRDs for the required operators).

What’s next

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