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.

Important:
To use Kafka 4.x.x or later, you must upgrade BeeInstana to version 1.4.11 for Power. Earlier versions of BeeInstana are not compatible with Kafka 4.x.x and later releases.

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.

  1. 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
                   
  2. 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
      '
     
  3. 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.

  1. 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
                   
  2. 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
                   
  3. 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
                   
  4. 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
      '
     
  5. Complete the steps in Verifying Kafka (online and offline).

Verifying Kafka (online and offline)

Complete these steps to verify Kafka instance and data store.

  1. Wait for the Kafka upgrade to complete.

    kubectl wait kafka/instana --for=condition=Ready --timeout=300s -n instana-kafka
     
  2. Verify the Instana Kafka upgrade.

    kubectl get all -n instana-kafka
     

    The 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