Atualização do armazenamento de dados do Kafka em Linux on IBM Z and LinuxONE

Atualize o operador do Kafka e atualize o banco de dados do Kafka.

Antes de iniciar

Certifique-se de que preparou seu host online e offline para extrair imagens do repositório externo. Além disso, certifique-se de que o repositório correto Helm foi adicionado.

A partir do Strimzi 0.46.0, o suporte para as versões Kafka 3.8.0 e 3.8.1, ZooKeeper-based Apache Kafka clusters e migração KRaft foi descontinuado. Se você usa o Strimzi 0.45.0 ou uma versão mais antiga, precisa migrar para o KRaft antes de atualizar para o Strimzi 0.46.0.

Importante: Para usar o Kafka 4.x.x ou versões posteriores, é necessário atualizar o BeeInstana para a versão 1.4.11 para o IBM Z. As versões anteriores do BeeInstana não são compatíveis com o Kafka 4.x.x e versões posteriores.

Para obter mais informações sobre a migração de dados de um cluster baseado no Zookeeper para um cluster KRaft, consulte o artigo “Migração do Zookeeper para o KRaft ” na página Kafka.

Kafka Versões do operador e tags de imagem para implantação

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

Plataforma Versões do operador Versão do gráfico do Helm Imagem com tag
Linux® on IBM Z® and LinuxONE 0.51.0 0.51.0 artifact-public.instana.io/self-hosted-images/3rd-party/operator/strimzi: 0.51.0_v0.32.0 artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka: 0.51.0-kafka-4.1.1_v0.32.0

Atualização onlin Kafka

Siga estas etapas para atualizar o banco de dados do Kafka.

  1. Crie custom_values.yaml e especifique a tolerância e a afinidade. Pule esta etapa se o arquivo já tiver sido criado.

    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 Strimzi.

    helm upgrade --install strimzi instana/strimzi-kafka-operator --version 0.51.0 -n instana-kafka --set image.registry=artifact-public.instana.io --set image.repository=self-hosted-images/3rd-party/operator --set image.name=strimzi --set image.tag=0.51.0_v0.32.0 --set image.imagePullSecrets[0].name="instana-registry" --set kafka.image.registry=artifact-public.instana.io --set kafka.image.repository=self-hosted-images/3rd-party/datastore --set kafka.image.name=kafka --set kafka.image.tag=0.51.0-kafka-4.1.1_v0.32.0 -f custom_values.yaml
     
  3. Atualize o recurso personalizado Kafka.

    kubectl patch kafka instana -n instana-kafka --type=merge --patch '
       spec:
         kafka:
           version: "4.1.1"
         entityOperator:
           userOperator:
             image: artifact-public.instana.io/self-hosted-images/3rd-party/operator/strimzi:0.51.0_v0.32.0
             '
     
  4. Conclua as etapas em Verificação de Kafka (online e offline).

Atualização do Operador do Kafka 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 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/strimzi:0.51.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka:0.51.0_v0.32.0
         

Conclua as seguintes etapas no seu host Instana.

  1. Reetiquete as imagens no seu registro interno de imagens.

    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/operator/strimzi:0.51.0 <internal-image-registry>/operator/strimzi:0.51.0
    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/kafka:0.51.0_v0.32.0 <internal-image-registry>/datastore/kafka:0.51.0_v0.32.0
                   
  2. Envie as imagens para o seu registro interno de imagens no seu host bastion.

    docker push <internal-image-registry>/operator/strimzi:0.51.0
    docker push <internal-image-registry>/datastore/kafka:0.51.0_v0.32.0
                   
  3. Crie custom_values.yaml e especifique a tolerância e a afinidade. Pule esta etapa se o arquivo já tiver sido criado.

    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 Strimzi.

    helm upgrade --install strimzi strimzi-kafka-operator-helm-3-chart-0.51.0.tgz --version 0.51.0 -n instana-kafka --set image.registry=<internal-image-registry> --set image.repository=operator/strimzi --set image.name=strimzi --set image.tag=0.51.0_v0.32.0 --set kafka.image.registry=<internal-image-registry> --set kafka.image.repository=datastore/kafka --set kafka.image.name=kafka --set kafka.image.tag=0.51.0-kafka-4.1.1_v0.32.0 -f custom_values.yaml
     
  5. Atualize o recurso personalizado Kafka.

    kubectl patch kafka instana -n instana-kafka --type=merge --patch '
       spec:
         kafka:
           version: "4.1.1"
         entityOperator:
           userOperator:
             image: <internal-image-registry>/self-hosted-images/3rd-party/operator/strimzi:0.51.0_v0.32.0
             '
     
  6. Conclua as etapas em Verificação de Kafka (online e offline).

Verificando Kafka (online e offline)

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

  1. Verifique a atualização do Instana Kafka.

    kubectl get all -n instana-kafka
     

    A saída pode ser como no exemplo a seguir.

    NAME                                           READY   STATUS    RESTARTS   AGE
    pod/instana-entity-operator-8564975588-mrz2f   3/3     Running   0          15m
    pod/instana-kafka-0                            1/1     Running   0          16m
    pod/instana-kafka-1                            1/1     Running   0          16m
    pod/instana-kafka-2                            1/1     Running   0          16m
    pod/instana-contoller-0                        1/1     Running   0          17m
    pod/instana-contoller-1                        1/1     Running   0          17m
    pod/instana-contoller-2                        1/1     Running   0          17m
    pod/strimzi-cluster-operator-cf49c75d8-qm8jq   1/1     Running   0          34m
    
    NAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
    service/instana-kafka-bootstrap    ClusterIP   192.168.1.239   <none>        9091/TCP,9092/TCP            16m
    service/instana-kafka-brokers      ClusterIP   None            <none>        9090/TCP,9091/TCP,9092/TCP   16m
    
    NAME                                       READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/instana-entity-operator    1/1     1            1           15m
    deployment.apps/strimzi-cluster-operator   1/1     1            1           34m
    
    NAME                                                 DESIRED   CURRENT   READY   AGE
    replicaset.apps/instana-entity-operator-8564975588   1         1         1       15m
    replicaset.apps/strimzi-cluster-operator-cf49c75d8   1         1         1       34m
     
  2. Certifique-se de que os pods estejam agendados nos nós desejados.

    kubectl get pods -n instana-kafka -o wide
     

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

    instana-entity-operator-77c6bc665-74d9t     1/1     Running   1          22d   10.254.12.207   worker0.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-kafka-0                             1/1     Running   1          22d   10.254.12.206   worker1.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-kafka-1                             1/1     Running   0          22d   10.254.20.18    worker2.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-kafka-2                             1/1     Running   0          22d   10.254.12.204   worker3.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-contoller-0                         1/1     Running   1          22d   10.254.12.207   worker0.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-contoller-1                         1/1     Running   0          22d   10.254.12.206   worker1.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-contoller-2                         1/1     Running   0          22d   10.254.20.18    worker2.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    strimzi-cluster-operator-5c9dfd89c6-dbr4d   1/1     Running   1          22d   10.254.12.204   worker3.instana-odf5.cp.fyre.ibm.com   <none>           <none>