Chapter 10. AMQ Streams resource upgrades
For this release of AMQ Streams, resources that use the API version kafka.strimzi.io/v1alpha1 must be updated to use kafka.strimzi.io/v1beta1.
The kafka.strimzi.io/v1alpha1 API version is deprecated in release 1.2.
This section describes the upgrade steps for the resources.
The upgrade of resources must be performed after upgrading the Cluster Operator, so the Cluster Operator can understand the resources.
What if the resource upgrade does not take effect?
If the upgrade does not take effect, a warning is given in the logs on reconciliation to indicate that the resource cannot be updated until the apiVersion is updated.
To trigger the update, make a cosmetic change to the custom resource, such as adding an annotation.
Example annotation:
metadata:
# ...
annotations:
upgrade: "Upgraded to kafka.strimzi.io/v1beta1"
metadata:
# ...
annotations:
upgrade: "Upgraded to kafka.strimzi.io/v1beta1"
10.1. Upgrading Kafka resources Copy linkLink copied to clipboard!
Prerequisites
-
A Cluster Operator supporting the
v1beta1API version is up and running.
Procedure
Execute the following steps for each Kafka resource in your deployment.
Update the
Kafkaresource in an editor.oc edit kafka my-cluster
oc edit kafka my-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace:
apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1Copy to Clipboard Copied! Toggle word wrap Toggle overflow with:
apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the
Kafkaresource has:Kafka.spec.topicOperator
Kafka.spec.topicOperatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace it with:
Kafka.spec.entityOperator.topicOperator
Kafka.spec.entityOperator.topicOperatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, replace:
spec: # ... topicOperator: {}spec: # ... topicOperator: {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow with:
spec: # ... entityOperator: topicOperator: {}spec: # ... entityOperator: topicOperator: {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow If present, move:
Kafka.spec.entityOperator.affinity
Kafka.spec.entityOperator.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.entityOperator.tolerations
Kafka.spec.entityOperator.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Kafka.spec.entityOperator.template.pod.affinity
Kafka.spec.entityOperator.template.pod.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.entityOperator.template.pod.tolerations
Kafka.spec.entityOperator.template.pod.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, move:
spec: # ... entityOperator: affinity {} tolerations {}spec: # ... entityOperator: affinity {} tolerations {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If present, move:
Kafka.spec.kafka.affinity
Kafka.spec.kafka.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.kafka.tolerations
Kafka.spec.kafka.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Kafka.spec.kafka.template.pod.affinity
Kafka.spec.kafka.template.pod.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.kafka.template.pod.tolerations
Kafka.spec.kafka.template.pod.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, move:
spec: # ... kafka: affinity {} tolerations {}spec: # ... kafka: affinity {} tolerations {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If present, move:
Kafka.spec.zookeeper.affinity
Kafka.spec.zookeeper.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.zookeeper.tolerations
Kafka.spec.zookeeper.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Kafka.spec.zookeeper.template.pod.affinity
Kafka.spec.zookeeper.template.pod.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.zookeeper.template.pod.tolerations
Kafka.spec.zookeeper.template.pod.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, move:
spec: # ... zookeeper: affinity {} tolerations {}spec: # ... zookeeper: affinity {} tolerations {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file, exit the editor and wait for the updated resource to be reconciled.
10.2. Upgrading Kafka Connect resources Copy linkLink copied to clipboard!
Prerequisites
-
A Cluster Operator supporting the
v1beta1API version is up and running.
Procedure
Execute the following steps for each KafkaConnect resource in your deployment.
Update the
KafkaConnectresource in an editor.oc edit kafkaconnect my-connect
oc edit kafkaconnect my-connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace:
apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1Copy to Clipboard Copied! Toggle word wrap Toggle overflow with:
apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1Copy to Clipboard Copied! Toggle word wrap Toggle overflow If present, move:
KafkaConnect.spec.affinity
KafkaConnect.spec.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnect.spec.tolerations
KafkaConnect.spec.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow to:
KafkaConnect.spec.template.pod.affinity
KafkaConnect.spec.template.pod.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnect.spec.template.pod.tolerations
KafkaConnect.spec.template.pod.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, move:
spec: # ... affinity {} tolerations {}spec: # ... affinity {} tolerations {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file, exit the editor and wait for the updated resource to be reconciled.
10.3. Upgrading Kafka Connect S2I resources Copy linkLink copied to clipboard!
Prerequisites
-
A Cluster Operator supporting the
v1beta1API version is up and running.
Procedure
Execute the following steps for each KafkaConnectS2I resource in your deployment.
Update the
KafkaConnectS2Iresource in an editor.oc edit kafkaconnects2i my-connect
oc edit kafkaconnects2i my-connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace:
apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1Copy to Clipboard Copied! Toggle word wrap Toggle overflow with:
apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1Copy to Clipboard Copied! Toggle word wrap Toggle overflow If present, move:
KafkaConnectS2I.spec.affinity
KafkaConnectS2I.spec.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectS2I.spec.tolerations
KafkaConnectS2I.spec.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow to:
KafkaConnectS2I.spec.template.pod.affinity
KafkaConnectS2I.spec.template.pod.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectS2I.spec.template.pod.tolerations
KafkaConnectS2I.spec.template.pod.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, move:
spec: # ... affinity {} tolerations {}spec: # ... affinity {} tolerations {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file, exit the editor and wait for the updated resource to be reconciled.
10.4. Upgrading Kafka Mirror Maker resources Copy linkLink copied to clipboard!
Prerequisites
-
A Cluster Operator supporting the
v1beta1API version is up and running.
Procedure
Execute the following steps for each KafkaMirrorMaker resource in your deployment.
Update the
KafkaMirrorMakerresource in an editor.oc edit kafkamirrormaker my-connect
oc edit kafkamirrormaker my-connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace:
apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1Copy to Clipboard Copied! Toggle word wrap Toggle overflow with:
apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1Copy to Clipboard Copied! Toggle word wrap Toggle overflow If present, move:
KafkaConnectMirrorMaker.spec.affinity
KafkaConnectMirrorMaker.spec.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectMirrorMaker.spec.tolerations
KafkaConnectMirrorMaker.spec.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow to:
KafkaConnectMirrorMaker.spec.template.pod.affinity
KafkaConnectMirrorMaker.spec.template.pod.affinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectMirrorMaker.spec.template.pod.tolerations
KafkaConnectMirrorMaker.spec.template.pod.tolerationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, move:
spec: # ... affinity {} tolerations {}spec: # ... affinity {} tolerations {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file, exit the editor and wait for the updated resource to be reconciled.
10.5. Upgrading Kafka Topic resources Copy linkLink copied to clipboard!
Prerequisites
-
A Topic Operator supporting the
v1beta1API version is up and running.
Procedure
Execute the following steps for each KafkaTopic resource in your deployment.
Update the
KafkaTopicresource in an editor.oc edit kafkatopic my-topic
oc edit kafkatopic my-topicCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace:
apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1Copy to Clipboard Copied! Toggle word wrap Toggle overflow with:
apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file, exit the editor and wait for the updated resource to be reconciled.
10.6. Upgrading Kafka User resources Copy linkLink copied to clipboard!
Prerequisites
-
A User Operator supporting the
v1beta1API version is up and running.
Procedure
Execute the following steps for each KafkaUser resource in your deployment.
Update the
KafkaUserresource in an editor.oc edit kafkauser my-user
oc edit kafkauser my-userCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace:
apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1Copy to Clipboard Copied! Toggle word wrap Toggle overflow with:
apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file, exit the editor and wait for the updated resource to be reconciled.