如何覆盖helm值

时间:2018-03-11 17:44:17

标签: bash docker gradle kubernetes kubernetes-helm

我实际上正在使用Gradle,Docker,Minikube和Helm开发环境。

我正在使用一堆bash脚本来完成任务。

到目前为止我所取得的成就是:

  1. Gradle使用插件构建jar进行版本控制。
  2. Gradle使用在jar作业上计算的相同版本构建docker镜像。
  3. 现在我需要能够将Gradle计算的版本传播到头盔,以便它可以选择正确的泊坞窗图像。

    我已经想到的方法是定义一个环境变量,以便Helm可以使用它。

    问题是我之后需要重新定义它。

    有更好的方法吗?

1 个答案:

答案 0 :(得分:6)

大多数Helm图表在values.yaml文件中至少包含以下内容,该文件设置了默认的docker图像标记,并且还允许用户安装/升级图表以指定不同的图像,而无需修改图表本身

# values.yaml
image:
  repository: <docker-repo-url-here>
  tag: <docker-image-tag-here>

在部署yaml中,从值.yaml

中获取值
# deployment.yaml
kind: Deployment
spec:
  template:
    spec:
      containers:
      - name: container-name
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag}}"

从那里,当您想要使用新图像时,可以做一个简单的helm upgrade <release-name> <chart-path> --set image.tag=<new-image-tag>