我想创建一个部署 kubernetes 而不是 pod。有没有办法在 apache Airflow 中做到这一点? 。我了解 KubernetesPodOperator,但我想要的是 Deployment 类型,而不是 Pod 类型。
Apache Airflow 中的 KubernetesPodOperator
k = KubernetesPodOperator(namespace='default',
image="ubuntu:16.04",
cmds=["bash", "-cx"],
arguments=["echo", "10"],
labels={"foo": "bar"},
secrets=[secret_file,secret_env]
volume=[volume],
volume_mounts=[volume_mount]
name="test",
task_id="task",
affinity=affinity,
is_delete_operator_pod=True,
hostnetwork=False,
tolerations=tolerations
)
谢谢
最佳答案
I want to create a deployment kubernetes instead of a pod. Is there a way to do it in apache airflow?
不是真的。 Apache Airflow是一个运行 DAG 中定义的批处理任务的工具这不符合在 Kubernetes Deployment 中运行工作负载的模式。 。部署适用于长期运行的服务类型的应用程序,除非发生崩溃或您显式终止/删除它,否则不会终止(通常是无状态微服务)
Kubernetes 中更适合 Apache Airflow 功能的 Controller 是 Job Controller 在运行时也会创建一个 Pod。但这就是 Airflow 提供更丰富的功能集的地方,例如支持 DAGs
总之,能够使用 Airflow 创建部署是一件好事,但不一定适合该工具的主要模式用法。我建议使用不同的工具/方法来创建部署。
关于kubernetes - 使用 Apache Airflow 在 Kubernetes 中创建部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55269464/