Linux on IBM Z and LinuxONE 에서 ZooKeeper 데이터 저장소 업데이트

ZooKeeper 연산자 업그레이드.

시작하기 전에

온라인 및 오프라인 호스트가 외부 저장소에서 이미지를 가져올 수 있도록 준비했는지 확인하십시오. 또한 올바른 Helm 저장소가 추가되었는지 확인하십시오.

ZooKeeper 배포용 운영체제 버전 및 이미지 태그

다음 이미지는 고정된 Helm 차트 또는 연산자 버전에 필요합니다.

플랫폼 오퍼레이터 버전 Helm 차트 버전 태그가 있는 이미지
Linux® on IBM Z® and LinuxONE 0.2.15 1.0.0

artifact-public.instana.io/자체 호스팅 이미지/타사/오퍼레이터/zookeeper: 0.2.15_v0.21.0

artifact-public.instana.io/자체 호스팅 이미지/타사/데이터스토어/zookeeper: 3.9.3_v0.21.0

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

ZooKeeper 온라인 업그레이드

ZooKeeper 데이터 스토어를 업그레이드하려면 다음 단계를 따르십시오.

  1. 만들고 허용 custom_values.yaml 오차 및 친화도를 지정합니다. 파일이 이미 생성된 경우 이 단계를 건너뛰세요.

    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. ZooKeeper 연산자를 업그레이드하십시오.

    helm upgrade zookeeper-operator instana/zookeeper-operator -n instana-zookeeper --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[0]=instana-registry --no-hooks -f custom_values.yaml
     
  3. ZooKeeper 구성 파일을 수정하여 ZooKeeper 를 업데이트합니다:

    kubectl patch zookeepercluster instana-zookeeper -n iinstana-clickhouse --type=merge --patch '       
    spec:
      image:
        tag: "3.9.3_v0.21.0"
    '
     
  4. ZooKeeper 확인(온라인 및 오프라인) 단계를 완료하십시오.

ZooKeeper 를 오프라인에서 업그레이드하기

아직 외부 레지스트리에서 ZooKeeper 이미지를 가져오지 않았다면 지금 가져올 수 있습니다. 다음 명령어를 귀하의 바스티온 호스트에서 실행하십시오. 그런 다음, 이미지를 에어갭 환경에 있는 Instana 호스트로 복사하십시오.

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
         

Instana 호스트에서 다음 단계를 완료하십시오.

  1. 이미지를 내부 이미지 레지스트리에 재태그하십시오.

    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/operator/zookeeper:0.2.15_v0.21.0 <internal-image-registry>/zookeeper/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>/zookeeper/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. 이미지를 귀하의 백도어 호스트에 있는 내부 이미지 레지스트리로 푸시하십시오.

    docker push <internal-image-registry>/operator/zookeeper:0.2.15_v0.21.0
    docker push <internal-image-registry>/zookeeper:3.9.3_v0.21.0
    docker push <internal-image-registry>/self-hosted-images/k8s/kubectl:v1.35.2_v0.11.0
                   
  3. 만들고 허용 custom_values.yaml 오차 및 친화도를 지정합니다. 파일이 이미 생성된 경우 이 단계를 건너뛰세요.

    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. ZooKeeper 연산자를 업그레이드하십시오.

    helm upgrade --install zookeeper-operator zookeeper-operator-1.0.0.tgz -n instana-zookeeper --version=1.0.0 --set image.repository=<internal-image-registry>/operator/zookeeper --set image.tag=0.2.15_v0.21.0 --no-hooks -f custom_values.yaml
     
  5. ZooKeeper 구성 파일을 수정하여 ZooKeeper 를 업데이트합니다:

    kubectl patch zookeepercluster instana-zookeeper -n instana-clickhouse --type=merge --patch '
    spec:
      image:
        tag: "3.9.3_v0.21.0"
         '
     
  6. ZooKeeper 확인(온라인 및 오프라인) 단계를 완료하십시오.

ZooKeeper 검증 (온라인 및 오프라인)

ZooKeeper 을 인증하려면 다음 단계를 완료하세요.

  1. ZooKeeper 을 기다려 주세요.

    kubectl get pods -n instana-zookeeper
     
  2. ZooKeeper 운영자 포드가 실행 중인지, 그리고 원하는 노드에 스케줄링되었는지 확인하십시오.

    kubectl get pods -n instana-zookeeper -o wide
     

    다음 예제에서 출력 예시를 확인할 수 있습니다:

    NAME                                  READY   STATUS    RESTARTS   AGE   IP              NODE                                           NOMINATED NODE   READINESS GATES
    zookeeper-operator-6dcd4bdd74-7jhpn   1/1     Running   1          24d   10.254.12.198   worker2.instana-odf5.cp.fyre.ibm.com   <none>           <none>
     
  3. ZooKeeper 가 작동하는지 확인하십시오.

    kubectl get all -n instana-zookeeper
     

    다음 샘플 출력을 참조하십시오.

    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