yaml - 如何在 kubernetes 复制 Controller yaml 文件中使用环境变量

标签 yaml kubernetes

如何读取kubernetes yaml文件中的环境变量? 例如,我想更改 docker image 标签但不想重写文件,就像这样

apiVersion: v1
kind: ReplicationController
...
spec:
  containers:
    - name: myapp
      image: myapp:${VERSION}
 ...

有了这个,我可以在不更新 yaml 文件的情况下执行 kubectl rolling-update

谢谢

最佳答案

如果您想要一个简单、轻量级的方法,您可以尝试使用 envsubst .因此,假设您的示例位于您将执行的 bash shell 中名为 example.yaml 的文件中:

export VERSION=69
envsubst < example.yaml | kubectl apply -f -

还有最新版本的 Kustomize也可以做到。

关于yaml - 如何在 kubernetes 复制 Controller yaml 文件中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504161/

相关文章:

php - 在 xampp windows 中安装 Yaml

r - `bookdown`/`rmarkdown`/`knitr` : Child documents and path definition in `YAML` headers

Kubernetes:如何找到已安装的存储供应商

go - Kubernetes `client-go`-如何在容器中获取容器状态

kubernetes - 谁能澄清您可以在Azure AKS中为其他 namespace 指定KUBERNETES_SERVICE_HOST的地方吗? Kube系统正确,其他 namespace 不正确

yaml - 是否可以在YAML中进行字符串替换?

python - 使用 PyYAML 用单引号括起来的单个字符串

ansible - 获取ansible中变量的值

kubernetes - 如何通过命令行传递Pod的数量

python - 如果在 python multiprocessing.cpu_count() 中返回 64,我是否受益于 gcloud Compute Engine 的 96 个 vCPU?