我想让我的Composer环境(Google的托管Airflow服务)在一个不同的 kubernetes集群上启动pods。我该怎么做?
注意,composer在kubernetes集群上运行气流。该集群被认为是作曲家的“环境”。使用KubernetesPodOperator
__的默认值,composer将在其自己的集群上调度豆荚。然而,在这种情况下,我有一个不同的kubernetes集群,我想在这个集群上运行这些吊舱。
我可以连接到工人吊舱,并在那里运行一个gcloud container clusters get-credentials CLUSTERNAME
,但时不时这些吊舱会被回收,所以这不是一个持久的解决方案。
我注意到KubernetesPodOperator
有一个in_cluster
和一个cluster_context
参数,这似乎很有用。我希望这样做是可行的:
pod = kubernetes_pod_operator.KubernetesPodOperator(
task_id='my-task',
name='name',
in_cluster=False,
cluster_context='my_cluster_context',
image='gcr.io/my/image:version'
)
但这会导致kubernetes.config.config_exception.ConfigException: Invalid kube-config file. Expected object with name CONTEXTNAME in kube-config/contexts list
虽然如果我在工人荚中运行kubectl config get-contexts
,我可以看到集群配置列出。
所以我不明白的是:
发布于 2019-09-02 13:52:36
有关这个,请查看GKEPodOperator。
文档中的示例用法:
operator = GKEPodOperator(task_id='pod_op',
project_id='my-project',
location='us-central1-a',
cluster_name='my-cluster-name',
name='task-name',
namespace='default',
image='perl')
https://stackoverflow.com/questions/57754956
复制相似问题