Kubernetes default prevent deleting PersistentVolumeClaims
and bounded PersistentVolume
objects when you scaling StatefulSet
down or deleting them.
Retaining PersistentVolumeClaims
is the default behavior, but you can configure the StatefulSet
to delete them via the persistentVolumeClaimRetentionPolicy
field.
This example shows part of StatefulSet
manifest file, where retention policy causes deleting PersistentVolumeClaim
when StatefulSet
is scaled down, and retaining when StatefulSet
is deleted.
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: quiz
spec:
persistentVolumeClaimRetentionPolicy:
whenScaled: Delete
whenDeleted: Retain
Make sure you have properly configured StatefulSet manifest and Kafka cluster.
NOTE
If you want to delete a StatefulSet but keep the Pods and the
PersistentVolumeClaims, you can use the --cascade=orphan option. In
this case, the PersistentVolumeClaims will be preserved even if the
retention policy is set to Delete.
Marko Lukša "Kubernetes in Action, Second Edition"