Criação de um repositório de dados do ZooKeeper no Linux on Power ( ppc64le )

Instale o operador do ZooKeeper e configure o armazenamento de dados

ZooKeeper versões do operador e tags de imagem para implantação

As imagens a seguir são necessárias para o gráfico Helm fixado ou versões do operador.

Tabela 1. ZooKeeper versões do operador e tags de imagem
Plataforma Versões do operador Versão do gráfico do Helm Imagem com 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

Instalando o ZooKeeper online

Conclua estas etapas para instalar o armazenamento de dados do ZooKeeper

  1. Crie o namespace instana-zookeeper :

    kubectl create namespace instana-zookeeper
     
  2. Crie segredos de extração de imagem para o namespace do instana-zookeeper . Atualize o valor download_key com sua própria chave de download.

    kubectl create secret docker-registry instana-registry \
    --namespace=instana-zookeeper \
    --docker-username=_ \
    --docker-password=<download_key> \
    --docker-server=artifact-public.instana.io
     
  3. Instale o operador do 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. Para instalar as instâncias do ZooKeeper , é necessário o namespace instana-clickhouse . Verifique se o namespace instana-clickhouse existe em seu cluster. Se ele não existir, você poderá criá-lo agora.

    1. Verifique se o namespace instana-clickhouse existe.
      kubectl get namespace | grep clickhouse
       
    2. Se o namespace instana-clickhouse não existir, crie-o agora.
      kubectl create namespace instana-clickhouse
       
  5. Crie segredos de extração de imagem para o namespace do instana-clickhouse . Antes de criar o segredo, atualize o valor <download_key> com sua chave de agente.

     kubectl create secret docker-registry instana-registry \
     --namespace=instana-clickhouse \
     --docker-username=_ \
     --docker-password=<download_key> \
     --docker-server=artifact-public.instana.io
     
  6. Crie um arquivo ` YAML `, por exemplo zookeeper.yaml, com a configuração ` 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. Conclua as etapas em Implementando e verificando o ZooKeeper (online e offline).

Instalando o ZooKeeper no modo offline

Instale o operador ZooKeeper em um ambiente offline.

Se você ainda não tiver extraído as imagens do ZooKeeper do registro externo quando se preparou para a instalação, será possível extrai-las agora, Execute os comandos a seguir no host bastion. Em seguida, copie as imagens para o seu servidor de armazenamento de imagens ( Instana ) localizado no seu ambiente isolado.

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
         

Siga as etapas a seguir no seu servidor do Instana.

  1. Remarque as imagens para o seu registro de imagem 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. Envie por push as imagens para seu registro de imagem interno no 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. Crie o namespace instana-zookeeper.

    kubectl create namespace instana-zookeeper
     
  4. Opcional: Crie um segredo de image pull se o seu registro de imagem interno precisar de autenticação.

    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. Instale o operador do ZooKeeper Se você criou uma imagem pull secret na etapa anterior, adicione --set imagePullSecrets[0].name="<internal-image-registry-pull-secret>" ao comando a seguir.

    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. Para instalar as instâncias do ZooKeeper , é necessário o namespace instana-clickhouse . Verifique se o namespace instana-clickhouse existe em seu cluster. Se ele não existir, você poderá criá-lo agora.

    1. Verifique se o namespace instana-clickhouse existe.
      kubectl get namespace | grep clickhouse
       
    2. Se o namespace instana-clickhouse não existir, crie-o agora.
      kubectl create namespace instana-clickhouse
       
  7. Crie um arquivo ` YAML `, por exemplo zookeeper.yaml, com a configuração ` 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. Conclua as etapas em Implementando e verificando o ZooKeeper (online e offline).

Implantação e verificação do ` ZooKeeper ` (online e offline)

Conclua estas etapas para implementar a instância do ZooKeeper e criar o armazenamento de dados

  1. Implemente ZooKeeper.

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

    O ClickHouse precisa de um cluster dedicado do ZooKeeper , portanto, o ZooKeeper é instalado no namespace do instana-clickhouse

  2. Verifique se o pod do operador do ZooKeeper está em execução

kubectl get pods -n instana-zookeeper
 

A saída a seguir é uma saída de amostra

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

Verifique se ZooKeeper está funcionando.

kubectl get all -n instana-clickhouse
 

Consulte a saída de amostra a seguir

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