使用从属性文件创build的ConfigMap的条目
用于消费值的文档( 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
但是,当我们从属性文件创buildConfigMap时,每个数据input值本身就是一个键/值对的列表。 例:
$ 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 [...]
在这种情况下:
- 我们如何使用单个条目(例如:enemies.cheat)作为环境variables?
- 我们如何将所有条目(例如:所有game.properties条目)作为一组环境variables来使用,假设我们只是将每个键用作环境variables名?
你不能消费一个单一的条目,因为它只是一个文本的大块。 你有两个select,我看到:
-
不要从文件创buildconfiguration映射。 而是手动在ConfigMap中创build每个条目。 但是,您必须分别使用每个密钥,至less在解决此问题之前。
-
不要使用ConfigMap作为环境variables。 请将该密钥安装为卷,并让应用程序读取密钥/值。
看起来第二个选项对你来说很好。 它可以让你继续从一个文件中生成你的ConfigMap,并且允许你使用所有声明的键值,而不必经常改变你的Kubernetes清单。
把你的ConfigMap作为一个卷的另一个好处是,它可以让你对你的configuration执行就地更新(假设你的应用程序容忍这个)。 如果您将ConfigMap键安装为环境variables,则更新它们的唯一方法是重新启动应用程序。
- 如何让JSF在Docker容器中使用spring-boot应用程序?
- 如何从Cassandra数据库的Docker镜像获取.CSV文件到本地机器
- 在Artifactory上的Docker Registry on-prem安装
- Terraform可以从remote_exec命令设置variables吗?
- 什么会阻止在Docker容器中运行的代码连接到单独的服务器上的数据库?
- docker – 撰写错误:服务“构build”必须是一个映射器不是一个string错误
- 两个独立的docker php环境共享一个mysql
- 使用Django和Docker从MySQL迁移到postgresql – 关系“authtoken_token”不存在
- docker客户端守护进程远程群集1.12.1`pipe理器