一、部署要求
Apache Airflow 已通过以下测试:
Main version (dev) | Stable version (2.1.4) | |
---|---|---|
Python | 3.6, 3.7, 3.8, 3.9 | 3.6, 3.7, 3.8, 3.9 |
Kubernetes | 1.20, 1.19, 1.18 | 1.20, 1.19, 1.18 |
PostgreSQL | 9.6, 10, 11, 12, 13 | 9.6, 10, 11, 12, 13 |
MySQL | 5.7, 8 | 5.7, 8 |
SQLite | 3.15.0+ | 3.15.0+ |
MSSQL(Experimental) | 2017,2019 |
注意: MySQL 5.x 版本不能或有运行多个调度程序的限制——请参阅调度程序文档。MariaDB 未经过测试/推荐。
注意: SQLite 用于 Airflow 测试。不要在生产中使用它。我们建议使用最新的 SQLite 稳定版本进行本地开发。
PS:本文部署
Airflow
稳定版2.1.4
,Kubernetes
使用1.20.x
版本,PostgreSQL
使用12.x
,使用Helm Charts
部署。
二、生成Helm Charts配置
PS:使用 helm 3 版本部署
1 | # 创建kubernetes airflow 命名空间 |
三、修改airflow配置
3.1 配置持续存储 StorageClass
PS: 使用阿里云
NAS极速存储
1 | # 编辑 StorageClass 文件 |
3.2 配置 airflow Dags 存储仓库 gitSshKey
1 | # 编辑 airflow-ssh-secret.yaml 文件,首先需要把shh公钥添加到git项目仓库中 |
3.3 Docker 部署 PostgreSQL 12
1 | # 创建 postgresql 存储目录 |
3.4 修改 airflow_1.2.4_values.yaml 配置
PS:本文 airflow_1.2.4_values.yaml 配置文件需要三个pvc,服务分别是 redis、worker(只部署1个worker,可以部署多个worker)、dags
因配置文件太长,不具体贴出,具体内容请参考下面链接:
https://github.com/yangpeng14/DevOps/blob/master/config_dir/airflow_1.2.4_values.yaml
四、部署 Airfolw
1 | # 第一次部署 Airflow |
五、配置 Airflow Ingress Nginx 访问入口
1 | # 生成 ingress nginx 配置文件 |
六、参考链接
- 1、https://github.com/apache/airflow/tree/2.1.4
- 2、https://airflow.apache.org/docs/helm-chart/1.2.0/index.html
---本文结束感谢您的阅读。微信扫描二维码,关注我的公众号---
本文作者:
Peng Yang
本文链接: https://www.yp14.cn/2021/11/28/K8S部署分布式调度任务Airflow/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://www.yp14.cn/2021/11/28/K8S部署分布式调度任务Airflow/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!