// Module included in the following assemblies:
//
// assembly-config-kafka.adoc

[id='proc-manual-delete-pod-pvc-zookeeper-{context}']
= Deleting ZooKeeper nodes manually

This procedure describes how to delete an existing ZooKeeper node by using a Kubernetes annotation.
Deleting a ZooKeeper node consists of deleting both the `Pod` on which ZooKeeper is running and the related `PersistentVolumeClaim` (if the cluster was deployed with persistent storage).
After deletion, the `Pod` and its related `PersistentVolumeClaim` are recreated automatically.

WARNING: Deleting a `PersistentVolumeClaim` can cause permanent data loss. The following procedure should only be performed if you have encountered storage issues.

.Prerequisites

See the _Deploying and Upgrading Strimzi_ guide for instructions on running a:

* link:{BookURLDeploying}#cluster-operator-str[Cluster Operator^]
* link:{BookURLDeploying}#deploying-kafka-cluster-str[Kafka cluster^]

.Procedure

. Find the name of the `Pod` that you want to delete.
+
ZooKeeper pods are named _<cluster-name>_-zookeeper-_<index>_, where _<index>_ starts at zero and ends at the total number of replicas minus one.
For example, `my-cluster-zookeeper-0`.

. Annotate the `Pod` resource in Kubernetes.
+
Use `kubectl annotate`:
[source,shell,subs="+quotes,attributes+"]
kubectl annotate pod _cluster-name_-zookeeper-_index_ strimzi.io/delete-pod-and-pvc=true

. Wait for the next reconciliation, when the annotated pod with the underlying persistent volume claim will be deleted and then recreated.
