Linux x86_64 上の Cassandra データストアのアップグレード

Cassandra オペレーターとデータストアをアップグレードできます。

準備

オンラインおよびオフラインのホストが外部リポジトリから画像を取得できるように準備してください。 また、正しい Helm リポジトリが追加されていることを確認してください。

Cassandra オペレータのバージョンとデプロイ用のイメージタグ

以下の画像は、固定された Helm チャートまたはオペレータバージョンに必要なものです。

プラットフォーム オペレーターのバージョン Helm チャートのバージョン タグ付きの画像
Linux® x86_64 1.30.0 0.64.3

artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator: 1.30.0_v0.40.0

artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger: 1.29.0_v0.23.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.11_v0.43.0

Cassandra のオンラインアップグレード

Cassandra のデータストアをオンラインでアップグレードするには、以下の手順を実行してください:

  1. Cassandra オペレーターをアップグレードします。

    helm upgrade --install cass-operator instana/cass-operator -n instana-cassandra --version=0.64.3 --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.30.0_v0.40.0 --set imagePullSecrets[0].name=instana-registry --set appVersion=1.30.0 --set imageConfig.systemLogger=artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.29.0_v0.23.0 --set imageConfig.k8ssandraClient=artifact-public.instana.io/self-hosted-images/3rd-party/datastore/k8ssandra-client:0.8.12_v0.33.0
                   
  2. 以下のコマンドを実行して、 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.11_v0.43.0
      systemLoggerImage: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.29.0_v0.23.0
      serverVersion: "4.1.11"
    '
     
  3. Cassandra の検証(オンラインおよびオフライン) の手順を完了してください。

Cassandra のオフラインでのアップグレード

エアギャップ環境において Cassandra オペレーターをアップグレードするには、以下の手順を実行してください:

外部レジストリから Cassandra のイメージをまだ取得していない場合は、今すぐ取得できます。 以下のコマンドをバスタウンホストで実行してください。 次に、それらの画像をエアギャップ環境にある Instana ホストにコピーします。

docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator:1.30.0_v0.40.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.29.0_v0.23.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.11_v0.43.0
         

Instana ホストで以下の手順を完了してください。

  1. 画像を内部画像レジストリに再タグ付けしてください。

    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/operator/cass-operator:1.30.0_v0.40.0 <internal-image-registry>/operator/cass-operator:1.30.0_v0.40.0
    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/system-logger:1.29.0_v0.23.0 <internal-image-registry>/datastore/system-logger:1.29.0_v0.23.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.11_v0.43.0 <internal-image-registry>/datastore/cassandra:4.1.11_v0.43.0
                   
  2. 画像をバスタインホスト上の内部画像レジストリにプッシュする。

    docker push <internal-image-registry>/operator/cass-operator:1.30.0_v0.40.0
    docker push <internal-image-registry>/datastore/system-logger:1.29.0_v0.23.0
    docker push <internal-image-registry>/datastore/k8ssandra-client:0.8.12_v0.33.0
    docker push <internal-image-registry>/datastore/cassandra:4.1.11_v0.43.0
                   
  3. Cassandra オペレーターをアップグレードします。

    helm upgrade --install cass-operator cass-operator-0.64.3.tgz -n instana-cassandra --version=0.64.3 --set securityContext.runAsGroup=999 --set securityContext.runAsUser=999 --set image.registry=<internal-image-registry> --set image.repository=operator/cass-operator --set image.tag=1.30.0_v0.40.0 --set appVersion=1.30.0 --set imageConfig.systemLogger=<internal-image-registry>/datastore/system-logger:1.29.0_v0.23.0 --set imageConfig.k8ssandraClient=<internal-image-registry>/datastore/k8ssandra-client:0.8.12_v0.33.0 --set imagePullSecrets[0].name="<internal-image-registry-pull-secret>
     
  4. 以下のコマンドを実行して、 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.11_v0.43.0
      systemLoggerImage: <internal-image-registry>/self-hosted-images/3rd-party/datastore/system-logger:1.29.0_v0.23.0
      serverVersion: "4.1.11"
      '
     
  5. Cassandra の検証(オンラインおよびオフライン) の手順を完了してください。

Cassandra の検証(オンラインおよびオフライン)

Cassandra のインスタンスおよびデータストアのアップグレードを行うには、以下の手順を実行してください:

  1. ClickHouse のアップグレードが完了するまでお待ちください。

    kubectl wait cassandra/instana --for=condition=Ready --timeout=300s -n instana-cassandra
     
  2. Cassandra のデータストアのアップグレードを確認してください。

    kubectl get all -n instana-cassandra
     
  3. 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