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

Elasticsearch オペレータをアップグレードし、データストアを更新します。

準備

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

Elasticsearch オペレータのバージョンと画像タグ

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

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

artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch: 3.4.1_v0.34.0

artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch: 8.18.6_v0.25.0

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

Elasticsearch データストアをアップグレードするには、以下の手順を完了してください。

  1. Elasticsearch オペレータをアップグレードする。

    helm upgrade --install elastic-operator instana/eck-operator -n instana-elastic --version=3.4.1 --set image.repository=artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch --set image.tag=3.4.1_v0.34.0 --set imagePullSecrets[0].name="instana-registry"
     
  2. Elasticsearchの設定を更新する。

    kubectl patch elasticsearch instana -n instana-elastic --type=merge --patch '
    spec:
      version: "3.4.1"
      image: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.18.6_v0.25.0
      '
     
  3. Elasticsearch の検証(オンラインおよびオフライン) の手順を完了してください。

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

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

docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch:3.4.1_v0.34.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.18.6_v0.25.0
         

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

  1. 画像を内部画像レジストリに再タグ付けしてください。
    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch:3.4.1_v0.34.0 <internal-image-registry>/operator/elasticsearch:3.4.1_v0.34.0
    docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.18.6_v0.25.0 <internal-image-registry>/datastore/elasticsearch:8.18.6_v0.25.0
                   
  2. 画像を内部画像レジストリにプッシュしてください。
    docker push <internal-image-registry>/operator/elasticsearch:3.4.1_v0.34.0
    docker push <internal-image-registry>/datastore/elasticsearch:8.18.6_v0.25.0
                   
  3. Elasticsearch オペレータをアップグレードする。
    helm upgrade --install elastic-operator eck-operator-3.4.1.tgz -n instana-elastic --version=3.4.1 --set image.repository=<internal-image-registry>/operator/elasticsearch --set image.tag=3.4.1_v0.34.0 --set imagePullSecrets[0].name="<internal-image-registry-pull-secret>
     
  4. Elasticsearch の設定を更新します。例えば elasticsearch.yaml、 Elasticsearch の設定で更新します。
    kubectl patch elasticsearch instana -n instana-elastic --type=merge --patch '
    spec:
      version: "8.18.6_v0.25.0"
      image: <internal-image-registry>/self-hosted-images/3rd-party/datastore/elasticsearch:8.18.6_v0.25.0
      '
     
  5. Elasticsearch の検証(オンラインおよびオフライン) の手順を完了してください。

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

Elasticsearch のアップグレードを確認するには、次の手順を完了してください:

  1. Elasticsearch を待ちます。

    kubectl wait elasticsearch/instana --for=condition=ReconciliationComplete --timeout=300s -n instana-elastic
     
  2. Elasticsearch 演算子を検証する。

     kubectl get all -n instana-elastic
     

    Elasticsearch オペレーターのアップグレードが正常に完了した場合、コマンド出力にはオペレーターステータスが以下の Running 例のように表示されます:

     NAME                       READY   STATUS    RESTARTS      AGE
     pod/elastic-operator-0     1/1     Running   1 (10m ago)   10m
     pod/instana-es-default-0   1/1     Running   0             6m44s
     pod/instana-es-default-1   1/1     Running   0             6m44s
     pod/instana-es-default-2   1/1     Running   0             6m44s
    
     NAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
     service/elastic-operator-webhook   ClusterIP   192.168.1.41    <none>        443/TCP    10m
     service/instana-es-default         ClusterIP   None            <none>        9200/TCP   6m46s
     service/instana-es-http            ClusterIP   192.168.1.111   <none>        9200/TCP   6m48s
     service/instana-es-internal-http   ClusterIP   192.168.1.196   <none>        9200/TCP   6m48s
     service/instana-es-transport       ClusterIP   None            <none>        9300/TCP   6m48s
    
     NAME                                  READY   AGE
     statefulset.apps/elastic-operator     1/1     10m
     statefulset.apps/instana-es-default   3/3     6m48s
     
  3. ポッドが目的のノードにスケジュールされていることを確認してください。

    kubectl get pods -n instana-elastic -o wide
     

    以下の例にサンプル出力を示します。

    NAME                   READY   STATUS    RESTARTS   AGE   IP              NODE                                  NOMINATED NODE   READINESS GATES
    elastic-operator-0     1/1     Running   1          22d   10.254.12.202   worker0.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-es-default-0   1/1     Running   0          34h   10.254.16.137   worker1.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-es-default-1   1/1     Running   0          34h   10.254.24.101   worker2.instana-odf5.cp.fyre.ibm.com   <none>           <none>
    instana-es-default-2   1/1     Running   0          34h   10.254.20.186   worker3.instana-odf5.cp.fyre.ibm.com   <none>           <none>