Upgrading ClickHouse data store on Linux on Power (ppc64le)

Upgrade the ClickHouse operator and data store.

Note:
After the initial creation of a ClickHouse cluster or after the number of shards are increased, the cluster might need a few minutes to attach the shards.

Before you begin

Make sure that you prepared your online and offline host to pull images from the external repository. Also, ensure that you added the Helm repo.

ClickHouse operator versions and image tags

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) v1.2.39 v1.2.0

artifact-public.instana.io/clickhouse-operator:v1.2.39

artifact-public.instana.io/clickhouse-openssl: 25.8.13.1-1-lts-ibm

Upgrading ClickHouse online

Complete these steps to upgrade the ClickHouse data store.

  1. Upgrade ClickHouse operator.

    helm upgrade --install clickhouse-operator instana/ibm-clickhouse-operator -n instana-clickhouse --version=v1.2.39 --set operator.image.repository=artifact-public.instana.io/clickhouse-operator --set operator.image.tag=v1.2.39 --set operator.imagePullPolicy=Always --set imagePullSecrets[0].name="instana-registry"
     
  2. Update the ClickHouse custom resource by applying the following patch.

    kubectl patch ClickHouseInstallation instana -n instana-clickhouse --type=strategic --patch '
    spec:
      templates:
        podTemplates:
          - name: clickhouse
            spec:
              containers:
                - name: instana-clickhouse
                  image: artifact-public.instana.io/clickhouse-openssl:25.8.13.1-1-lts-ibm
                - name: clickhouse-log
                  image: artifact-public.instana.io/clickhouse-openssl:25.8.13.1-1-lts-ibm
        '
     
  3. Complete the steps in Verifying ClickHouse (online and offline).

Upgrading ClickHouse offline

If you didn't yet 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/clickhouse-operator:v1.2.39
docker pull artifact-public.instana.io/clickhouse-openssl:25.8.13.1-1-lts-ibm

Complete the following steps on your Instana host.

  1. Retag the images to your internal image registry.

    docker tag artifact-public.instana.io/clickhouse-operator:v1.2.39 <internal-image-registry>/clickhouse-operator:v1.2.39
    docker tag artifact-public.instana.io/clickhouse-openssl:25.8.13.1-1-lts-ibm <internal-image-registry>/clickhouse-openssl:25.8.13.1-1-lts-ibm
    
  2. Push the images to your internal image registry.

    docker push <internal-image-registry>/clickhouse-operator:v1.2.39
    docker push <internal-image-registry>/clickhouse-openssl:25.8.13.1-1-lts-ibm
    
  3. Upgrade ClickHouse operator.

    helm upgrade --install clickhouse-operator ibm-clickhouse-operator-v1.2.39.tgz -n instana-clickhouse --version=v1.2.39 --set operator.image.repository=<internal-image-registry>/clickhouse-operator --set operator.image.tag=v1.2.39
                   
  4. Update the ClickHouse custom resource by applying the following patch.

    kubectl patch ClickHouseInstallation instana -n instana-clickhouse --type=strategic --patch '
    spec:
      templates:
        podTemplates:
          - name: clickhouse
            spec:
              containers:
                - name: instana-clickhouse
                  image: artifact-public.instana.io/clickhouse-openssl:25.8.13.1-1-lts-ibm
                - name: clickhouse-log
                  image: artifact-public.instana.io/clickhouse-openssl:25.8.13.1-1-lts-ibm
        '
     
  5. Complete the steps in Verifying ClickHouse (online and offline).

Verifying ClickHouse (online and offline)

Complete these steps to verify the ClickHouse instance and create the data store.

  1. Wait for the ClickHouse upgrade to complete.

    kubectl wait clickhouse/instana --for=condition=Ready --timeout=300s -n instana-clickhouse
     
  2. Verify the ClickHouse operator upgrade.

    kubectl get all -n instana-clickhouse
     

    If the ClickHouse operator is upgraded successfully, the command output shows the operator status as Running as shown in the following example:

    NAME                                                                  READY   STATUS    RESTARTS   AGE
    pod/chi-instana-local-0-0-0                                           2/2     Running   0          8m46s
    pod/chi-instana-local-0-1-0                                           2/2     Running   0          8m5s
    pod/clickhouse-operator-altinity-clickhouse-operator-86b5f9b57689rr   2/2     Running   0          70m
    pod/instana-zookeeper-0                                               1/1     Running   0          4h3m
    pod/instana-zookeeper-1                                               1/1     Running   0          4h2m
    pod/instana-zookeeper-2                                               1/1     Running   0          4h2m
    
    NAME                                                               TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                                        AGE
    service/chi-instana-local-0-0                                      ClusterIP      None            <none>          9000/TCP,8123/TCP,9009/TCP                     8m16s
    service/chi-instana-local-0-1                                      ClusterIP      None            <none>          9000/TCP,8123/TCP,9009/TCP                     7m35s
    service/clickhouse-instana                                         LoadBalancer   192.168.1.167   35.246.237.19   8123:32714/TCP,9000:31317/TCP                  8m11s
    service/clickhouse-operator-altinity-clickhouse-operator-metrics   ClusterIP      192.168.1.136   <none>          8888/TCP                                       70m
    service/instana-zookeeper-admin-server                             ClusterIP      192.168.1.126   <none>          8080/TCP                                       4h3m
    service/instana-zookeeper-client                                   ClusterIP      192.168.1.13    <none>          2181/TCP                                       4h3m
    service/instana-zookeeper-headless                                 ClusterIP      None            <none>          2181/TCP,2888/TCP,3888/TCP,7000/TCP,8080/TCP   4h3m
    
    NAME                                                               READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/clickhouse-operator-altinity-clickhouse-operator   1/1     1            1           70m
    
    NAME                                                                          DESIRED   CURRENT   READY   AGE
    replicaset.apps/clickhouse-operator-altinity-clickhouse-operator-86b5f9b579   1         1         1       70m
    
    NAME                                     READY   AGE
    statefulset.apps/chi-instana-local-0-0   1/1     8m50s
    statefulset.apps/chi-instana-local-0-1   1/1     8m9s
    statefulset.apps/instana-zookeeper       3/3     4h3m