// This assembly is included in the following assemblies:
//
// assembly-upgrade.adoc

[id='con-upgrade-sequence-{context}']
= Required upgrade sequence

[role="_abstract"]
To upgrade brokers and clients without downtime, you _must_ complete the Strimzi upgrade procedures in the following order:

. Make sure your Kubernetes cluster version is supported.
+
Strimzi {ProductVersion} requires Kubernetes {KubernetesVersion}.
+
You can xref:con-upgrade-cluster-{context}[upgrade Kubernetes with minimal downtime].

. xref:assembly-upgrade-{context}[Upgrade the Cluster Operator].

. Upgrade Kafka depending on the cluster configuration:
.. If using Kafka in KRaft mode, update the Kafka version and `spec.kafka.metadataVersion` to xref:proc-upgrade-kafka-kraft-{context}[upgrade all Kafka brokers and client applications].
.. If using ZooKeeper-based Kafka, update the Kafka version and `inter.broker.protocol.version` to xref:assembly-upgrade-zookeeper-{context}[upgrade all Kafka brokers and client applications].

NOTE: From Strimzi 0.39, upgrades and downgrades between KRaft-based clusters are supported.   