Création d'un magasin de données « ZooKeeper » sur Linux on Power ( ppc64le )

Installez l'opérateur ZooKeeper et configurez le magasin de données.

ZooKeeper versions de l'opérateur et balises d'image pour le déploiement

Les images suivantes sont nécessaires pour la charte Helm ou les versions d'opérateur épinglées.

Tableau 1. ZooKeeper versions des opérateurs et balises d'image
Plateforme Versions de l'opérateur Version de graphique Helm Image avec étiquette
Linux® on Power® (ppc64le) 0.2.15 1.0.0

artifact-public.instana.io/self-hosted-images/3rd-party/operator/zookeeper: 0.2.15_v0.21.0

artifact-public.instana.io/self-hosted-images/3rd-party/datastore/zookeeper: 3.9.3_v0.21.0

artifact-public.instana.io/self-hosted-images/k8s/ kubectl : v1.35.2_v0.11.0

Installation d' ZooKeeper. en ligne

Procédez comme suit pour installer le magasin de données ZooKeeper .

  1. Créez l'espace de nom instana-zookeeper :

    kubectl create namespace instana-zookeeper
     
  2. Créez des secrets d'extraction d'image pour l'espace de nom instana-zookeeper . Mettez à jour la valeur download_key avec votre propre clé de téléchargement.

    kubectl create secret docker-registry instana-registry \
    --namespace=instana-zookeeper \
    --docker-username=_ \
    --docker-password=<download_key> \
    --docker-server=artifact-public.instana.io
     
  3. Installez l'opérateur ZooKeeper .

    helm install zookeeper-operator -n instana-zookeeper --create-namespace instana/zookeeper-operator --version=1.0.0 --set image.repository=artifact-public.instana.io/self-hosted-images/3rd-party/operator/zookeeper --set image.tag=0.2.15_v0.21.0 --set global.imagePullSecrets={"instana-registry"}
     
  4. Pour installer les instances ZooKeeper , vous avez besoin de l'espace de nom instana-clickhouse . Vérifiez si l'espace de nom instana-clickhouse existe dans votre cluster. S'il n'existe pas, vous pouvez le créer maintenant.

    1. Vérifiez si l'espace de nom instana-clickhouse existe.
      kubectl get namespace | grep clickhouse
       
    2. Si l'espace de nom instana-clickhouse n'existe pas, créez-le maintenant.
      kubectl create namespace instana-clickhouse
       
  5. Créez des secrets d'extraction d'image pour l'espace de nom instana-clickhouse . Avant de créer le secret, mettez à jour la valeur <download_key> avec votre clé d'agent.

     kubectl create secret docker-registry instana-registry \
     --namespace=instana-clickhouse \
     --docker-username=_ \
     --docker-password=<download_key> \
     --docker-server=artifact-public.instana.io
     
  6. Créez un fichier « YAML », par exemple zookeeper.yaml, avec la configuration suivante : ZooKeeper.

    apiVersion: "zookeeper.pravega.io/v1beta1"
    kind: "ZookeeperCluster"
    metadata:
      name: "instana-zookeeper"
    spec:
      # For all params and defaults, see https://github.com/pravega/zookeeper-operator/tree/master/charts/zookeeper#configuration
      replicas: 3
      image:
        repository: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/zookeeper
        tag: "3.9.3_v0.21.0"
      pod:
        imagePullSecrets: [name: "instana-registry"]
        serviceAccountName: "zookeeper"
      config:
        tickTime: 2000
        initLimit: 10
        syncLimit: 5
        maxClientCnxns: 0
        autoPurgeSnapRetainCount: 20
        autoPurgePurgeInterval: 1
      persistence:
        reclaimPolicy: Delete
        spec:
          resources:
            requests:
              storage: "10Gi"
     
  7. Effectuez les étapes de la rubrique Déploiement et vérification de ZooKeeper (en ligne et hors ligne).

Installation hors ligne d' ZooKeeper

Installez l'opérateur ZooKeeper dans un environnement hors ligne.

Si vous n'avez pas encore extrait les images ZooKeeper du registre externe lorsque vous avez préparé l'installation, vous pouvez les extraire maintenant. Exécutez les commandes suivantes sur votre hôte bastion. Ensuite, copiez les images sur votre serveur d' Instana, qui se trouve dans votre environnement isolé.

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
         

Suivez les étapes suivantes sur votre serveur d' Instana.

  1. Rebalisez les images dans votre registre d'images interne.

    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/operator/zookeeper:0.2.15_v0.21.0 <internal-image-registry>/self-hosted-images/3rd-party/zookeeper-operator:0.2.15_v0.21.0
    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/zookeeper:3.9.3_v0.21.0 <internal-image-registry>/self-hosted-images/3rd-party/zookeeper:3.9.3_v0.21.0
    docker tag artifact-public.instana.io/self-hosted-images/k8s/kubectl:v1.35.2_v0.11.0 <internal-image-registry>/self-hosted-images/k8s/kubectl:v1.35.2_v0.11.0
                   
  2. Envoyez les images à votre registre d'images interne sur votre hôte bastion.

    docker push <internal-image-registry>/self-hosted-images/3rd-party/zookeeper-operator:0.2.15_v0.21.0
    docker push <internal-image-registry>/self-hosted-images/3rd-party/zookeeper:3.9.3_v0.21.0
    docker push <internal-image-registry>/self-hosted-images/k8s/kubectl:v1.35.2_v0.11.0
                   
  3. Créer l'espace de noms instana-zookeeper.

    kubectl create namespace instana-zookeeper
     
  4. Facultatif : Créez un secret d'extraction d'image si votre registre d'images interne nécessite une authentification.

    kubectl create secret docker-registry <secret_name> --namespace instana-zookeeper \
    --docker-username=<registry_username> \
    --docker-password=<registry_password> \
    --docker-server=<internal-image-registry>:<internal-image-registry-port> \
    --docker-email=<registry_email>
     
  5. Installez l'opérateur ZooKeeper . Si vous avez créé un secret d'extraction d'image à l'étape précédente, ajoutez --set imagePullSecrets[0].name="<internal-image-registry-pull-secret>" à la commande suivante.

    helm install zookeeper-operator -n instana-zookeeper zookeeper-operator-1.0.0.tgz --version=1.0.0 --set image.repository=<internal-image-registry>/ppc64le-oss/zookeeper-operator-ppc64le --set image.tag=0.2.15_v0.21.0
                   
  6. Pour installer les instances ZooKeeper , vous avez besoin de l'espace de nom instana-clickhouse . Vérifiez si l'espace de nom instana-clickhouse existe dans votre cluster. S'il n'existe pas, vous pouvez le créer maintenant.

    1. Vérifiez si l'espace de nom instana-clickhouse existe.
      kubectl get namespace | grep clickhouse
       
    2. Si l'espace de nom instana-clickhouse n'existe pas, créez-le maintenant.
      kubectl create namespace instana-clickhouse
       
  7. Créez un fichier « YAML », par exemple zookeeper.yaml, avec la configuration suivante : ZooKeeper.

    apiVersion: "zookeeper.pravega.io/v1beta1"
    kind: "ZookeeperCluster"
    metadata:
      name: "instana-zookeeper"
    spec:
      # For all params and defaults, see https://github.com/pravega/zookeeper-operator/tree/master/charts/zookeeper#configuration
      replicas: 3
      image:
        repository: <internal-image-registry>/self-hosted-images/3rd-party/zookeeper
        tag: "3.9.3_v0.21.0"
      pod:
        serviceAccountName: "zookeeper"
      config:
        tickTime: 2000
        initLimit: 10
        syncLimit: 5
        maxClientCnxns: 0
        autoPurgeSnapRetainCount: 20
        autoPurgePurgeInterval: 1
      persistence:
        reclaimPolicy: Delete
        spec:
          resources:
            requests:
              storage: "10Gi"
     
  8. Effectuez les étapes de la rubrique Déploiement et vérification de ZooKeeper (en ligne et hors ligne).

Déploiement et vérification d' ZooKeeper s (en ligne et hors ligne)

Procédez comme suit pour déployer l'instance ZooKeeper et créer le magasin de données.

  1. Déployez ZooKeeper.

    kubectl apply -f zookeeper.yaml -n instana-clickhouse
     

    ClickHouse ayant besoin d'un cluster ZooKeeper dédié, ZooKeeper est installé dans l'espace de nom instana-clickhouse .

  2. Vérifiez si le pod de l'opérateur ZooKeeper est en cours d'exécution.

kubectl get pods -n instana-zookeeper
 

La sortie suivante est un exemple de sortie.

NAME                                          READY   STATUS    RESTARTS   AGE
instana-zookeeper-operator-7fccd8fd77-9lww5   1/1     Running   0          74s
 

Vérifiez si ZooKeeper fonctionne.

kubectl get all -n instana-clickhouse
 

Voir le modèle de sortie suivant.

NAME                      READY   STATUS    RESTARTS   AGE
pod/instana-zookeeper-0   1/1     Running   0          119s
pod/instana-zookeeper-1   1/1     Running   0          82s
pod/instana-zookeeper-2   1/1     Running   0          47s

NAME                                     TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                                        AGE
service/instana-zookeeper-admin-server   ClusterIP   192.168.1.126   <none>        8080/TCP                                       2m
service/instana-zookeeper-client         ClusterIP   192.168.1.13    <none>        2181/TCP                                       2m
service/instana-zookeeper-headless       ClusterIP   None            <none>        2181/TCP,2888/TCP,3888/TCP,7000/TCP,8080/TCP   2m

NAME                                 READY   AGE
statefulset.apps/instana-zookeeper   3/3     2m3s