【发布时间】:2020-03-09 02:09:26
【问题描述】:
我是 kubernetes 的新手,我必须为现有的 configmap 实现 kubernetes 机密,并使用硬编码密码。
每个 pod 有 2 个配置映射,1 个 settings.yaml 和其他 settings_override.yaml。我必须在我保存 base64 机密的地方设置覆盖文件读取环境变量。 我已经创建了秘密,并且可以在 printenv 之后在 pod 中看到它们。
请建议我如何让我的 settings_override.yaml 文件读取这些环境机密。
注意:如果我只是从 settings_override.yaml 文件中删除 key:value 对,那么它是从 settings.yaml 而不是我的 env 变量中选择值。
Settings 和 setting_override 文件供参考:
apiVersion: v1
data: setting.json: | {
"test": {
"testpswd": "test123",
"testPort": "123",
},
}
apiVersion: v1
data: setting_override.json: | {
"test": {
"testpswd": "test456",
"testPort": "456",
},
}
【问题讨论】:
-
您能否添加您的
settings.yaml和settings_override.yaml以便更好地理解,删除任何机密内容。 -
嗨,请在下面找到示例:
apiVersion: v1 data: setting.json: | { "test": { "testpswd": "test123", "testPort": "123", }, }********************************* ******************************apiVersion: v1 data: setting.override.json: | { "test": { "testpswd": "test456", "testPort": "456", }, }对于 settings_override 文件,我创建了 test_testpswd 和 test_testport 作为环境变量。我想删除这些硬编码的值,但不幸的是它没有选择 env 变量,而是从设置文件中获取值。 -
@Here_2_learn -- 我在上面的评论中添加了详细信息。抱歉,代码格式错误。
-
这是错误的代码格式,因为您应该edit your question 而不是将更新发布到 cmets; cmets 的空间非常有限,并且(如您所见)不能很好地格式化代码块。请将评论内容移至您的问题中
-
@AnuThakur 我不确定你到底想做什么。但我可以确保您想要更新 configmap,您将需要其他一些能够读取您的 pod 环境并在 configmap 上执行更新操作的应用程序。
标签: kubernetes openshift configmap kubernetes-secrets