dockerfiles/airflow
kev 392b574128 update 2019-10-20 11:31:17 +08:00
..
data update airflow 2019-10-17 17:38:21 +08:00
deprecated add airflow 2019-09-28 18:58:18 +08:00
systemd add systemd files for airflow+superset 2019-10-17 23:59:58 +08:00
Dockerfile update 2019-10-20 11:31:17 +08:00
README.md update airflow 2019-10-17 17:38:21 +08:00
docker-stack.yaml add airflow 2019-09-28 18:58:18 +08:00

airflow

How It Works

                   +---------+
              +--> | Worker1 |
 redis        |    +---------+
 postgres     |
+--------+    |    +---------+
| Master | <--+--> | Worker2 |
+--------+    |    +---------+
 webserver    |
 scheduler    |    +---------+
 flower       +--> | Worker3 |
                   +---------+

Quick Start

$ docker stack deploy -c docker-stack.yaml airflow
$ docker service update --replicas-max-per-node=1 airflow_worker
$ docker service update --replicas 3 airflow_worker

$ docker stack services airflow
$ docker service ps airflow_webserver
$ docker exec -it airflow_webserver.1.xxxxxx sh
>>> airflow create_user -r Admin -u admin -e admin@borderxlab.com -f Super -l Admin -p secret
>>> airflow list_users
╒══════╤════════════╤══════════════════════╤══════════════╤═════════════╤═════════╕
│   Id │ Username   │ Email                │ First name   │ Last name   │ Roles   │
╞══════╪════════════╪══════════════════════╪══════════════╪═════════════╪═════════╡
│    1 │ admin      │ admin@borderxlab.com │ Super        │ Admin       │ [Admin] │
╘══════╧════════════╧══════════════════════╧══════════════╧═════════════╧═════════╛
>>> exit

$ curl http://localhost:8080/
$ curl http://localhost:5555/

⚠️ You need to prepare nfs server with airflow.cfg.

$ python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())'
CD2wL7G0zt1SLuO4JQpLJuHtBaBEcXWKbQyvkvf2cZ8=

⚠️ You should set another value to fernet_key in airflow.cfg to improve security.