更新 Linux on IBM Z and LinuxONE 上的 ZooKeeper 数据存储
升级 ZooKeeper 操作符。
准备工作
请确保您已配置好线上和线下的主机,以便从外部仓库拉取图片。 此外,请确保已添加正确的 Helm 仓库。
ZooKeeper 用于部署的操作系统版本和镜像标签
以下图片是固定在 Helm 图表或操作员版本中所需的。
| 平台 | 操作员版本 | Helm Chart 版本 | 带有标签的图片 |
|---|---|---|---|
| Linux® on IBM Z® and LinuxONE | 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 |
在线升级 ZooKeeper
请按照以下步骤升级 ZooKeeper 数据存储。
创建
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"升级 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通过修改 ZooKeeper 的配置来更新 ZooKeeper :
kubectl patch zookeepercluster instana-zookeeper -n iinstana-clickhouse --type=merge --patch ' spec: image: tag: "3.9.3_v0.21.0" '请按照 《验证 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 主机上完成以下步骤。
将图片重新标记到您的内部图片库中。
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将镜像推送到堡垒主机上的内部镜像仓库。
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创建
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"升级 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通过修改 ZooKeeper 的配置来更新 ZooKeeper :
kubectl patch zookeepercluster instana-zookeeper -n instana-clickhouse --type=merge --patch ' spec: image: tag: "3.9.3_v0.21.0" '请按照 《验证 ZooKeeper 》(在线和离线) 中的步骤操作。
验证 ZooKeeper (在线和离线)
请按照以下步骤验证 ZooKeeper。
请等待 ZooKeeper。
kubectl get pods -n instana-zookeeper检查 ZooKeeper 操作员Pod是否正在运行,以及它是否已调度到目标节点上。
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>请确认 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