掌舵只更新一个属性

时间:2019-06-20 09:53:50

标签: kubernetes kubernetes-helm

我正在使用头盔通过以下命令成功安装组件

helm template install/kubernetes/helm/istio --name istio --namespace istio-system  \ --set tracing.enabled=true --set servicegraph.enabled=true \ --set grafana.enabled=true | kubectl apply -f -

现在我只想更改一个属性,例如

--set tracing.enabled=false

我只尝试修改需要修改的字段

helm template update/kubernetes/helm/istio --name istio --namespace istio-system  \ --set tracing.enabled=flase  | kubectl apply -f -

没有成功,我会错过什么吗?

1 个答案:

答案 0 :(得分:2)

helm template完全是无状态的-它读取Helm图表的配置和YAML文件,并写出应用所有模板所产生的YAML。完全不知道您之前使用不同的选项来运行它。

当前版本的Helm具有一个称为Tiller的群集侧组件,该组件可以跟踪这种状态,而Istio文档中确实有specific instructions for using Tiller。由于此处保留了状态,因此您可以进行类似

的更新
helm upgrade istio \
  install/kubernetes/helm/istio \
  --reuse-values \
  --set tracing.enabled=false

另一个有效的选项是将安装时选项保留在YAML文件中

tracing:
  enabled: true
servicegraph:
  enabled: true
grafana:
  enabled: true

然后您可以使用Helm的-f标志

传递这些选项
helm template install/kubernetes/helm/istio \
  --name istio \
  -f istio-config.yaml

此选项还可以与helm installhelm upgrade一起使用,等效于传递您指定的所有--set选项。