KubernetesPodOperator参数化图像标记ID

KubernetesPodOperator参数化图像标记ID,kubernetes,airflow,kubernetes-helm,kubernetes-pod,Kubernetes,Airflow,Kubernetes Helm,Kubernetes Pod,在下面的KubernetesPodOperator中,如何使图像标记(16.04)成为可以通过ConfigMap键值提供的参数/配置值 k = KubernetesPodOperator(namespace='default', image="ubuntu:16.04", cmds=["bash", "-cx"], arguments=["e

在下面的KubernetesPodOperator中,如何使图像标记(
16.04
)成为可以通过ConfigMap键值提供的参数/配置值

k = KubernetesPodOperator(namespace='default',
                          image="ubuntu:16.04",
                          cmds=["bash", "-cx"],
                          arguments=["echo", "10"],
                          labels={"foo": "bar"},
                          secrets=[secret_file, secret_env, secret_all_keys],
                          ports=[port]
                          volumes=[volume],
                          volume_mounts=[volume_mount]
                          name="test",
                          task_id="task",
                          affinity=affinity,
                          is_delete_operator_pod=True,
                          hostnetwork=False,
                          tolerations=tolerations,
                          configmaps=configmaps
                          )

创建
Secret
ConfigMap
资源。添加键/值对:

apiVersion: v1
kind: ConfigMap
metadata:
  name: "app-configmap-env"
  namespace: "app-ns"
data:
  imageTagId: "abcd1234"

在DAG定义文件中:

    with DAG(dag_id='my_dag', default_args=default_args, schedule_interval=None) as dag:

        configmaps = ['app-configmap-env']

        image_tag_id = os.environ.get('imageTagId', '')
        image_name_tag = "ubuntu:%s" % (image_tag_id)
        ...
        k = KubernetesPodOperator(namespace='default',
                          image=image_name_tag,
                          cmds=["bash", "-cx"],
        ...