【问题标题】:Airflow with KubernetesExecutor workers (EKS) and webserver+scheduler on EC2EC2 上的 KubernetesExecutor worker (EKS) 和 webserver+scheduler 的气流
【发布时间】:2021-11-23 08:04:21
【问题描述】:

我想知道是否可以在 Airflow 上设置 KubernetesExecutor,但让 Web 服务器和调度程序在 EC2 上运行?

这意味着任务将在 Kubernetes pod(在我的例子中为 EKS)上运行,但在常规 EC2 上运行基础服务。

我试图查找有关该问题的信息,但失败了...

以下引用来自 Airflow 的 docs,这就是我问这个问题的原因

KubernetesExecutor runs as a process in the Airflow Scheduler. The scheduler itself does not necessarily need to be running on Kubernetes, but does need access to a Kubernetes cluster.

提前致谢!

【问题讨论】:

    标签: kubernetes airflow


    【解决方案1】:

    是的,这是完全可能的。

    您只需要在 EC2 上运行 airflow schedulerairflow webserver 并将 EC2 实例配置为拥有所有必要的访问权限(可能通过服务帐户 - 但这是您的决定和部署配置),以便能够旋转 pod在您的 EKS 集群上。

    除了您必须学习如何运行和配置组件以相互通信之外,没有什么特别之处 - 没有现成的配方,您只需遵循 Airflo 的配置参数和身份验证您需要的方案。

    【讨论】:

    • 首先感谢您的回答!您知道我需要为此实施设置什么气流设置吗?就像我说的那样,我无法找到任何有关此的信息。
    • 没有“设置”——你需要按照这里的架构配置你的部署:airflow.apache.org/docs/apache-airflow/stable/concepts/…——但是因为你想要自定义设置而不是 Helm Chart 例如——airflow.apache.org/docs/helm-chart/stable/index.html(安装所有东西在 Kubernetes 中),您需要确保以通常在类似部署中部署其他应用程序的方式运行所有组件(少数应用程序)、数据库、身份验证。但是没有“设置”——你只需要自己设置整个部署。
    • 经验丰富的 devops(甚至是 devops 团队)大约需要几天的工作才能建立起来,所以我猜你不希望这会在评论中解释:)?
    • 我的意思是设置为气流.cfg 设置。我假设 AIRFLOW__KUBERNETES__CONFIG_FILE 应该是集群配置文件的路径。但是,AIRFLOW__KUBERNETES__IN_CLUSTER 是真还是假?从文档中不是很清楚
    • Path to the kubernetes configfile to be used when in_cluster is set to False - 这还不够清楚吗? airflow.apache.org/docs/apache-airflow/stable/…
    猜你喜欢
    • 1970-01-01
    • 2018-12-06
    • 2021-04-19
    • 2019-07-20
    • 2020-12-10
    • 2012-04-11
    • 1970-01-01
    • 2014-12-12
    • 2014-05-24
    相关资源
    最近更新 更多