我有一个使用Kube-spray创建的k8s集群。使用Rook支持卷配置。到目前为止,我一直在使用持久卷。
使用头盔图表部署应用程序。为了测试目的,头盔版本已多次升级。我希望豆荚每次升级图表时都使用新的音量。我不希望Pod在头盔升级后使用旧数据。
我该如何完成?如何使用临时卷?
在执行头盔升级之前已经尝试移除PV。
答案 0 :(得分:2)
helm upgrade
将尝试保持尽可能多的现有基础架构。如果您已经有一个名为myapp-pvc
的PersistentVolumeClaim,并且运行了helm upgrade
,它将注意到PVC已经存在,并且保持原样。我认为这是在Helm层发生的,但是即使Helm将相同的PVC描述上载到Kubernetes,也将保持不变。
最直截了当的方法是运行helm del --purge
现有安装,等待PVC被完全清理,然后重新helm install
。
另一种可能的方法是在PVC名称中编码一些唯一或随机值。诀窍在于,您需要在同一图表安装中的所有用途中使用相同的值,但是如果升级图表,则该值将不同。您可以结合使用chart metadata来提供此功能
{{- define "myapp.pvc.name" -}}
{{ .Release.Name }}-{{ .Chart.Name }}-pvc
{{- if .Values.destroyPersistentState -}}
-{{ .Release.Revision }}
{{- end -}}
{{- end -}}
答案 1 :(得分:0)
我们可以尝试的临时技巧是:
helm upgrade
。