如何让Google Cloud Composer(airflow)在不同的kubernetes集群上运行作业?
我想让我的Cloud Composer环境Google Cloud的托管Apache Airflow服务在另一个kubernetes集群上启动pods。我该怎么做 请注意,Cloud composer在kubernetes群集上运行气流。该集群被视为编写器环境。使用KubernetesPodOperator的默认值,composer将在自己的集群上调度POD。然而,在本例中,我有一个不同的kubernetes集群,我想在它上运行POD 我可以连接到worker pod并在那里运行gcloud容器clusters get credentials CLUSTERNAME,但pod偶尔会被回收,因此这不是一个持久的解决方案 我注意到,有一个in_cluster和一个cluster_context参数,这似乎很有用。我希望这会奏效: pod=kubernetes_pod_运算符。KubernetesPodOperator task_id='my-task', name='name', in_cluster=False, cluster\u context='my\u cluster\u context', image='gcr.io/my/image:version' 但这会导致kubernetes.config.config_exception.ConfigException:无效的kube配置文件。kube配置/上下文列表中应为名为CONTEXTNAME的对象 虽然如果我在worker pod中运行kubectl config get context,我可以看到列出的集群配置 所以我没有弄明白的是: 如何确保我的另一个kubernetes集群的上下文在worker pod上可用,或者应该在节点上?我的作曲环境? 如果为测试目的而手动设置了上下文,我如何告诉airflow使用该上下文? 检查一下这个 文档中的用法示例:如何让Google Cloud Composer(airflow)在不同的kubernetes集群上运行作业?,kubernetes,google-cloud-platform,airflow,google-cloud-composer,Kubernetes,Google Cloud Platform,Airflow,Google Cloud Composer,我想让我的Cloud Composer环境Google Cloud的托管Apache Airflow服务在另一个kubernetes集群上启动pods。我该怎么做 请注意,Cloud composer在kubernetes群集上运行气流。该集群被视为编写器环境。使用KubernetesPodOperator的默认值,composer将在自己的集群上调度POD。然而,在本例中,我有一个不同的kubernetes集群,我想在它上运行POD 我可以连接到worker pod并在那里运行gcloud容器
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')
检查一下这个
文档中的用法示例:
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')
查看GKEPodOperator@真管用!请随意将此作为答案发布,以便我可以接受。酷!很高兴它有帮助!查看GKEPodOperator@真管用!请随意将此作为答案发布,以便我可以接受。酷!很高兴它有帮助!