Upgrading Cloudera Streams Messaging - Kubernetes Operator
To upgrade Cloudera Streams Messaging - Kubernetes Operator, you upgrade Strimzi, Kafka, and Kafka Connect in your cluster.
Upgrading Strimzi consists of upgrading the Strimzi CRDs to the new version and upgrading the Strimzi Cluster Operator using Helm commands. If you are upgrading from a maintenance version, you also need to temporarily set the image of the Kafka and Kafka Connect clusters to the maintenance version in your resources. This is necessary because without the explicit image, the Strimzi upgrade will automatically update the image used by the Kafka and Kafka Connect clusters, which might not contain all bug fixes provided in the maintenance version.
Upgrading the cluster operator may affect the Kafka and KafkaConnect resources in the cluster. All Kafka and Kafka Connect clusters that specify the version of the cluster but not the image will be restarted during the cluster operator upgrade. This is due to the fact that the default image of all versions changes with the Strimzi upgrade, triggering a restart. This restart is safe, that is, all healthy topics with a proper replication factor and minimum ISR are kept online during the restart.
Upgrading Kafka and Kafka Connect involves updating your Kafka and KafkaConnect resources for each cluster to the latest supported version after a Strimzi upgrade. Upgrading Kafka and Kafka Connect is:
- Strongly recommended by Cloudera after every Strimzi upgrade.
- Mandatory if you are upgrading from a maintenance version.
This procedure upgrades both Kafka and Kafka Connect clusters in a rolling upgrade. The upgrade is safe, all healthy topics with a proper replication factor and minimum ISR are kept online during the upgrade.
- Ensure that your Kubernetes environment meets requirements listed in System requirements.
- Ensure that you have access to your Cloudera credentials (username and password). Credentials are required to access the Cloudera Archive and Cloudera Docker registry where upgrade artifacts are hosted.
- If you are upgrading from a maintenance version, check that the bug fixes provided in the maintenance version are available in the newer Kafka supported by Cloudera Streams Messaging - Kubernetes Operator. If certain fixes are not available, be aware that upgrading will result in regressed functionality.
- If you built a custom Kafka image based on the Kafka image shipped in Cloudera Streams Messaging - Kubernetes Operator, build a new Kafka image that is based on the Kafka image shipped in the Cloudera Streams Messaging - Kubernetes Operator version you are upgrading to.
- The following steps instruct you to set
inter.broker.protocol.version
during the upgrade to keep Kafka in backward compatible state during the upgrade. This is only necessary if the protocol version differs between your current and new versions.If there is no change in the protocol version, you also do not finalize the upgrade. This means that for these types of upgrades, a rollback is possible even after you completed the upgrade.
You can find the Kafka protocol version in Component versions.