gpt4 book ai didi

Kubernetes 部署 - 传递参数

转载 作者:行者123 更新时间:2023-12-02 16:39:43 35 4
gpt4 key购买 nike

我想在使用 kubectl 时将参数传递给 Kubernetes 部署命令应用部署文件。

示例:在我的部署 .yaml 中,我有如下参数,我想在使用 kubectl apply - f <my-deployment>.yaml 运行时传递参数值

因此,在下面的示例中,我想在运行上述 kubectl 命令时覆盖 args - userid 和角色。

spec:
containers:
- name: testimage
image: <my image name>:<tag>
args:
- --userid=testuser
- --role=manager

最佳答案

简单的答案是。你不能那样做。

kubectl 不是模板引擎。正如一些人提到的,您可以使用 Helm 或 Kustomize 等选项来解决这个问题。我鼓励您研究一下 Helm3,因为它可以通过 helm upgrade --install ... --set userid=xxx --set role=yyy 这样的命令很好地解决您的问题。

如果你只是坚持使用 kubectl,你可能想使用它从标准输入中获取 yaml 的能力,并首先通过任何类型的模板传递你的 yaml。 IE。如下:

...
args:
- --userid=$USER
- --role=$ROLE
...
cat resource.yaml | USER=testuser ROLE=manager envsubst | kubectl apply -f -

显然任何其他字符串替换方法都可以(sed、awk 等)

关于Kubernetes 部署 - 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61946064/

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