在我的Mongo Helm Chart中,我正在使用PVC作为持久性卷。我正在使用图表安装Mongo。当我删除图表时,我的PV被删除。因此,我找到了一些修补程序。
kubectl patch pv <your-pv-name> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
此后,仅删除已发布
中的状态就不会删除我的PVpvc-fc29a491-499a-11e9-a426-42010a800ff9 8Gi RWO Retain Released default/myapp-mongodb standard 3d
如何将该PV绑定到新的头盔图安装上,以便即使删除头盔图后我的数据也应保持不变?
答案 0 :(得分:1)
Helm仍未解决问题。
处理它的“ hack”,您可以在这里找到:
https://groups.google.com/forum/#!topic/kubernetes-sig-apps/sLL2pCJ5Ab8
答案 1 :(得分:0)
我找到了一种解决方法。我创建了一个独立于头盔图表的PVC,并且仅在我的deployment.yaml文件中使用了它。
如果有现有的索赔,请使用现有的索赔,否则创建一个新的索赔。
{{- if .Values.persistence.enabled }}
{{- if .Values.persistence.existingClaim }}
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim }}
{{- else}}
persistentVolumeClaim:
claimName: {{ (include "mongodb.fullname" .) }}
{{- end}}