marcusianlevine.airflow
Rola Ansible: airflow
Zainstaluj i skonfiguruj hosta dla airflow. Można go używać do konfiguracji nodów master i worker.
Wymagania
Potrzebujesz dostępu sudo do hosta, który będzie konfigurowany, użyj poniższego, aby działać jako root.
- name: Konfiguracja hostów master airflow
hosts: airflow_hosts
become: yes
roles:
- marcusianlevine.airflow
Zmienne Roli
Podstawowe zmienne konfiguracyjne airflow:
# Użytkownik, pod którego ma działać airflow
airflow_user: airflow
# Grupa, pod którą ma działać airflow
airflow_group: "{{ airflow_user }}"
# Wersja airflow do zainstalowania
airflow_version: 1.8.1
# Katalog, w którym zainstalowany będzie airflow
airflow_install_directory: /usr/share/airflow
# Dodatkowe pakiety, które będą instalowane dla airflow przez pip install
airflow_extra_packages:
- celery
- alldbs
# Usługi, które zostaną uruchomione na hoście
airflow_services:
- webserver
- scheduler
- worker
Dodatkowe zmienne wspierające konkretne wzorce wdrożeniowe:
# Określ, czy i jaki menedżer procesów ustawić
use_systemd: yes
use_supervisor: no
# Wsparcie dla instalacji airflow w wirtualnym środowisku
# UWAGA: wymagane do użycia z ansible-container
virtualenv_path: undefined
airflow.cfg
Główna konfiguracja airflow odbywa się za pomocą obiektów yaml, które po prostu łączą domyślną konfigurację default_airflow
z wszelkimi nadpisaniami znajdującymi się w obiekcie airflow
. Wszystkie klucze obiektów będą dostosowane do airflow.cfg
w odpowiedniej sekcji. Wszystkie wartości są domyślnymi wartościami 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
Zależności
Brak
Przykładowy Playbook
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"
Licencja (MIT)
Copyright (c) 2017 CreditCards.com
Niniejszym udziela się zezwolenia, bez opłat, każdej osobie, która otrzyma kopię tego oprogramowania i związanych z nim dokumentów (zwanych dalej „Oprogramowaniem”), na korzystanie z Oprogramowania bez ograniczeń, w tym bez ograniczeń w zakresie praw do używania, kopiowania, modyfikowania, łączenia, publikowania, dystrybucji, sublicencjonowania oraz/lub sprzedaży kopii Oprogramowania oraz zezwalania osobom, którym Oprogramowanie jest dostarczane, na to, pod warunkiem spełnienia poniższych warunków:
Powyższe powiadomienie o prawach autorskich oraz to zezwolenie muszą być dołączone do wszystkich kopii lub istotnych części Oprogramowania.
OPROGRAMOWANIE JEST DOSTARCZANE „TAK JEST”, BEZ ŻADNEJ GWARANCJI, WYRAŹNEJ ANI DOMNIEMANEJ, W TYM WOZNA IA GWARANCJI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU I NARUSZENIA. W ŻADNYM WYPADKU AUTORZY ANI POSIADACZE PRAW AUTORSKICH NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA ŻADNE ROSZCZENIA, SZKODY ANI INNE OBOWIĄZKI, CZY TO W DZIAŁANIU UMOWY, DELIKCIE CZY W INNY SPOSÓB, WYNIKAJĄCE Z, ZNACZNIE LUB W ZWIĄZKU Z OPROGRAMOWANIEM LUB KORZYSTANIEM Z NICH CZY INNYMI TRANSAKCJAMI W OPROGRAMOWANIU.
ansible-galaxy install marcusianlevine.airflow