Google Cloud Composer 上的 Airflow 与 Docker
Airflow on Google Cloud Composer vs Docker
我找不到太多关于 运行ning Airflow on Google Cloud Composer 与 Docker 的区别的信息。我正在尝试将我们目前在 Google Cloud Composer 上的数据管道切换到 Docker 到本地 运行,但我正在尝试概念化区别是什么。
Cloud Composer 是 Airflow 的 GCP 托管服务。 Composer 运行 在称为 Composer 环境的环境中,运行 在 Google Kubernetes Engine 集群上。它还利用各种其他 GCP 服务,例如:
- Cloud SQL - 存储与 Airflow 关联的元数据,
- App Engine Flex - Airflow 网络服务器运行作为 App Engine Flex 应用程序,使用身份感知代理进行保护,
- GCS bucket - 为了在 Composer 上提交要调度和 运行 的管道,我们需要做的就是将 Python 代码复制到 GCS bucket 中。在其中,它将有一个名为 DAGs 的文件夹。任何上传到该文件夹的 Python 代码都会被 Composer 自动提取和处理。
Cloud Composer 如何受益?
专注于您的工作流程,让 Composer 管理基础设施(创建工作人员、设置 Web 服务器、消息代理),
一键新建Airflow环境,
轻松且受控地访问 Airflow Web UI,
提供日志记录和监控指标,并在您的工作流程不正常时发出警报 运行ning,
与所有 Google 云服务集成:大数据、机器学习等。 运行 其他地方的工作,即其他云提供商 (Amazon)。
当然,您必须为托管服务付费,但与您必须自己托管生产气流服务器相比,成本较低。
预置气流
- 需要完成的 DevOps 工作:创建新服务器、管理 Airflow 安装、处理依赖项和包管理、检查服务器健康状况、扩展和安全性。
- 从注册表中拉取 Airflow 映像并创建容器
- 创建一个卷来映射本地机器上存放 DAG 的目录,以及 Airflow 在容器上读取它们的位置,
- 每当您想提交需要访问 GCP 服务的 DAG 时,您需要注意设置凭据。应创建应用程序的服务帐户并将其下载为包含凭据的 JSON 文件。此 JSON 文件必须链接到您的 docker 容器中,并且 GOOGLE_APPLICATION_CREDENTIALS 环境变量必须包含容器内 JSON 文件的路径。
总而言之,如果您不想处理所有这些 DevOps 问题,而只想专注于您的工作流程,那么 Google Cloud composer 是您的绝佳解决方案。
此外,我想与您分享设置Airflow with Docker and on GCP Cloud Composer的教程。
我找不到太多关于 运行ning Airflow on Google Cloud Composer 与 Docker 的区别的信息。我正在尝试将我们目前在 Google Cloud Composer 上的数据管道切换到 Docker 到本地 运行,但我正在尝试概念化区别是什么。
Cloud Composer 是 Airflow 的 GCP 托管服务。 Composer 运行 在称为 Composer 环境的环境中,运行 在 Google Kubernetes Engine 集群上。它还利用各种其他 GCP 服务,例如:
- Cloud SQL - 存储与 Airflow 关联的元数据,
- App Engine Flex - Airflow 网络服务器运行作为 App Engine Flex 应用程序,使用身份感知代理进行保护,
- GCS bucket - 为了在 Composer 上提交要调度和 运行 的管道,我们需要做的就是将 Python 代码复制到 GCS bucket 中。在其中,它将有一个名为 DAGs 的文件夹。任何上传到该文件夹的 Python 代码都会被 Composer 自动提取和处理。
Cloud Composer 如何受益?
专注于您的工作流程,让 Composer 管理基础设施(创建工作人员、设置 Web 服务器、消息代理),
一键新建Airflow环境,
轻松且受控地访问 Airflow Web UI,
提供日志记录和监控指标,并在您的工作流程不正常时发出警报 运行ning,
与所有 Google 云服务集成:大数据、机器学习等。 运行 其他地方的工作,即其他云提供商 (Amazon)。
当然,您必须为托管服务付费,但与您必须自己托管生产气流服务器相比,成本较低。
预置气流
- 需要完成的 DevOps 工作:创建新服务器、管理 Airflow 安装、处理依赖项和包管理、检查服务器健康状况、扩展和安全性。
- 从注册表中拉取 Airflow 映像并创建容器
- 创建一个卷来映射本地机器上存放 DAG 的目录,以及 Airflow 在容器上读取它们的位置,
- 每当您想提交需要访问 GCP 服务的 DAG 时,您需要注意设置凭据。应创建应用程序的服务帐户并将其下载为包含凭据的 JSON 文件。此 JSON 文件必须链接到您的 docker 容器中,并且 GOOGLE_APPLICATION_CREDENTIALS 环境变量必须包含容器内 JSON 文件的路径。
总而言之,如果您不想处理所有这些 DevOps 问题,而只想专注于您的工作流程,那么 Google Cloud composer 是您的绝佳解决方案。
此外,我想与您分享设置Airflow with Docker and on GCP Cloud Composer的教程。