P-S*_*P-S 6 kubernetes airflow kubernetespodoperator
我有一个名为 Kubernetes ConfigMap test,其中包含具有某些值的键foobar。我想在环境变量中使用该键的值。
import datetime
import os
from airflow import models
from airflow.contrib.kubernetes.volume import Volume
from airflow.contrib.kubernetes.volume_mount import VolumeMount
from airflow.contrib.operators import kubernetes_pod_operator
YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)
cm_test = ['test']
volume_mount = VolumeMount('test',
mount_path='/config/',
sub_path=None,
read_only=False)
volume_config = {
'configMap': {
'name': 'test'
}
}
volume = Volume(name='test', configs=volume_config)
with models.DAG(
dag_id="test_env",
schedule_interval=datetime.timedelta(days=1),
start_date=YESTERDAY) as dag:
kubenetes_template_ex = kubernetes_pod_operator.KubernetesPodOperator(
task_id="test_env",
name="test_env",
namespace="foobar",
image="bash",
cmds=["printenv"],
arguments=[],
volumes=[volume],
volume_mounts=[volume_mount],
configmaps=cm_test,
env_vars={
'MY_ENV_VAR': '/config/foobar'
}
)
Run Code Online (Sandbox Code Playgroud)
正在做什么:ConfigMap 在已安装的卷中可用,因此我可以执行ls /config并foobar显示。
什么不起作用:我想使用foobar已安装的配置映射中的值设置一个环境变量。当前代码不起作用,因为文字字符串值/config/foobar被赋予环境变量。
| 归档时间: |
|
| 查看次数: |
1035 次 |
| 最近记录: |