【问题标题】:copy PODIP in configmap during kubernetes deployment在 Kubernetes 部署期间在 configmap 中复制 PODIP
【发布时间】:2019-12-26 13:21:54
【问题描述】:

我需要在 k8s 部署期间将 "PODIP" env 值传递给 configmap 以进行配置

部署.yaml

- env:
  - name: PODIP
    valueFrom:
      fieldRef:
        fieldPath: status.podIP

如何做到这一点? 10 倍

【问题讨论】:

  • 这是一个来自 fieldRef 和 fieldPath 的环境变量。在这种情况下,您不需要 configMap。
  • 我想在 configmap.yaml 部署期间看到类似的内容:mypodip: $POPIP。如何显示价值?
  • configmap 是一个没有环境值的静态文件
  • 考虑如果您有多个 pod 尝试使用同一个 ConfigMap(同一个 Deployment 的多个副本,甚至是多个不同的 Deployment)会发生什么。 Pod 只读取 ConfigMap,从不回写。

标签: kubernetes environment-variables configmap


【解决方案1】:

我对主题进行了小型研究,结果发现配置图是有意在不久前制作的ReadOnly

如果您确实需要与 configmap 中的文件进行交互,那么您可以将文件放在可写卷和 mount the volume 中。 或者你可以使用像 consul 这样的集中配置。

此外,您可以尝试将值存储在数据库中。存储配置信息的另一种选择可能是分布式缓存such as redis 或 hazelcast 等。

那是Pull request 使 ConfigMaps 只读。

希望对您有所帮助。 让我知道这是否是您一直在寻找的信息:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-25
    • 2020-08-30
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 2019-03-31
    相关资源
    最近更新 更多