【发布时间】:2021-02-26 19:10:00
【问题描述】:
我正在 Google Cloud Composer 上设置 Airflow 环境以进行测试。我在我的命名空间中添加了一些秘密,它们显示得很好。
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 程序的 docker 映像,我想打印通过 KubernetesPodOperator 传递的秘密,如下所示:
call_api.py
if __name__ == '__main__':
print($secret_token) ====> how can I do this ?
在文档中找不到任何有价值的资源...
【问题讨论】:
-
您需要在 call_api.py 中打印秘密吗?根据documentation,您可以使用
kubectl describe secrets/your-secret访问机密。
标签: kubernetes google-cloud-platform airflow google-kubernetes-engine google-cloud-composer