我想创建一个部署kubernetes而不是一个pod。有办法做到这一点吗? 。我知道KubernetesPodOperator,但我想要的是:部署,而不是: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
)
谢谢
答案 0 :(得分:1)
我想创建一个部署kubernetes而不是一个pod。有办法做到这一点吗?
不是。 Apache Airflow是用于运行DAG中定义的批处理任务的工具,该工具不适合在Kubernetes Deployment中运行工作负载的模式。部署适用于长期运行的服务类型的应用程序,除非发生崩溃或您明确终止/删除它,否则它们不会终止(aka,通常是无状态的微服务)
Kubernetes中最适合Apache Airflow的控制器是Job控制器,它在运行时也会创建一个Pod。但这就是Airflow提供更丰富的功能集的地方,例如对DAGs
的支持总而言之,具有使用Airflow创建部署的能力更令人高兴,但不一定适合该工具的主要模式。我建议使用其他工具/方法来创建您的部署。