Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Kubernetes配置映射中使用敏感环境变量_Kubernetes_Openshift_Amazon Eks_Configmap - Fatal编程技术网

在Kubernetes配置映射中使用敏感环境变量

在Kubernetes配置映射中使用敏感环境变量,kubernetes,openshift,amazon-eks,configmap,Kubernetes,Openshift,Amazon Eks,Configmap,我知道您可以在pod规范中使用ConfigMap属性作为环境变量,但是您可以在ConfigMap中使用pods规范中声明的环境变量吗 例如: 我有一个秘密密码,我希望在configmap application.properties中访问该密码。秘密看起来是这样的: apiVersion: v1 data: pw: THV3OE9vcXVpYTll== kind: Secret metadata: name: foo namespace: foo-bar type: Opaque

我知道您可以在pod规范中使用ConfigMap属性作为环境变量,但是您可以在ConfigMap中使用pods规范中声明的环境变量吗

例如:

我有一个秘密密码,我希望在configmap application.properties中访问该密码。秘密看起来是这样的:

apiVersion: v1
data:
  pw: THV3OE9vcXVpYTll==
kind: Secret
metadata:
  name: foo
  namespace: foo-bar
type: Opaque
因此,在pod规范中,我将机密引用为env变量。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 vars使用的,没有提到在configMap值中使用env vars。

目前它不是Kubernetes功能。

有一个已关闭的问题要求提供此功能,这是一个有争议的话题,因为讨论在关闭几个月后仍在继续:

参考结束语:

最佳实践是不要在envvars中使用秘密值,而只将其作为挂载文件使用。如果希望将所有配置值保留在单个对象中,可以将所有值放置在一个秘密对象中,并以这种方式引用它们。 通过configmaps引用机密不是目标。。。它混淆了装载或注入配置映射的内容是否装载了机密值

我建议您阅读整个线程来理解他的原因,也许可以为您的环境找到另一种方法来获取这些变量


“好吧,但这是真实的生活,我需要让它发挥作用”

那么我向您推荐以下解决方法:


它使用容器入口点中的壳进行替换

为什么要将值从机密复制到configmap?你也可以直接将你的秘密装入吊舱。您能详细说明一下您的用例吗?@anmolagrawal我希望将敏感值安全地传递到我的configmap中。在configmap中保留敏感信息不是一个好做法。你总是用这个秘密。很抱歉,我仍然不理解这个用例。@anmolagrawal好的,我不知道如何才能让它更清楚,但谢谢你的评论。谢谢你的评论,以及“真实生活”小节。不幸的是,我们正在使用的代码是硬编码的,用于从app.properties文件中查找秘密值,因此不幸的是,我们需要这种变通方法。