KubernetesPodOperator параметризует идентификатор тега изображения - PullRequest
0 голосов
/ 03 марта 2020

В приведенном ниже 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
                          )

1 Ответ

0 голосов
/ 05 марта 2020

Создать ресурс 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"],
        ...
...