Preparing to install data store operators on Linux x86_64

To install a third-party data store, your cluster must have access to the supported version of the data store image.

To see the compatible data store versions for your Instana deployment, install the kubectl plug-in and run the kubectl instana --version command. For more information, see the Instana kubectl plug-in topic.

Preparing for online installation

Prepare for the installation of the data store operators in an online environment.

  1. Install HelmExternal link icon.

    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
    chmod 700 get_helm.sh
    ./get_helm.sh
    
  2. Make sure that cert-managerExternal link icon, which is used to automatically provision the secret by default, is installed in your cluster. To install cert-manager, run the following command:

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml
    
  3. Make sure that you set a default storage class on the cluster on which you are installing the data stores. You need a storage class with ReadWriteMany (RWX) or ReadWriteOnce (RWO) access mode. Make sure that you update the storage class that you set in your cluster with RWX or RWO access.

    To verify whether a default storage class is set in your cluster, run the following command:

    kubectl get storageclass -o=jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubernetes\.io\/is-default-class=="true")].metadata.name}'
    

    If the command doesn't return a value, then you need to set a default storage class by running the following command:

    kubectl patch storageclass <storageclass_name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
    
  4. Add and update the Helm repo for third-party operators. Use your Instana download key as the password value.

    helm repo add instana https://artifact-public.instana.io/artifactory/rel-helm-customer-virtual --username=_ --password=<download_key>
    
    helm repo update
    

Preparing for offline installation

Prepare for an offline (air-gapped) installation.

  1. Prepare a bastion host that can access both the internet and your own internal image registry.

  2. Install Helm on the bastion host.

    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
    chmod 700 get_helm.sh
    ./get_helm.sh
    
  3. Add the operator Helm chart repos.

    helm repo add instana https://artifact-public.instana.io/artifactory/rel-helm-customer-virtual --username=_ --password=<download_key>
    helm repo update
    
  4. Download the Helm charts.

    helm pull instana/ibm-clickhouse-operator --version=v1.2.0
    helm pull instana/zookeeper-operator --version=1.0.0
    helm pull instana/strimzi-kafka-operator --version=0.41.0
    helm pull instana/eck-operator --version=2.9.0
    helm pull instana/cloudnative-pg --version=0.20.0
    helm pull instana/postgres-operator --version={{site.data.keyword.zalando_helm_amd}}
    helm pull instana/cass-operator --version=0.45.2
    helm pull instana/cert-manager --version=1.13.2
    
  5. Pull operator images.

    • Cassandra
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator:1.18.2_v0.13.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.18.2_v0.3.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/k8ssandra-client:0.2.2_v0.4.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cassandra:4.1.4_v0.17.0
      
    • ClickHouse
      docker pull artifact-public.instana.io/clickhouse-operator:v1.2.0
      docker pull artifact-public.instana.io/clickhouse-openssl:23.8.10.43-1-lts-ibm
      
    • Elasticsearch
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch:2.9.0_v0.11.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:7.17.24_v0.10.0
      
    • Kafka
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/strimzi:0.41.0_v0.10.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka:0.41.0-kafka-3.6.2_v0.9.0
      
    • PostgreSQL by using CloudNativePG
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/cloudnative-pg:v1.21.1_v0.6.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cnpg-containers:15_v0.8.0
      
    • PostgreSQL by using Zalando
      docker pull registry.opensource.zalan.do/acid/postgres-operator:v1.10.1
      docker pull ghcr.io/zalando/spilo-15:{{site.data.keyword.spilo_op_tag_amd}}
      
    • ZooKeeper
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/zookeeper:0.2.15_v0.12.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/zookeeper:3.8.4_v0.13.0
      docker pull artifact-public.instana.io/self-hosted-images/k8s/kubectl:v1.31.0_v0.1.0
      
  6. If you are using your bastion host as the Instana host in your air-gapped environment, you do not need to complete the following steps. However, if your bastion host and the air-gapped host are different, complete these steps:

    1. On your bastion host, download the Helm binary for the operating system of your air-gapped host. For the available binary files, see Installation and Upgrading External link icon. See the following example command.

      wget https://get.helm.sh/helm-v3.15.2-linux-amd64.tar.gz
      
    2. Copy the Helm binary file, operator images, and Helm charts from your bastion host to the host that is in your air-gapped environment.

    3. Install Helm on the air-gapped host. Run these commands from the location of the Helm binary file.

      tar –xvzf helm-v3.15.2-linux-amd64.tar.gz
      mv linux-amd64/helm /usr/local/bin/helm
      
  7. Create the data stores. For the commands, see Installing the data stores.