airflow
Ansible Роль: airflow
Установите и настройте хост airflow. Может быть использован для настройки мастер- и рабочих узлов.
Требования
Вам потребуется доступ sudo к хосту, который настраивается; используйте следующее, чтобы запустить как root.
- name: Настройка мастер-хостов airflow
hosts: airflow_hosts
become: yes
roles:
- marcusianlevine.airflow
Переменные роли
Основные переменные настройки airflow:
# Пользователь, от имени которого будет запущен airflow
airflow_user: airflow
# Группа, от имени которой будет запущен airflow
airflow_user: "{{ airflow_user }}"
# Версия airflow, которая будет установлена
airflow_version: 1.8.1
# Каталог, в который будет установлен airflow
airflow_install_directory: /usr/share/airflow
# Дополнительные пакеты, которые будут установлены для airflow через pip install
airflow_extra_packages:
- celery
- alldbs
# Сервисы, которые будут запущены на хосте
airflow_services:
- webserver
- scheduler
- worker
Дополнительные переменные для поддержки конкретных паттернов развертывания:
# Определяет, нужно ли и какой менеджер процессов настроить
use_systemd: yes
use_supervisor: no
# Поддержка установки airflow в виртуальную среду
# ЗАМЕТКА: требуется для использования с ansible-container
virtualenv_path: undefined
airflow.cfg
Основная конфигурация airflow происходит с помощью объектов yaml, которые просто объединяют стандартную конфигурацию default_airflow
с любыми переопределениями, найденными в объекте airflow
. Все ключи объектов будут вставлены в airflow.cfg
в соответствующий раздел. Все значения являются стандартными значениями airflow.
airflow:
core:
dags_folder: "/usr/share/airflow_dags"
base_log_folder: "/var/log/airflow"
webserver:
base_url: "{{ airflow_base_url }}"
scheduler:
statsd_on: True
Зависимости
Нет
Пример плейбука
play.yml
- hosts: airflow-masters
become: yes
roles:
- creditcardscom.airflow
vars/main.yml
airflow_user: airflow_user
airflow_version: 1.8.0
airflow_services:
- webserver
- scheduler
airflow:
core:
dags_folder: "/home/{{ airflow_user }}/dags"
Лицензия (MIT)
Авторское право (c) 2017 CreditCards.com
Настоящим предоставляется разрешение, безвозмездно, любому лицу, получившему копию данного программного обеспечения и сопутствующей документации (далее "Программное обеспечение"), использовать данное программное обеспечение без ограничений, включая, но не ограничиваясь, правами использовать, копировать, модифицировать, объединять, публиковать, распространять, sublicensing и/или продавать копии Программного обеспечения, а также разрешать лицам, которым Программное обеспечение предоставляется, делать это, при соблюдении следующих условий:
Указанное выше уведомление об авторских правах и данное разрешение должны быть включены во все копии или значительные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ УМОВНЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОРГОВОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ. В НИКАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ДЕРЖАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ИСКИ, УБЫТКИ ИЛИ ИНЫЕ ОТВЕТСТВЕННОСТИ, НИ В РАМКАХ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ИЗ ИЛИ СВЯЗАННЫЕ С ПРИМЕНЕНИЕМ ИЛИ ИНЫМИ СДЕЛКАМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
ansible-galaxy install marcusianlevine/ansible-airflow