kubernetes - Airflow Kubernetes Executor 是否运行任何算子?
问题描述
我正在评估我当前的 Airflow 部署从 Celery 执行器到 Kubernetes (K8s) 执行器的迁移,以利用资源的动态分配和 Pod 提供的任务的隔离。
我很清楚,我们可以使用原生 KubernetesPodOperator 通过 K8s 执行器在 K8s 集群上运行任务。但是,我找不到有关 K8s 执行器与其他运算符(例如 bash 和 athena)之间兼容性的信息。
这里的问题是是否可以在 K8s 驱动的 Airflow 上运行 bash(或任何其他)操作员,或者我应该将所有任务迁移到 KubernetesPodOperator?
谢谢!
解决方案
Kubernetes 执行器将与所有操作员一起工作。
使用 kubernetes 执行器将为每个任务创建一个工作 pod,而不是像 celery 执行器那样使用 celery 工作器。
使用KubernetesPodOperator将拉取任何特定图像以启动 pod 并执行您的任务。
因此,如果您要将KubernetesPodOperator与KubernetesExecutor一起使用,Airflow 将为您的任务启动一个工作 pod,该任务将启动一个 pod 并监视其执行。1 个任务的 2 个 pod。
如果您将BashOperator与KubernetesExecutor一起使用,Airflow 将启动一个工作 pod 并在该工作 pod 上执行 bash 命令。1 个 pod 用于 1 个任务。
推荐阅读
- javascript - Angular8 - 从服务返回的对象,排序和显示
- sql - 更新表中新列中的序列号
- javascript - 尝试向多个 Discord 频道发送消息
- python - 删除特定列的数据框中的重复行
- java - java中读取文件的函数
- android - MVVM 注入 Activity 字符串资源阅读器
- javascript - 使用 ES6 嵌套在 Javascript 中时添加对象
- php - 未捕获的错误:调用未定义的函数 mb_strripos()
- visual-studio-2015 - 如何在解决方案中将 GitLab 与多个项目文件夹一起使用?
- regex - 正则表达式仅删除特定嵌套级别的括号中的文本?