【发布时间】:2020-06-02 11:18:17
【问题描述】:
我知道您可以在 pod 规范中使用 ConfigMap 属性作为环境变量,但是您可以在 configmap 中使用在 pod 规范中声明的环境变量吗?
例如:
我有一个秘密密码,我希望在我的 configmap application.properties 中访问它。秘密看起来是这样的:
apiVersion: v1
data:
pw: THV3OE9vcXVpYTll==
kind: Secret
metadata:
name: foo
namespace: foo-bar
type: Opaque
所以在 pod 规范中,我将秘密引用为 env var。 configMap 将作为规范中的卷安装:
env:
- name: PASSWORD
valueFrom:
secretKeyRef:
name: foo
key: pw
...
然后在我的 configMap 中,我可以像这样引用秘密值:
apiVersion: v1
kind: ConfigMap
metadata:
name: application.properties
namespace: foo-bar
data:
application.properties: /
secret.password=$(PASSWORD)
我在网上找到的所有内容都只是将 configMap 值用作 env var,并没有提及在 configMap 值中使用 env var。
【问题讨论】:
-
为什么要将值从您的秘密复制到 configmap?您也可以直接将您的秘密挂载到 pod 中。你能详细说明一下你的用例吗?
-
@anmolagrawal 我希望将敏感值安全地传递到我的配置映射中
-
在 configmap 中保留敏感信息不是一个好习惯。你总是为此使用秘密。抱歉,我还是不明白用例。
-
@anmolagrawal 好的,不知道怎样才能更清楚,但感谢您的评论。
标签: kubernetes openshift amazon-eks configmap