Creazione di un archivio dati " ZooKeeper " su Linux on Power ( ppc64le )

Installare l'operatore ZooKeeper e configurare l'archivio dati.

ZooKeeper versioni dell'operatore e tag delle immagini per la distribuzione

Le seguenti immagini sono necessarie per le versioni dell'operatore o del grafico Helm in evidenza.

Tabella 1. ZooKeeper versioni degli operatori e tag delle immagini
Piattaforma Versioni operatore Versione grafico Helm Immagine con tag
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

Installazione di " ZooKeeper " online

Completare questa procedura per installare l'archivio dati ZooKeeper .

  1. Creare lo spazio dei nomi instana-zookeeper :

    kubectl create namespace instana-zookeeper
     
  2. Crea i segreti di pull dell'immagine per lo spazio dei nomi instana-zookeeper . Aggiornare il valore download_key con la propria chiave di download.

    kubectl create secret docker-registry instana-registry \
    --namespace=instana-zookeeper \
    --docker-username=_ \
    --docker-password=<download_key> \
    --docker-server=artifact-public.instana.io
     
  3. Installare l'operatore 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. Per installare le istanze ZooKeeper , hai bisogno dello spazio dei nomi instana-clickhouse . Controlla se lo spazio dei nomi instana-clickhouse esiste nel tuo cluster. Se non esiste, è possibile crearla ora.

    1. Verificare se lo spazio dei nomi instana-clickhouse esiste.
      kubectl get namespace | grep clickhouse
       
    2. Se lo spazio dei nomi instana-clickhouse non esiste, crearlo ora.
      kubectl create namespace instana-clickhouse
       
  5. Crea i segreti di pull dell'immagine per lo spazio dei nomi instana-clickhouse . Prima di creare il segreto, aggiornare il valore <download_key> con la chiave dell'agente.

     kubectl create secret docker-registry instana-registry \
     --namespace=instana-clickhouse \
     --docker-username=_ \
     --docker-password=<download_key> \
     --docker-server=artifact-public.instana.io
     
  6. Crea un file ` YAML `, ad zookeeper.yaml esempio con la configurazione ` 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. Completare la procedura in Distribuzione e verifica di ZooKeeper (online e offline).

Installazione offline di " ZooKeeper "

Installare l'operatore ZooKeeper in un ambiente offline.

Se non hai ancora eseguito il pull delle immagini ZooKeeper dal registro esterno quando hai preparato per l'installazione, puoi eseguirne il pull ora. Immetti questi comandi sul tuo host bastion. Quindi, copia le immagini sul tuo host Instana che si trova nel tuo ambiente isolato.

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
         

Esegui i seguenti passaggi sul tuo host Instana.

  1. Contrassegnare le immagini con una nuova tag nel registro delle immagini interno.

    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. Esegui il push delle immagini nel tuo registro immagini interno sul tuo host 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. Creare lo spazio dei nomi instana-zookeeper.

    kubectl create namespace instana-zookeeper
     
  4. Opzionale: Creare un segreto di estrazione dell'immagine se il registro delle immagini interno richiede l'autenticazione.

    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. Installare l'operatore ZooKeeper . Se si è creata un'immagine pull secret nel passaggio precedente, aggiungere --set imagePullSecrets[0].name="<internal-image-registry-pull-secret>" al comando seguente.

    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. Per installare le istanze ZooKeeper , hai bisogno dello spazio dei nomi instana-clickhouse . Controlla se lo spazio dei nomi instana-clickhouse esiste nel tuo cluster. Se non esiste, è possibile crearla ora.

    1. Verificare se lo spazio dei nomi instana-clickhouse esiste.
      kubectl get namespace | grep clickhouse
       
    2. Se lo spazio dei nomi instana-clickhouse non esiste, crearlo ora.
      kubectl create namespace instana-clickhouse
       
  7. Crea un file ` YAML `, ad zookeeper.yaml esempio con la configurazione ` 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. Completare la procedura in Distribuzione e verifica di ZooKeeper (online e offline).

Implementazione e verifica di ZooKeeper (online e offline)

Completa questa procedura per distribuire l'istanza ZooKeeper e creare l'archivio dati.

  1. Distribuire ZooKeeper.

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

    ClickHouse ha bisogno di un cluster ZooKeeper dedicato, quindi ZooKeeper è installato nello spazio dei nomi instana-clickhouse .

  2. Verifica se il pod operatore ZooKeeper è in esecuzione.

kubectl get pods -n instana-zookeeper
 

Il seguente output è un output di esempio.

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

Verificare se ZooKeeper sta funzionando.

kubectl get all -n instana-clickhouse
 

Vedere il seguente output di esempio.

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