Préparation de l'installation des opérateurs de stockage de données sur Linux on IBM Z and LinuxONE

Pour installer un magasin de données tiers, votre cluster doit avoir accès à la version prise en charge de l'image du magasin de données.

Pour connaître les versions compatibles du magasin de données pour votre déploiement d' Instana, installez le plug-in kubectl et exécutez la commande kubectl instana --version. Pour plus d'informations, consultez la rubrique consacrée au plug-in « Instana » sur kubectl.

Préparation du cluster en vue de l'installation

Avant d'installer un composant d' Instana, assurez-vous de marquer et d'étiqueter le nœud destiné à l'installation. Cette étape consacre le nœud exclusivement aux composants d' Instana, garantissant ainsi une allocation et une isolation adéquates des ressources.

Votre configuration doit comprendre au moins quatre nœuds de travail, chacun doté de 16 cœurs « vCPUs » et de 64 Go de mémoire, ainsi qu'un nœud de travail supplémentaire équipé de 8 cœurs « vCPUs » et de 16 Go de mémoire.

  1. Attribuez un nom aux 4 premiers nœuds de travail ou aux nœuds de votre choix à l'aide des commandes kubectl.

    CLUSTER_NAME=$(hostname|cut -d . -f 2-)
    for NODE in 0 1 2 3
    do
       oc label node worker${NODE}.${CLUSTER_NAME} node-role.kubernetes.io/monitor="true"
       oc adm taint node worker${NODE}.${CLUSTER_NAME} node.instana.io/monitor="true":NoSchedule
    done
     
  2. Assurez-vous que les nœuds sont marqués et étiquetés.

    Vérifiez que les nœuds sont correctement étiquetés.

    oc get nodes -l node-role.kubernetes.io/monitor=true
     

    Le résultat doit être identique à l'exemple suivant :

       NAME                                   STATUS   ROLES            AGE    VERSION
    worker0.instana-odf5.cp.fyre.ibm.com   Ready    monitor,worker   5d5h   v1.29.6+aba1e8d
    worker1.instana-odf5.cp.fyre.ibm.com   Ready    monitor,worker   5d5h   v1.29.6+aba1e8d
    worker2.instana-odf5.cp.fyre.ibm.com   Ready    monitor,worker   5d5h   v1.29.6+aba1e8d
    worker3.instana-odf5.cp.fyre.ibm.com   Ready    monitor,worker   5d5h   v1.29.6+aba1e8d
     

    Vérifiez que les nœuds sont correctement marqués.

    kubectl get nodes -o=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.taints[*]}{.key}{"="}{.value}{"\t"}{end}{"\n"}{end}' |grep monitor
     

    Le résultat attendu devrait ressembler à ceci

    worker0.instana-odf5.cp.fyre.ibm.com    node.instana.io/monitor=true
    worker1.instana-odf5.cp.fyre.ibm.com    node.instana.io/monitor=true
    worker2.instana-odf5.cp.fyre.ibm.com    node.instana.io/monitor=true
    worker3.instana-odf5.cp.fyre.ibm.com    node.instana.io/monitor=true
     

Préparation de l'installation en ligne

Préparez l'installation des opérateurs de magasin de données dans un environnement en ligne.

  1. Installer l' Helm
    Figure 1. S'ouvre dans un nouvel onglet ou une nouvelle fenêtre
    Icône de lien externe
    .
    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. Assurez-vous que cert-manager
    Figure 2. S'ouvre dans un nouvel onglet ou une nouvelle fenêtre
    Icône de lien externe
    , qui sert par défaut à provisionner automatiquement le secret, est installé dans votre cluster. Pour installer cert-manager, exécutez la commande suivante :
    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml
     
    Remarque : ignorez cette étape si « cert-manager » est déjà installé sur votre cluster.
  3. Veillez à définir une classe de stockage par défaut sur le cluster sur lequel vous installez les magasins de données. Vous avez besoin d'une classe de stockage avec le mode d'accès ReadWriteMany (RWX) ou ReadWriteOnce (RWO). Veillez à mettre à jour la classe de stockage que vous avez définie dans votre cluster avec un accès RWX ou RWO.

    Pour vérifier si une classe de stockage par défaut est définie dans votre cluster, exécutez la commande suivante:

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

    Si la commande ne renvoie pas de valeur, vous devez définir une classe de stockage par défaut en exécutant la commande suivante:

    kubectl patch storageclass <storageclass_name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
     
  4. Ajoutez et mettez à jour le référentiel Helm pour les opérateurs tiers. Utilisez votre clé de téléchargement d' Instana comme mot de passe.

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

Préparation de l'installation hors ligne

Préparez une installation hors ligne (avec isolation physique).

  1. Préparez un hôte bastion pouvant accéder à Internet et à votre propre registre d'images interne.

  2. Installez Helm sur l'hôte bastion.

    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. Ajoutez les référentiels de chartes Helm de l'opérateur.

    helm repo add instana https://artifact-public.instana.io/artifactory/rel-helm-customer-virtual --username=_ --password=<download_key>
    helm repo update
     
  4. Téléchargez les chartes Helm .

    helm pull instana/ibm-clickhouse-operator --version=v0.1.2
    helm pull instana/zookeeper-operator --version=1.0.0
    helm pull instana/strimzi-kafka-operator --version=0.51.0
    helm pull instana/eck-operator --version=3.4.0
    helm pull instana/cloudnative-pg --version=0.28.2
    helm pull instana/cass-operator --version=0.63.1
    helm pull instana/cert-manager --version=1.13.2
                   
  5. Extrayez les images de l'opérateur.

    • Cassandra
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator:1.29.0_v0.39.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.26.0_v0.22.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/k8ssandra-client:0.8.12_v0.33.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cassandra:4.1.10_v0.41.0
                           
    • ClickHouse
      docker pull artifact-public.instana.io/clickhouse-operator:v0.1.2
      docker pull artifact-public.instana.io/clickhouse:24.8.14.39-10-lts-ibm
                           
    • Elasticsearch
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch:3.4.0_v0.33.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.18.6_v0.24.0
                           
    • Kafka
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/strimzi:0.51.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka:0.51.0_v0.32.0
                           
    • PostgreSQL en utilisant CloudNativePG
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/cloudnative-pg:v1.29.1_v0.34.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cnpg-containers:15_v0.37.0
                           
    • ZooKeeper
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/zookeeper:0.2.15_v0.21.0
      docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/zookeeper:3.9.3_v0.21.0
      docker pull artifact-public.instana.io/self-hosted-images/k8s/kubectl:v1.35.2_v0.11.0
                           
  6. Si vous utilisez votre hôte bastion comme hôte de l' Instana e dans votre environnement isolé, vous n'avez pas besoin d'effectuer les étapes suivantes. Toutefois, si votre hôte bastion et l'hôte isolé physiquement sont différents, procédez comme suit:

    1. Sur votre hôte Bastion, téléchargez le fichier binaire Helm correspondant au système d'exploitation de votre hôte isolé. Pour connaître les fichiers binaires disponibles, consultez la section « Installation et mise à jour ».
      Figure 3 S'ouvre dans un nouvel onglet ou une nouvelle fenêtre
      Icône de lien externe
      . Voir l'exemple de commande suivant.
      wget https://get.helm.sh/helm-v3.15.2-linux-s390x.tar.gz
       
    2. Copiez le fichier binaire Helm , les images d'opérateur et les chartes Helm de votre hôte bastion vers l'hôte qui se trouve dans votre environnement isolé physiquement.

    3. Installez Helm sur l'hôte isolé physiquement. Exécutez ces commandes à partir de l'emplacement du fichier binaire Helm .

      tar –xvzf https://get.helm.sh/helm-v3.15.2-linux-s390x.tar.gz
      mv linux-s390x/helm /usr/local/bin/helm
       
  7. Créez les magasins de données. Pour connaître les commandes, consultez la section « Installation des magasins de données ».