在我的Mongo Helm Chart中,我使用PVC作为Persistence卷。我正在使用图表来安装Mongo。当我删除图表时,我的PV被删除了。所以,我发现了一些补丁。
kubectl patch pv <your-pv-name> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
在此之后我的PV不会被删除仅仅是已发布的状态
pvc-fc29a491-499a-11e9-a426-42010a800ff9 8Gi RWO Retain Released default/myapp-mongodb standard 3d
如何将此PV绑定到我的新helm图表安装,以便即使在删除我的Helm Chart后我的数据仍应保持不变?
我找到了一个解决方法。我创建了一个独立于头盔图的PVC,并在deployment.yaml文件中使用它。 如果存在现有声明,则只使用现有声明,否则创建新声明。
{{- if .Values.persistence.enabled }}
{{- if .Values.persistence.existingClaim }}
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim }}
{{- else}}
persistentVolumeClaim:
claimName: {{ (include "mongodb.fullname" .) }}
{{- end}}