在 Linux on IBM Z and LinuxONE 上升级 Cassandra 数据存储
您可以升级 Cassandra 操作员。
准备工作
请确保您已准备好在线和离线主机,以便从外部存储库拉取图像。 此外,请确保已添加正确的 Helm 仓库。
Cassandra 操作员版本和部署图像标签
以下图片是固定的 Helm 图表或运算符版本所需的。
| 平台 | 操作员版本 | Helm Chart 版本 | 带标签的图片 |
|---|---|---|---|
| Linux® on IBM Z® and LinuxONE | 1.29.0 | 0.63.1 | artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator: 1.29.0_v0.39.0 artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger: 1.26.0_v0.22.0 artifact-public.instana.io/self-hosted-images/3rd-party/datastore/k8ssandra-client: 0.8.12_v0.33.0 artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cassandra: 4.1.10_v0.41.0 |
在线升级 Cassandra
要在在线环境中升级 Cassandra 数据存储,请执行以下步骤:
创建一个文件
cass_values.yaml来配置污点和容忍度。nodeSelector: node-role.kubernetes.io/monitor: "true" tolerations: - key: node.instana.io/monitor operator: Equal effect: NoSchedule value: "true"升级 Cassandra 操作员。
helm upgrade --install cass-operator instana/cass-operator -n instana-cassandra --version=0.63.1 --set securityContext.runAsGroup=999 --set securityContext.runAsUser=999 --set image.registry=artifact-public.instana.io --set image.repository=self-hosted-images/3rd-party/operator/cass-operator --set image.tag=1.29.0_v0.39.0 --set imagePullSecrets[0].name=instana-registry --set appVersion=1.29.0 --set imageConfig.systemLogger=artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.26.0_v0.22.0 --set imageConfig.k8ssandraClient=artifact-public.instana.io/self-hosted-images/3rd-party/datastore/k8ssandra-client:0.8.12_v0.33.0 -f cass_values.yaml通过运行以下命令升级 Cassandra ,以修补 Cassandra 配置:
kubectl patch cassandradatacenter cassandra -n instana-cassandra --type=merge --patch ' spec: serverImage: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cassandra:4.1.10_v0.41.0 systemLoggerImage: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.26.0_v0.22.0 0.8.12_v0.33.0 serverVersion: "4.1.10" '完成验证 Cassandra 的步骤(在线和离线)。
离线升级 Cassandra
如果您尚未从外部注册表中拉取 Cassandra 的镜像,现在可以进行拉取。 在您的堡垒主机上运行以下命令。 然后,将图像复制到您处于物理隔离环境中的 Instana 主机上。
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator:1.29.0_v0.39.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.26.0_v0.22.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/k8ssandra-client:0.8.12_v0.33.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cassandra:4.1.10_v0.41.0
在您的 Instana 主机上完成以下步骤。
将图像重新标记到您内部的图像注册表中。
docker tag artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator:1.29.0_v0.39.0 <internal-image-registry>/operator/cass-operator:1.29.0_v0.39.0 docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.26.0_v0.22.0 <internal-image-registry>/datastore/system-logger:1.26.0_v0.22.0 docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/k8ssandra-client:0.8.12_v0.33.0 <internal-image-registry>/datastore/k8ssandra-client:0.8.12_v0.33.0 docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/cassandra:4.1.10_v0.41.0 <internal-image-registry>/datastore/cassandra:4.1.10_v0.41.0将图像推送到堡垒主机上的内部图像注册表。
docker push <internal-image-registry>/operator/cass-operator:0.63.1 docker push <internal-image-registry>/datastore/system-logger:1.26.0_v0.22.0 docker push <internal-image-registry>/datastore/k8ssandra-client:0.8.12_v0.33.0 docker push <internal-image-registry>/datastore/cassandra:4.1.10_v0.41.0创建一个文件
cass_values.yaml来配置污点和容忍度。nodeSelector: node-role.kubernetes.io/monitor: "true" tolerations: - key: node.instana.io/monitor operator: Equal effect: NoSchedule value: "true"升级 Cassandra 操作员。
helm upgrade --install cass-operator cass-operator-0.63.1.tgz -n instana-cassandra --version=0.63.1 --set securityContext.runAsGroup=999 --set securityContext.runAsUser=999 --set image.registry=<internal-image-registry> --set image.repository=operator/cass-operator --set image.tag=1.29.0_v0.39.0 --set imagePullSecrets[0].name=instana-registry --set appVersion=1.29.0 --set imageConfig.systemLogger=<internal-image-registry>/datastore/system-logger:1.26.0_v0.22.0 --set imageConfig.k8ssandraClient=<internal-image-registry>/datastore/k8ssandra-client:0.8.12_v0.33.0 -f cass_values.yaml通过运行以下命令升级 Cassandra ,以修补 Cassandra 配置:
kubectl patch cassandradatacenter cassandra -n instana-cassandra --type=merge --patch ' spec: serverImage: <internal-image-registry>/self-hosted-images/3rd-party/datastore/cassandra:4.1.10_v0.41.0 systemLoggerImage: <internal-image-registry>/self-hosted-images/3rd-party/datastore/system-logger:1.26.0_v0.22.0 serverVersion: "4.1.10" '完成验证 Cassandra 的步骤(在线和离线)。
验证 Cassandra (在线和离线)
验证 Cassandra 数据存储的部署情况。
kubectl get all -n instana-cassandra如果成功升级了 Cassandra 数据存储,则该命令的执行结果可能如下所示:
NAME READY STATUS RESTARTS AGE pod/cass-operator-57dcc8884f-92knc 1/1 Running 0 36m pod/instana-cassandra-default-sts-0 2/2 Running 0 26m pod/instana-cassandra-default-sts-1 2/2 Running 0 26m pod/instana-cassandra-default-sts-2 2/2 Running 0 26m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/cass-operator-webhook-service ClusterIP 192.168.1.55 <none> 443/TCP 36m service/instana-cassandra-additional-seed-service ClusterIP None <none> <none> 26m service/instana-cassandra-all-pods-service ClusterIP None <none> 9042/TCP,8080/TCP,9103/TCP,9000/TCP 26m service/instana-cassandra-service ClusterIP None <none> 9042/TCP,9142/TCP,8080/TCP,9103/TCP,9000/TCP 26m service/instana-seed-service ClusterIP None <none> <none> 26m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/cass-operator 1/1 1 1 36m NAME DESIRED CURRENT READY AGE replicaset.apps/cass-operator-57dcc8884f 1 1 1 36m NAME READY AGE statefulset.apps/instana-cassandra-default-sts 3/3 26m请确保 Pod 已安排在目标节点上。
kubectl get pods -n instana-cassandra -o wide以下示例展示了输出结果。
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cass-operator-778bf546b6-gmdt6 1/1 Running 0 5d1h 10.254.20.182 worker0.instana-odf5.cp.fyre.ibm.com <none> <none> instana-cassandra-default-sts-0 2/2 Running 0 33h 10.254.20.187 worker1.instana-odf5.cp.fyre.ibm.com <none> <none> instana-cassandra-default-sts-1 2/2 Running 0 33h 10.254.24.102 worker2.instana-odf5.cp.fyre.ibm.com <none> <none> instana-cassandra-default-sts-2 2/2 Running 0 33h 10.254.16.138 worker3.instana-odf5.cp.fyre.ibm.com <none> <none>