Chapter 15. 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.
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"
15.1. Upgrading Kafka resources
Prerequisites
-
A Cluster Operator supporting the
v1beta1
API version is up and running.
Procedure
Execute the following steps for each Kafka
resource in your deployment.
Update the
Kafka
resource in an editor.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit kafka my-cluster
oc edit kafka my-cluster
Replace:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1
with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1
If the
Kafka
resource has:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.topicOperator
Kafka.spec.topicOperator
Replace it with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.entityOperator.topicOperator
Kafka.spec.entityOperator.topicOperator
For example, replace:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... topicOperator: {}
spec: # ... topicOperator: {}
with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... entityOperator: topicOperator: {}
spec: # ... entityOperator: topicOperator: {}
If present, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.entityOperator.affinity
Kafka.spec.entityOperator.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.entityOperator.tolerations
Kafka.spec.entityOperator.tolerations
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.entityOperator.template.pod.affinity
Kafka.spec.entityOperator.template.pod.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.entityOperator.template.pod.tolerations
Kafka.spec.entityOperator.template.pod.tolerations
For example, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... entityOperator: affinity {} tolerations {}
spec: # ... entityOperator: affinity {} tolerations {}
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... entityOperator: template: pod: affinity {} tolerations {}
spec: # ... entityOperator: template: pod: affinity {} tolerations {}
If present, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.kafka.affinity
Kafka.spec.kafka.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.kafka.tolerations
Kafka.spec.kafka.tolerations
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.kafka.template.pod.affinity
Kafka.spec.kafka.template.pod.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.kafka.template.pod.tolerations
Kafka.spec.kafka.template.pod.tolerations
For example, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... kafka: affinity {} tolerations {}
spec: # ... kafka: affinity {} tolerations {}
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... kafka: template: pod: affinity {} tolerations {}
spec: # ... kafka: template: pod: affinity {} tolerations {}
If present, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.zookeeper.affinity
Kafka.spec.zookeeper.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.zookeeper.tolerations
Kafka.spec.zookeeper.tolerations
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.zookeeper.template.pod.affinity
Kafka.spec.zookeeper.template.pod.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka.spec.zookeeper.template.pod.tolerations
Kafka.spec.zookeeper.template.pod.tolerations
For example, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... zookeeper: affinity {} tolerations {}
spec: # ... zookeeper: affinity {} tolerations {}
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... zookeeper: template: pod: affinity {} tolerations {}
spec: # ... zookeeper: template: pod: affinity {} tolerations {}
- Save the file, exit the editor and wait for the updated resource to be reconciled.
15.2. Upgrading Kafka Connect resources
Prerequisites
-
A Cluster Operator supporting the
v1beta1
API version is up and running.
Procedure
Execute the following steps for each KafkaConnect
resource in your deployment.
Update the
KafkaConnect
resource in an editor.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit kafkaconnect my-connect
oc edit kafkaconnect my-connect
Replace:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1
with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1
If present, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnect.spec.affinity
KafkaConnect.spec.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnect.spec.tolerations
KafkaConnect.spec.tolerations
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnect.spec.template.pod.affinity
KafkaConnect.spec.template.pod.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnect.spec.template.pod.tolerations
KafkaConnect.spec.template.pod.tolerations
For example, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... affinity {} tolerations {}
spec: # ... affinity {} tolerations {}
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... template: pod: affinity {} tolerations {}
spec: # ... template: pod: affinity {} tolerations {}
- Save the file, exit the editor and wait for the updated resource to be reconciled.
15.3. Upgrading Kafka Connect S2I resources
Prerequisites
-
A Cluster Operator supporting the
v1beta1
API version is up and running.
Procedure
Execute the following steps for each KafkaConnectS2I
resource in your deployment.
Update the
KafkaConnectS2I
resource in an editor.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit kafkaconnects2i my-connect
oc edit kafkaconnects2i my-connect
Replace:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1
with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1
If present, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectS2I.spec.affinity
KafkaConnectS2I.spec.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectS2I.spec.tolerations
KafkaConnectS2I.spec.tolerations
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectS2I.spec.template.pod.affinity
KafkaConnectS2I.spec.template.pod.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectS2I.spec.template.pod.tolerations
KafkaConnectS2I.spec.template.pod.tolerations
For example, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... affinity {} tolerations {}
spec: # ... affinity {} tolerations {}
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... template: pod: affinity {} tolerations {}
spec: # ... template: pod: affinity {} tolerations {}
- Save the file, exit the editor and wait for the updated resource to be reconciled.
15.4. Upgrading Kafka MirrorMaker resources
Prerequisites
-
A Cluster Operator supporting the
v1beta1
API version is up and running.
Procedure
Execute the following steps for each KafkaMirrorMaker
resource in your deployment.
Update the
KafkaMirrorMaker
resource in an editor.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit kafkamirrormaker my-connect
oc edit kafkamirrormaker my-connect
Replace:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1
with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1
If present, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectMirrorMaker.spec.affinity
KafkaConnectMirrorMaker.spec.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectMirrorMaker.spec.tolerations
KafkaConnectMirrorMaker.spec.tolerations
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectMirrorMaker.spec.template.pod.affinity
KafkaConnectMirrorMaker.spec.template.pod.affinity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaConnectMirrorMaker.spec.template.pod.tolerations
KafkaConnectMirrorMaker.spec.template.pod.tolerations
For example, move:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... affinity {} tolerations {}
spec: # ... affinity {} tolerations {}
to:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec: # ... template: pod: affinity {} tolerations {}
spec: # ... template: pod: affinity {} tolerations {}
- Save the file, exit the editor and wait for the updated resource to be reconciled.
15.5. Upgrading Kafka Topic resources
Prerequisites
-
A Topic Operator supporting the
v1beta1
API version is up and running.
Procedure
Execute the following steps for each KafkaTopic
resource in your deployment.
Update the
KafkaTopic
resource in an editor.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit kafkatopic my-topic
oc edit kafkatopic my-topic
Replace:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1
with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1
- Save the file, exit the editor and wait for the updated resource to be reconciled.
15.6. Upgrading Kafka User resources
Prerequisites
-
A User Operator supporting the
v1beta1
API version is up and running.
Procedure
Execute the following steps for each KafkaUser
resource in your deployment.
Update the
KafkaUser
resource in an editor.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit kafkauser my-user
oc edit kafkauser my-user
Replace:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kafka.strimzi.io/v1alpha1
apiVersion: kafka.strimzi.io/v1alpha1
with:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion:kafka.strimzi.io/v1beta1
apiVersion:kafka.strimzi.io/v1beta1
- Save the file, exit the editor and wait for the updated resource to be reconciled.