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

[id='proc-manual-rolling-update-kafka-{context}']
= Performing a rolling update of a Kafka cluster

This procedure describes how to manually trigger a rolling update of an existing Kafka cluster by using a Kubernetes annotation.

.Prerequisites

See the _Deploying 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 `StatefulSet` that controls the Kafka pods you want to manually update.
+
For example, if your Kafka cluster is named _my-cluster_, the corresponding `StatefulSet` is named _my-cluster-kafka_.

. Annotate the `StatefulSet` resource in Kubernetes. For example, using `kubectl annotate`:
[source,shell,subs=+quotes]
kubectl annotate statefulset _cluster-name_-kafka strimzi.io/manual-rolling-update=true

. Wait for the next reconciliation to occur (every two minutes by default).
A rolling update of all pods within the annotated `StatefulSet` is triggered, as long as the annotation was detected by the reconciliation process.
When the rolling update of all the pods is complete, the annotation is removed from the `StatefulSet`.
