Atualização do armazenamento de dados do ` ClickHouse ` no ` Linux on IBM Z and LinuxONE `

Atualize o operador do ` ClickHouse ` e atualize o armazenamento de dados.

Observação: Após a criação inicial de um cluster do ClickHouse ou após o aumento do número de fragmentos, o cluster pode levar alguns minutos para conectar os fragmentos.

Antes de iniciar

Certifique-se de que preparou seus servidores online e offline para baixar imagens do repositório externo. Além disso, certifique-se de ter adicionado o repositório Helm.

ClickHouse versões do operador e tags de imagem

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

Plataforma Versões do operador Versão do gráfico do Helm Imagem com a tag
Linux® on IBM Z® and LinuxONE v0.1.2 v0.1.2

artifact-public.instana.io/clickhouse-operator: v0.1.2

artifact-public.instana.io/clickhouse: 24.8.14.39-10-lts-ibm

Atualização do ` ClickHouse ` online

Siga estas etapas para atualizar o armazenamento de dados do ClickHouse.

  1. Crie um arquivo custom_values.yaml e especifique a tolerância e a afinidade.

    tolerations:
       - key: node.instana.io/monitor
         operator: Equal
         effect: NoSchedule
         value: "true"
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: node-role.kubernetes.io/monitor
                  operator: In
                  values:
                    - "true"
     
  2. Atualize o operador ` ClickHouse `.

    helm upgrade --install clickhouse-operator instana/ibm-clickhouse-operator -n instana-clickhouse --version=v0.1.2 --set operator.image.repository=artifact-public.instana.io/clickhouse-operator --set operator.image.tag=v0.1.2 --set imagePullSecrets[0].name="instana-registry" -f custom_values.yaml
     
  3. Atualize o recurso personalizado ClickHouse aplicando o patch a seguir.

    kubectl patch ClickHouseInstallation instana -n instana-clickhouse --type=strategic --patch '
    spec:
      templates:
        podTemplates:
          - name: clickhouse
            spec:
              containers:
                - name: instana-clickhouse
                  image: artifact-public.instana.io/clickhouse:24.8.14.39-10-lts-ibm
                - name: clickhouse-log
                  image: artifact-public.instana.io/clickhouse:24.8.14.39-10-lts-ibm
        '
     
  4. Siga as etapas descritas em “Verificação de ClickHouse ” (online e offline).

Atualização do ` ClickHouse ` no modo offline

Se você ainda não baixou as imagens do ClickHouse do repositório externo, pode baixá-las agora. Execute os seguintes comandos no seu servidor bastion. Em seguida, copie as imagens para o servidor de Instana s que está em seu ambiente isolado.

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
         

Siga as etapas a seguir no seu servidor do Instana.

  1. Re-etiquete as imagens no seu repositório interno de imagens.

    docker tag artifact-public.instana.io/clickhouse-operator:v0.1.2 <internal-image-registry>/clickhouse-operator:v0.1.2
    docker tag artifact-public.instana.io/clickhouse:24.8.14.39-10-lts-ibm <internal-image-registry>/clickhouse:24.8.14.39-10-lts-ibm
                   
  2. Envie as imagens para o seu repositório interno de imagens.

    docker push <internal-image-registry>/clickhouse-operator:v0.1.2
    docker push <internal-image-registry>/clickhouse:24.8.14.39-10-lts-ibm
                   
  3. Crie um arquivo custom_values.yaml e especifique a tolerância e a afinidade.

    tolerations:
       - key: node.instana.io/monitor
         operator: Equal
         effect: NoSchedule
         value: "true"
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: node-role.kubernetes.io/monitor
                  operator: In
                  values:
                    - "true"
     
  4. Atualize o operador ` ClickHouse `.

    helm upgrade --install clickhouse-operator ibm-clickhouse-operator-v0.1.2.tgz -n instana-clickhouse --version=v0.1.2 --set operator.image.repository=<internal-image-registry>/clickhouse-operator --set operator.image.tag=v0.1.2 -f custom_values.yaml
     
  5. Atualize o recurso personalizado do Clickhouse aplicando o patch a seguir.

    kubectl patch ClickHouseInstallation instana -n instana-clickhouse --type=strategic --patch '
    spec:
      templates:
        podTemplates:
          - name: clickhouse
            spec:
              containers:
                - name: instana-clickhouse
                  image: artifact-public.instana.io/clickhouse:24.8.14.39-10-lts-ibm
                - name: clickhouse-log
                  image: artifact-public.instana.io/clickhouse:24.8.14.39-10-lts-ibm
         '
     
  6. Siga as etapas descritas na seção “Verificação de ClickHouse ”.

Verificando ClickHouse

Siga estas etapas para verificar uma instância d ClickHouse e e o armazenamento de dados.

  1. Verifique o operador ClickHouse.

    kubectl get all -n instana-clickhouse
     

    Se a atualização do operador do ClickHouse for concluída com sucesso, a saída do comando exibirá o status do operador conforme Running mostrado no exemplo a seguir:

    NAME                                                                  READY   STATUS    RESTARTS   AGE
    pod/chi-instana-local-0-0-0                                           2/2     Running   0          8m46s
    pod/chi-instana-local-0-1-0                                           2/2     Running   0          8m5s
    pod/clickhouse-operator-altinity-clickhouse-operator-86b5f9b57689rr   2/2     Running   0          70m
    pod/instana-zookeeper-0                                               1/1     Running   0          4h3m
    pod/instana-zookeeper-1                                               1/1     Running   0          4h2m
    pod/instana-zookeeper-2                                               1/1     Running   0          4h2m
    
    NAME                                                               TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                                        AGE
    service/chi-instana-local-0-0                                      ClusterIP      None            <none>          9000/TCP,8123/TCP,9009/TCP                     8m16s
    service/chi-instana-local-0-1                                      ClusterIP      None            <none>          9000/TCP,8123/TCP,9009/TCP                     7m35s
    service/clickhouse-instana                                         LoadBalancer   192.168.1.167   35.246.237.19   8123:32714/TCP,9000:31317/TCP                  8m11s
    service/clickhouse-operator-altinity-clickhouse-operator-metrics   ClusterIP      192.168.1.136   <none>          8888/TCP                                       70m
    service/instana-zookeeper-admin-server                             ClusterIP      192.168.1.126   <none>          8080/TCP                                       4h3m
    service/instana-zookeeper-client                                   ClusterIP      192.168.1.13    <none>          2181/TCP                                       4h3m
    service/instana-zookeeper-headless                                 ClusterIP      None            <none>          2181/TCP,2888/TCP,3888/TCP,7000/TCP,8080/TCP   4h3m
    
    NAME                                                               READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/clickhouse-operator-altinity-clickhouse-operator   1/1     1            1           70m
    
    NAME                                                                          DESIRED   CURRENT   READY   AGE
    replicaset.apps/clickhouse-operator-altinity-clickhouse-operator-86b5f9b579   1         1         1       70m
    
    NAME                                     READY   AGE
    statefulset.apps/chi-instana-local-0-0   1/1     8m50s
    statefulset.apps/chi-instana-local-0-1   1/1     8m9s
    statefulset.apps/instana-zookeeper       3/3     4h3m
     
  2. Certifique-se de que os pods estejam agendados nos nós desejados.

    kubectl get pods -n instana-clickhouse -o wide
     

    O exemplo a seguir mostra um resultado de saída.

    chi-instana-local-0-0-0                                       2/2     Running   0               21d   10.254.20.145   worker0.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    chi-instana-local-0-1-0                                       2/2     Running   0               21d   10.254.20.146   worker0.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    clickhouse-operator-ibm-clickhouse-operator-fb58dff68-np54g   1/1     Running   0               21d   10.254.20.143   worker0.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-zookeeper-0                                           1/1     Running   0               21d   10.254.20.141   worker1.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-zookeeper-1                                           1/1     Running   0               21d   10.254.16.105   worker2.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-zookeeper-2                                           1/1     Running   0               21d   10.254.24.75    worker3.instana-odf5.cp.fyre.ibm.com   <none>           <none>