【问题标题】:How to pass dynamic value to kubernetes container如何将动态值传递给 Kubernetes 容器
【发布时间】:2019-09-21 22:20:04
【问题描述】:

我是 Kubernetes 新手,我有一个简单的 Python 代码,它是两个数字的总和并部署在 Kubernetes 中。
我想将两个值动态传递给 Kubernetes 运行容器。 我的代码:

import sys

number1 = int(sys.argv[1])

number2 = int(sys.argv[2])

print(number1 + number2)

我想每次使用不同的数字动态传递数字 1 和数字 2。
有人可以帮我吗?

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    在您的 pod 规范字段中,有一些字段可以将参数传递给您的命令。如果您使用的是不同类型的 kubernetes 类型(部署、守护进程...),则该类型有一个用于您的 pod 规范的模板字段。这个document 很好地描述了您正在尝试做的事情。

    简而言之,您需要为您的 pod 规范提供一个参数字段。

    spec:
      containers:
      - name: your-containers-name
        image: image
        command: ["python", "app.py"]
        args: 
          - "234" # number1
          - "433" # number2
    

    【讨论】:

    • 如果我想将值从 234 更改为其他值,我是否需要再次编辑 pod 规范。有没有办法从命令行动态传递这些更改
    • 您可以执行类似stackoverflow.com/a/56009991/2430915 的操作,或者使用 sed 更新 yaml,然后将其通过管道传输到 kubectl。您可以使用的另一个选项是 kubectl run 命令,它可能类似于 kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>
    猜你喜欢
    • 2018-11-21
    • 2021-11-05
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    相关资源
    最近更新 更多