gpt4 book ai didi

docker - 使用从属性文件创建的 ConfigMap 条目

转载 作者:行者123 更新时间:2023-12-04 02:55:49 29 4
gpt4 key购买 nike

文档 ( 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

然而,当我们从属性文件创建 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
[...]

在这种情况下:
  • 我们如何使用单个条目(例如:emsense.cheat)作为
    环境变量?
  • 我们如何消耗所有条目(例如:所有 game.properties 条目)
    作为一组环境变量,假设我们只是将每个键用作
    环境变量名?
  • 最佳答案

    您不能使用单个条目,因为它只是一大块文本。我看到你有两个选择:

  • 不要从文件创建配置映射。而是手动在 ConfigMap 中创建每个条目。但是,您必须分别使用每个 key ,至少在 this issue 之前已解决。
  • 不要使用 ConfigMap 作为环境变量。而是将该键作为卷安装并让您的应用程序读取键/值。

  • 似乎第二个选项对您很有效。它可以让您继续从文件生成 ConfigMap,还可以让您使用所有声明的键/值,而无需不断更改 Kubernetes list 。

    将 ConfigMap 作为卷安装的另一个优点是它允许您对配置执行就地更新(假设您的应用程序可以容忍)。如果您将 ConfigMap 键挂载为环境变量,则更新它们的唯一方法是重新启动应用程序。

    关于docker - 使用从属性文件创建的 ConfigMap 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40809657/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com