Upgrading the Kafka data store on Linux on Power (ppc64le)
Upgrade the Kafka operator and upgrade the data store.
Before you begin
Make sure that you prepared your online and offline host to pull images from the external repository. Also, ensure that the correct Helm repo is added.
From Strimzi 0.46.0, the support for Kafka versions 3.8.0 and 3.8.1, ZooKeeper-based Apache Kafka clusters, and KRaft migration is discontinued. If you use Strimzi 0.45.0 or an older version, you need to migrate to KRaft before you upgrade to Strimzi 0.46.0.
For more information about migrating the data from a Zookeeper-based cluster to a KRaft cluster, see Migration from Zookeeper to KRaft for Kafka online.
Kafka operator versions and image tags for deployment
The following images are needed for the pinned Helm chart or operator versions.
| Platform | Operator versions | Helm chart version | Image with tag |
|---|---|---|---|
| Linux® on Power® (ppc64le) | 1.0.1 | 1.0.1 |
artifact-public.instana.io/self-hosted-images/3rd-party/operator/strimzi:1.0.1_v0.33.0 artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka:1.0.1-kafka-4.1.2_v0.37.0 |
Upgrading Kafka online
Complete these steps to upgrade the Kafka data store.
-
Upgrade Strimzi operator.
helm upgrade --install strimzi-kafka-operator instana/strimzi-kafka-operator --version 1.0.1 -n instana-kafka --set image.registry=artifact-public.instana.io --set image.repository=self-hosted-images/3rd-party/operator --set image.name=strimzi --set image.tag=1.0.1_v0.33.0 --set image.imagePullSecrets[0].name="instana-registry" --set kafka.image.registry=artifact-public.instana.io --set kafka.image.repository=self-hosted-images/3rd-party/datastore --set kafka.image.name=kafka --set kafka.image.tag=1.0.1-kafka-4.1.2_v0.37.0 -
Update the Kafka custom resource.
kubectl patch kafka instana -n instana-kafka --type=merge --patch ' spec: kafka: version: "4.1.2" entityOperator: userOperator: image: <internal-image-registry>/self-hosted-images/3rd-party/operator/strimzi:1.0.1_v0.33.0 ' -
Complete the steps in Verifying Kafka (online and offline).
Upgrading Kafka offline
If you didn't pull the ClickHouse images from the external registry, you can pull them now. Run the following commands on your bastion host. Then, copy the images to your Instana host that is in your air-gapped environment.
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/strimzi:1.0.1_v0.33.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka:1.0.1-kafka-4.1.2_v0.37.0
Complete the following steps on your Instana host.
-
Retag the images to your internal image registry.
docker tag artifact-public.instana.io/self-hosted-images/3rd-party/strimzi/operator:1.0.1_v0.33.0 <internal-image-registry>/self-hosted-images/3rd-party/strimzi/operator:1.0.1_v0.33.0 docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka:1.0.1-kafka-4.1.2_v0.37.0<internal-image-registry>/self-hosted-images/3rd-party/strimzi/kafka:1.0.1-kafka-4.1.2_v0.37.0 -
Push the images to your internal image registry on your bastion host.
docker push <internal-image-registry>/self-hosted-images/3rd-party/strimzi/operator:1.0.1_v0.33.0 docker push <internal-image-registry>/self-hosted-images/3rd-party/strimzi/kafka:1.0.1-kafka-4.1.2_v0.37.0 -
Upgrade Strimzi Operator.
helm upgrade --install strimzi-kafka-operator strimzi-kafka-operator-1.0.1.tgz --version 1.0.1 -n instana-kafka --set image.registry=<internal-image-registry> --set image.repository=self-hosted-images/3rd-party/strimzi --set image.name=operator --set image.tag=1.0.1_v0.33.0 --set kafka.image.registry=<internal-image-registry> --set kafka.image.repository=self-hosted-images/3rd-party/strimzi --set kafka.image.name=kafka --set kafka.image.tag=1.0.1-kafka-4.1.2_v0.37.0 -
Update the Kafka custom resource.
kubectl patch kafka instana -n instana-kafka --type=merge --patch ' spec: kafka: version: "4.1.2" entityOperator: userOperator: image: <internal-image-registry>/self-hosted-images/3rd-party/operator/strimzi:1.0.1_v0.33.0 ' -
Complete the steps in Verifying Kafka (online and offline).
Verifying Kafka (online and offline)
Complete these steps to verify Kafka instance and data store.
-
Wait for the Kafka upgrade to complete.
kubectl wait kafka/instana --for=condition=Ready --timeout=300s -n instana-kafka -
Verify the Instana Kafka upgrade.
kubectl get all -n instana-kafkaThe output might be as the following example.
NAME READY STATUS RESTARTS AGE pod/instana-entity-operator-8564975588-mrz2f 3/3 Running 0 15m pod/instana-kafka-0 1/1 Running 0 16m pod/instana-kafka-1 1/1 Running 0 16m pod/instana-kafka-2 1/1 Running 0 16m pod/instana-controller-0 1/1 Running 0 17m pod/instana-controller-1 1/1 Running 0 17m pod/instana-controller-2 1/1 Running 0 17m pod/strimzi-cluster-operator-cf49c75d8-qm8jq 1/1 Running 0 34m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/instana-kafka-bootstrap ClusterIP 192.168.1.239 <none> 9091/TCP,9092/TCP 16m service/instana-kafka-brokers ClusterIP None <none> 9090/TCP,9091/TCP,9092/TCP 16m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/instana-entity-operator 1/1 1 1 15m deployment.apps/strimzi-cluster-operator 1/1 1 1 34m NAME DESIRED CURRENT READY AGE replicaset.apps/instana-entity-operator-8564975588 1 1 1 15m replicaset.apps/strimzi-cluster-operator-cf49c75d8 1 1 1 34m