【问题标题】:how to enumerate over key/value collection to set parameters/env-variables in kubernetes job如何枚举键/值集合以在 kubernetes 作业中设置参数/环境变量
【发布时间】:2020-11-12 15:46:20
【问题描述】:

https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/

apiVersion: v1
kind: Pod
metadata:
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: DEMO_GREETING
      value: "Hello from the environment"
    - name: DEMO_FAREWELL
      value: "Such a sweet sorrow"

我有一组键/值对,并希望在env: 部分下对其进行枚举,这样我就不必对键/值对进行硬编码。键/值对列表是动态增长的,因此需要。是否可以引用一个集合或枚举它?

【问题讨论】:

    标签: kubernetes kubernetes-pod


    【解决方案1】:

    嗯...Pod定义yaml的结构是严格定义的,你不能引入任何不符合规范的更改。所以这个结构必须保持:

    ...
    env:
    - name: DEMO_GREETING
      value: "Hello from the environment"
    - name: DEMO_FAREWELL
      value: "Such a sweet sorrow"
    ...
    

    据我所知,您无法通过引用包含key:value 对列表的文件以如此简单的方式进行操作。如果您将 key:value 对的列表存储在一个文件中,您可以编写一个相当简单的 bash 脚本来遍历它并相应地更新您的 yaml,例如通过使用kubectl patch

    实际上可以使用 envFrom 代替 env,但 requires 使用 configMapRefsecretRef 所以首先你需要创建一个 SecretConfigMap 包含你的 key:value 对.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 2019-07-21
      • 2023-03-13
      相关资源
      最近更新 更多