[英]K8s secret composition
我正在使用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申请时间评估的?)。 是否有使用秘密信息创建环境变量的替代方法?
从envvar doc: https ://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#envvar-v1-core
变量引用$(VAR_NAME)使用容器中先前定义的环境变量和任何服务环境变量进行扩展。
您的第二个envvar可以将较早的envvar的值用作$(PG_SECRET)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.