Upgrading Elasticsearch data store on Linux on Power (ppc64le)

Upgrade the Elasticsearch operator and 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 you added the Helm repo.

Elasticsearch 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) 3.4.1 3.4.1

artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch:3.4.1_v0.34.0

artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.40.0

Upgrading Elasticsearch online

Complete these steps to upgrade Elasticsearch data store.

  1. Upgrade Elasticsearch operator.
    helm upgrade --install elastic-operator instana/eck-operator -n instana-elastic --version=3.4.1 --set image.repository=artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch --set image.tag=3.4.1_v0.34.0 --set imagePullSecrets[0].name="instana-registry"
     
  2. Update Elasticsearch by patching Elasticsearch configuration.
    kubectl patch elasticsearch instana -n instana-elastic --type=merge --patch '
    spec:
      version: 8.19.13
      image: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.40.0
      '
     
  3. Complete the steps in Verifying Elasticsearch (online and offline).

Upgrading Elasticsearch offline

If you didn't yet pull the Elasticsearch 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/elasticsearch:3.4.1_v0.34.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.40.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/operator/elasticsearch:3.4.1_v0.34.0 <internal-image-registry>/ppc64le-oss/eck-operator-ppc64le:3.4.1_v0.34.0
    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.40.0 <internal-image-registry>/ppc64le-oss/elasticsearch-ppc64le:8.19.13_v0.40.0
                   
  2. Push the images to your internal image registry on your bastion host.

    docker push <internal-image-registry>/self-hosted-images/3rd-party/operator/elasticsearch:3.4.1_v0.34.0
    docker push <internal-image-registry>/ppc64le-oss/elasticsearch-ppc64le:8.19.13_v0.40.0
                   
  3. Upgrade Elasticsearch operator.

    helm upgrade --install elastic-operator eck-operator-3.4.1.tgz -n instana-elastic --set image.repository=<internal-image-registry>/self-hosted-images/3rd-party/operator/elasticsearch --set image.tag=3.4.1_v0.34.0
                   
  4. Update Elasticsearch by patching Elasticssearch configuration.

    kubectl patch elasticsearch instana -n instana-elastic --type=merge --patch '
    spec:
      version: 8.19.18
      image: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.18_v0.37.0
      '
     
  5. Complete the steps in Verifying Elasticsearch (online and offline).

Verifying Elasticsearch (online and offline)

To verify Elasticsearch instance adata store, complete the following steps:

  1. Wait for Elasticsearch.

    kubectl wait elasticsearch/instana --for=condition=ReconciliationComplete --timeout=300s -n instana-elastic
     
  2. Verify Elasticsearch operator upgrade.

     kubectl get all -n instana-elastic
     

    If the Elasticsearch 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/elastic-operator-0     1/1     Running   1 (10m ago)   10m
     pod/instana-es-default-0   1/1     Running   0             6m44s
     pod/instana-es-default-1   1/1     Running   0             6m44s
     pod/instana-es-default-2   1/1     Running   0             6m44s
    
     NAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
     service/elastic-operator-webhook   ClusterIP   192.168.1.41    <none>        443/TCP    10m
     service/instana-es-default         ClusterIP   None            <none>        9200/TCP   6m46s
     service/instana-es-http            ClusterIP   192.168.1.111   <none>        9200/TCP   6m48s
     service/instana-es-internal-http   ClusterIP   192.168.1.196   <none>        9200/TCP   6m48s
     service/instana-es-transport       ClusterIP   None            <none>        9300/TCP   6m48s
    
     NAME                                  READY   AGE
     statefulset.apps/elastic-operator     1/1     10m
     statefulset.apps/instana-es-default   3/3     6m48s