【问题标题】:KubernetesPodOperator parameterize the image tag IDKubernetesPodOperator 参数化镜像标签 ID
【发布时间】:2020-03-03 13:08:15
【问题描述】:

在下面的 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
                          )

【问题讨论】:

    标签: kubernetes airflow kubernetes-helm kubernetes-pod


    【解决方案1】:

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

    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"],
            ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-08
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多