<p>When I <code>helm delete &lt;deploymentname&gt;</code> a deployment its PVs and PVCs are deleted as well. How can I avoid the actual data in the PVs from being deleted and be able to reclaim those PVs when I <code>helm install &lt;deploymentname&gt;</code> again?</p>

<p>I am using <code>helm upgrade</code> regularly but it makes me very uncomfortable if all it takes to delete all data is a helm delete (even without --purge option it removes all PVs) </p>

<p>Assuming you are using the <code>default</code> Storage-class, the only way to avoid a Helm chart to delete the PV/PVCs used on it it's creating the PVCs beforehand so they are not managed by the Helm release.</p>

<p>The only exception is <a href="https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#limitations" rel="noreferrer">StatefulSets</a> which by definition never delete their PVCs even when they are created by the Helm release</p>

<p>The other option, if your Helm charts allow it, is using a <a href="https://kubernetes.io/docs/concepts/storage/storage-classes/#reclaim-policy" rel="noreferrer">Storage-class with <code>reclaimPolicy: Retain</code></a>, that will avoid deleting your PVs when your deployments, daemon-sets pods PVCs are detached and deleted</p>
