如何解决Airflow KubernetesPodOperator:如何访问传递给Pod的秘密?
我试图在气流中将秘密变量传递给我的 KubernetesPodoperator
这是我所做的:
apiVersion: v1
kind: Secret
Metadata:
name: my-secret
type: Opaque
data:
SECRET_1: blabla
SECRET_2: blibli
- 应用秘密:
kubectl apply -f ./secret.yaml
- 从我的 DAG 文件中检索机密:
from airflow.contrib.kubernetes.secret import Secret
from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodoperator
from airflow.models import DAG
SECRET_1 = Secret(
deploy_type="env",deploy_target="SECRET_1",secret="ai-controller-object-storage",key="SECRET_1"
)
SECRET_2 = Secret(
deploy_type="env",deploy_target="SECRET_2",key="SECRET_2"
)
with DAG(...) as dag:
KubernetesPodoperator(
task_id=..,trigger_rule="all_success",namespace="default",image=IMAGE,startup_timeout_seconds=600,secrets=[
SECRET_1,SECRET_2],...)
所以现在据我所知,我应该从 SECRET_1
KubernetesPodoperator
作为容器中的环境变量
但是,我从 python 脚本(使用 os.environ["SECRET_1"]
)执行的第一个任务返回一个错误,表明该环境变量不存在:
KeyError: 'SECRET_1'
我怎样才能从我的 python 脚本访问这个变量?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。