Helm,仅定制某些值

问题描述 投票:0回答:2

我想使用 helm 和一个适合我的需求的自定义

value.yaml
文件来部署 nextcloud。我是否必须指定原始
value.yaml
给出的所有值,或者是否可以只更改所需的值,例如,如果我唯一想要更改的是主机地址,我的文件可以如下所示:

nextcloud:
    host: 192.168.178.10

而不是复制此文件并仅更改几个值。

kubernetes kubernetes-helm
2个回答
1
投票

由于用户@Kun Li的回答解决了根本问题,我想在自定义Helm图表时添加一些示例以及一些额外的参考。

正如问题中所问:

我是否必须指定原始 value.yaml 中给出的所有值,或者是否可以仅更改所需的值

简而言之,您不需要指定所有值。您只能更改其中一些(例如问题中的

host
)。 更改数值的方法如下:

  • --set
    传递的各个参数(如
    helm install --set foo=bar ./mychart
  • 如果使用
    helm install
    标志 (
    helm upgrade
    ) 传递到
    -f
    helm install -f myvals.yaml ./mychart
    ,则为值文件
  • 如果这是子图表,则为父图表的
    values.yaml
    文件
  • 图表中的
    values.yaml
    文件

您可以通过以下官方

Helm
文档了解更多相关信息:

旁注!

以上要点按优先顺序设置。第一个 (

--set
) 将具有最高优先级来覆盖这些值。


示例

附注!

此示例假设您位于拉取的 Helm 图表的目录中并且您正在使用 Helm v3

使用问题中使用的

nextcloud
Helm 图表,您可以通过以下方式设置
nextcloud.host
值:

  • 拉出Helm图表并编辑values.yaml
  • 创建额外的
    new-values.yaml
    将其传入(无论优先级较低,都将使用 Helm 图表中的
    values.yaml
    ):
    • $ helm install NAME . -f new-values.yaml

new-values.yaml

nextcloud:
  host: 192.168.0.2
  • helm install NAME . --set nextcloud.host=192.168.0.2
  • 设置值

您可以通过以下任一方式检查更改是否正确完成:

  • $ helm template .
    - 正如用户@David Maze 所指出的
  • $ helm install NAME . --dry-run --debug

1
投票

您在值文件中将

nextcloud
拼错为
nextlcoud

© www.soinside.com 2019 - 2024. All rights reserved.