首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从KubernetesPodOperator (气流)中消耗kubernetes秘密

从KubernetesPodOperator (气流)中消耗kubernetes秘密
EN

Stack Overflow用户
提问于 2020-11-15 10:56:46
回答 1查看 833关注 0票数 0

我正在为测试在上设置一个气流环境。我在命名空间中添加了一些秘密,它们显示得很好。

代码语言:javascript
复制
secret_token = secret.Secret(
    deploy_type='env',
    deploy_target='SQL_CONN',
    secret='m-secrets',
    key='token')

YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)

with models.DAG(
        dag_id='composer_set_controlm_secret_kubernetes_pod',
        schedule_interval=datetime.timedelta(days=1),
        start_date=YESTERDAY) as dag:

  kubernetes_secret_vars_ex = kubernetes_pod_operator.KubernetesPodOperator(
        task_id='ex-kube-secrets',
        name='ex-kube-secrets',
        image='eu.gcr.io/$PROJECT/$DOCKER_IMG:latest',
        namespace='default',
        cmds=['python'],
        arguments=['call_api.py'],
        secrets=[secret_token]
  )

由于您可以在上面查看,我正在运行一个名为call_api.py程序的对接者映像,我想将通过KubernetesPodOperator传递的秘密打印如下:

call_api.py

代码语言:javascript
复制
if __name__ == '__main__':
print($secret_token) ====> how can I do this ?

在文件上找不到任何有价值的资源..。

EN

回答 1

Stack Overflow用户

发布于 2020-11-17 08:37:38

因为您将deploy_type指定为env,所以气流将将您选择的秘密添加到容器的环境中。

您有多个从环境读取的选项。通过默认库的方法是os.environ,它为您提供了当前环境变量的字典。

导入操作系统

但是,如果要以这种方式进行配置,还可以使用print(os.environ‘’SQL_CONN‘)。我们使用dynaconf进行气流部署,这为您提供了一个设置对象,只要环境变量是用DYNACONF_前缀创建的,就可以读取它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64843567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档