在使用chart创建release时,我们可能想使用自定义的参数值,或者将chart中的默认值覆盖掉。
通常有三种实现方式:
--set
参数下面我们将一一介绍这三种方式
使用--set
参数进行覆盖是最常用的一种方式,例如, prometheus的helm定义中,给server的pv卷默认大小是8GB,在生产环境中很容易打满磁盘,在安装时我们要调大这个值:
使用--set
参数可以将新的值传入,覆盖掉默认的值:
在上一节中,我们部署nginx的values.yaml内容如下:
deployment:
replicaCount: 3
name: my-deployment
image:
app: nginx
version: latest
service:
name: my-service
type: NodePort
port: 80
targetPort: 80
nodePort: 32036
假设这个yaml文件中的变量仅用于测试环境。在生产环境中,我们需要另一套的value。
在同目录下新建new-values.yaml
文件:
deployment:
replicaCount: 5
name: prod-deployment
image:
app: nginx
version: latest
service:
name: prod-service
type: NodePort
port: 80
targetPort: 80
nodePort: 32046
这个文件中声明的replicaCount、deployment name等都和之前不同。
如果执行helm install my-chart .
,则默认使用values.yaml中的值。
如果想使用new-values.yaml
中的值,需要指定文件:
helm install my-chart-2 . -f new-values.yaml