我正在使用 helm/k8s 部署第三方(prisma)容器。容器需要一个 yaml 形式的环境变量,类似于
port: 4466
managementApiSecret: $PRISMA_SECRET
databases:
default:
connector: postgres
host: postgresql
port: 5432
user: postgres
password: $PG_SECRET
migrations: true
我可以访问 postgres 密码和 managementApiSecret 作为单独密钥中的值。我正在尝试创建获取两个秘密并使用它们来创建环境变量的 pod。我目前对解决方案的尝试如下所示。
containers:
- name: prisma
image: 'prismagraphql/prisma:1.14'
ports:
- name: prisma-4466
containerPort: 4466
env:
- name: PG_SECRET
valueFrom:
secretKeyRef:
name: postgresql
key: postgres-password
- name: PRISMA_CONFIG
value: |
port: 4466
managementApiSecret: $PRISMA_SECRET
databases:
default:
connector: postgres
host: postgresql
port: 5432
user: postgres
password: $PG_SECRET
migrations: true
这似乎不起作用(因为秘密是在 kubectl apply 时评估的?)。是否有另一种方法可以使用秘密信息创建环境变量?