用于消费值的文档(http://kubernetes.io/docs/user-guide/configmap/)上的示例基于ConfigMap,其中每个数据条目都是单对/值.例:
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
special.how: very
special.type: charm
Run Code Online (Sandbox Code Playgroud)
但是,当我们从属性文件创建ConfigMap时,每个数据条目值本身都是键/对值的列表.例:
$ kubectl get configmaps game-config -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: game-config
[...]
data:
game.properties: |-
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30
[...]
Run Code Online (Sandbox Code Playgroud)
在这种情况下:
您无法使用单个条目,因为它只是一大块文本。我看到你有两个选择:
不要从文件创建配置映射。而是手动创建 ConfigMap 中的每个条目。不过,您必须单独使用每个密钥,至少在这个问题得到解决之前是这样。
不要使用 ConfigMap 作为环境变量。相反,将该密钥安装为卷,并让您的应用程序读取该密钥/值。
看来第二个选项很适合你。它可以让您继续从文件生成 ConfigMap,还可以让您使用所有声明的键/值,而无需不断更改 Kubernetes 清单。
将 ConfigMap 安装为卷的另一个优点是,它允许您对配置执行就地更新(假设您的应用程序可以容忍)。如果您将 ConfigMap 键安装为环境变量,则更新它们的唯一方法是重新启动应用程序。
归档时间: |
|
查看次数: |
722 次 |
最近记录: |