我想在集群上更新一个helm版本的值配置。就像第一个月
v9tzhpje1#
helm upgrade -f ingress-controller/values.yml nginx-ingress stable/nginx-ingress
字符串或者更一般地说:
helm upgrade -f new-values.yml {release name} {package name or path} --version {fixed-version}
型上面的命令可以完成这项工作。除非使用--version {fixed-version}参数手动指定版本,否则upgrade也将更新图表版本。您可以使用helm ls找到当前的图表版本。文档:https://helm.sh/docs/helm/helm_upgrade/
--version {fixed-version}
upgrade
helm ls
qco9c6ql2#
编辑2020-04-03:
不再推荐--recreate-pods --wait。正如Jorden指出的,一种方法是添加校验和注解,这意味着如果文件发生了任何更改,就重新启动pod。参见https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments以供参考。
--recreate-pods --wait
原始答案
为了补充@stan-bondi的答案,你可以这样做:
helm upgrade --recreate-pods --wait -f new_values.yaml nginx-controller nginx-controller
字符串当您刚刚更改了configMap或机密,而这些机密不会在版本本身中被检测到。
kninwzqo3#
这是我如何用新值更新当前图表,而不升级图表版本:
helm upgrade --reuse-values -f values.yaml {release-name} {release-path} --version {fixed-version}
字符串举例来说:
helm upgrade --reuse-values -f prometheus/values.yaml prometheus-operator stable/prometheus-operator --version 5.7.0 --namespace monitoring
型我使用已安装图表的固定版本,并添加--reuse-values标志,以确保保持以前使用的值。
sxissh064#
我只是改变了安装升级,这为我工作。
helm upgrade \ airflow \ airflow-stable/airflow \ --version 7.16.0 \ --namespace airflow \ --values airflow.config.yaml
字符串如果在此之后它仍然给您带来麻烦,您可以像这样回收命名空间中的所有Pod
kubectl delete pods -n airflow --all
型
clj7thdc5#
在Deployment(或StatefulSet)yaml文件中,如果您使用的是ConfigMap或Secret,则可以添加如下校验和:
Deployment
StatefulSet
ConfigMap
Secret
kind: Deployment ... spec: template: metadata: annotations: checksum/config-env: {{ include (print $.Template.BasePath "/configmap-env.yaml") . | sha256sum }} ...
字符串这将检测configMap中的更改,而这些更改不会被检测为版本本身的更改。
djp7away6#
您可以:Helm upgrade -f new_values.yaml nginx-controller nginx-controller这将更新图表的修订版本,可使用以下命令查看:赫姆公司或者更具体地:Helm get nginx-控制器对于舵图升级,请从文档中查看此链接:https://docs.helm.sh/helm/#helm-upgrade
6条答案
按热度按时间v9tzhpje1#
字符串
或者更一般地说:
型
上面的命令可以完成这项工作。
除非使用
--version {fixed-version}
参数手动指定版本,否则upgrade
也将更新图表版本。您可以使用helm ls
找到当前的图表版本。文档:https://helm.sh/docs/helm/helm_upgrade/
qco9c6ql2#
编辑2020-04-03:
不再推荐
--recreate-pods --wait
。正如Jorden指出的,一种方法是添加校验和注解,这意味着如果文件发生了任何更改,就重新启动pod。参见https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments以供参考。原始答案
为了补充@stan-bondi的答案,你可以这样做:
字符串
当您刚刚更改了configMap或机密,而这些机密不会在版本本身中被检测到。
kninwzqo3#
这是我如何用新值更新当前图表,而不升级图表版本:
字符串
举例来说:
型
我使用已安装图表的固定版本,并添加--reuse-values标志,以确保保持以前使用的值。
sxissh064#
我只是改变了安装升级,这为我工作。
字符串
如果在此之后它仍然给您带来麻烦,您可以像这样回收命名空间中的所有Pod
型
clj7thdc5#
在
Deployment
(或StatefulSet
)yaml文件中,如果您使用的是ConfigMap
或Secret
,则可以添加如下校验和:字符串
这将检测configMap中的更改,而这些更改不会被检测为版本本身的更改。
djp7away6#
您可以:
Helm upgrade -f new_values.yaml nginx-controller nginx-controller
这将更新图表的修订版本,可使用以下命令查看:
赫姆公司
或者更具体地:
Helm get nginx-控制器
对于舵图升级,请从文档中查看此链接:https://docs.helm.sh/helm/#helm-upgrade