【发布时间】:2019-02-06 00:22:15
【问题描述】:
我们正在简化气流代码库的构建/部署管道。
有人在使用 CI/CD 工具构建和部署管道方面有经验吗?
您如何在不同的环境(如测试、登台、生产等)中部署您的气流代码库,包括 DAG/插件/操作符。
您如何管理每个环境的气流.cfg 配置?
您在哪里管理每个环境的配置。
【问题讨论】:
标签: bigdata airflow orchestration
我们正在简化气流代码库的构建/部署管道。
有人在使用 CI/CD 工具构建和部署管道方面有经验吗?
您如何在不同的环境(如测试、登台、生产等)中部署您的气流代码库,包括 DAG/插件/操作符。
您如何管理每个环境的气流.cfg 配置?
您在哪里管理每个环境的配置。
【问题讨论】:
标签: bigdata airflow orchestration
我们将所有代码构建到一个 Docker 镜像(DAG、插件、不同的 Python 包、不同的airflow.cfg 文件等)中,然后推送到我们的 Kubernetes 集群。相同的映像在任何地方运行,确保依赖关系保持锁定,并且每个 Airflow 都针对其用例进行了最佳配置(我们在 Kubernetes 集群上运行多个 Airflow 实例)。
就 CI/CD 而言,由于我们的部署几乎只是 docker push,因此我们使用 CircleCI 没有任何问题。
为了管理环境,我们将尝试在 Airflows 中保持名称相同的连接(例如 redshift_conn),但使用不同的凭据(dev Redshift 与 prod Redshift)。我认为应该有更优雅的解决方案,但这对我们来说是有效的。
【讨论】: