marcusianlevine.airflow

Rola Ansible: airflow

Status budowy

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.

O projekcie

Installs and configures the airflow project

Zainstaluj
ansible-galaxy install marcusianlevine.airflow
Licencja
other
Pobrania
429
Właściciel
Data Science + DevOps = DataEng