第4章 クラスターロギングのアップグレード

OpenShift Container Platform クラスターを 4.1 から 4.2 にアップグレードしたら、クラスターロギングを 4.1 から 4.2 にアップグレードする必要があります。

注記

デフォルトのグローバルカタログ namespace およびカタログソースの変更により、Elasticsearch インストールで説明されているように CatalogSourceConfig および Subscription オブジェクトを YAML ファイルから手動で作成している場合、以下に示すようにアップグレード前に新規のカタログ namespace およびソースを参照するようにするにこれらのオブジェクトを更新する必要があります。

4.1. クラスターロギングの更新

OpenShift Container Platform クラスターのアップグレード後に、Elasticsearch Operator および Cluster Logging Operator を更新して、クラスターロギングを 4.1 から 4.2 にアップグレードできます。

前提条件

  • クラスターを 4.1 から 4.2 にアップグレードします。
  • ClusterLogging のステータスが正常であることを確認します。

    • すべての Pod が Ready 状態にある。
    • Elasticsearch クラスターが正常である。

手順

  1. CatalogSourceConfig (CSC) および Subscription オブジェクトを、新規カタログ namespace および Cource を参照するように編集します。

    1. CLI から、Elasticsearch CSC の名前を取得します。

      $ oc get csc --all-namespaces
      NAMESPACE               NAME                                 STATUS      MESSAGE                                       AGE
      openshift-marketplace   certified-operators                  Succeeded   The object has been successfully reconciled   42m
      openshift-marketplace   community-operators                  Succeeded   The object has been successfully reconciled   42m
      openshift-marketplace   elasticsearch                        Succeeded   The object has been successfully reconciled   27m
      openshift-marketplace   installed-redhat-default             Succeeded   The object has been successfully reconciled   26m
      openshift-marketplace   installed-redhat-openshift-logging   Succeeded   The object has been successfully reconciled   18m
      openshift-marketplace   redhat-operators                     Succeeded   The object has been successfully reconciled   42m
    2. 以下のようにファイルを編集します。

      $ oc edit csc elasticsearch -n openshift-marketplace
      
      apiVersion: operators.coreos.com/v1
      kind: CatalogSourceConfig
      metadata:
        creationTimestamp: "2020-02-18T15:09:00Z"
        finalizers:
        - finalizer.catalogsourceconfigs.operators.coreos.com
        generation: 3
        name: elasticsearch
        namespace: openshift-marketplace
        resourceVersion: "17694"
        selfLink: /apis/operators.coreos.com/v1/namespaces/openshift-marketplace/catalogsourceconfigs/elasticsearch
        uid: 97c0cd55-5260-11ea-873c-02939b2f528f
      spec:
        csDisplayName: Custom
        csPublisher: Custom
        packages: elasticsearch-operator
        targetNamespace: openshift-operators-redhat
        source: redhat-operators 1
      1
      現在の値を redhat-operators に変更します。
    3. Elasticsearch Subscription オブジェクトの名前を取得します。

      $ oc get sub
      
      NAME                  PACKAGE                  SOURCE          CHANNEL
      elasticsearch-pj7pf   elasticsearch-operator   elasticsearch   preview
    4. 以下のようにファイルを編集します。

      $ oc edit sub elasticsearch-pj7pf
      
      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        creationTimestamp: "2020-02-17T17:51:18Z"
        generateName: elasticsearch-
        generation: 2
        name: elasticsearch-p5k7n
        namespace: openshift-operators-redhat
        resourceVersion: "38098"
        selfLink: /apis/operators.coreos.com/v1alpha1/namespaces/openshift-operators-redhat/subscriptions/elasticsearch-p5k7n
        uid: 19f6df33-51ae-11ea-82b9-027dfdb65ec2
      spec:
        channel: "4.2"
        installPlanApproval: Automatic
        name: elasticsearch-operator
        source: redhat-operators 1
        sourceNamespace: openshift-marketplace 2
      ....
      1
      現在の値を redhat-operators に変更します。
      2
      現在の値を openshift-marketplace に変更します。
  2. Elasticsearch Operator をアップグレードします。

    1. Web コンソールから、Operator Management をクリックします。
    2. プロジェクトを all projects に変更します。
    3. Elasticsearch サブスクリプションと同じ名前を持つ Elasticsearch Operator をクリックします。
    4. SubscriptionChannel をクリックします。
    5. Change Subscription Update Channel ウィンドウで 4.2 を選択し、Save をクリックします。
    6. 数秒待ってから OperatorsInstalled Operators をクリックします。

      Elasticsearch Operator が 4.2 と表示されます。例:

      Elasticsearch Operator
      4.2.0-201909201915 provided
      by Red Hat, Inc
  3. Cluster Logging Operator をアップグレードします。

    1. Web コンソールから、Operator Management をクリックします。
    2. プロジェクトを all projects に変更します。
    3. Cluster Logging Operatorをクリックします。
    4. SubscriptionChannel をクリックします。
    5. Change Subscription Update Channel ウィンドウで 4.2 を選択し、Save をクリックします。
    6. 数秒待ってから OperatorsInstalled Operators をクリックします。

      Cluster Logging Operator は 4.2 として表示されます。例:

      Cluster Logging
      4.2.0-201909201915 provided
      by Red Hat, Inc
  4. ロギングコンポーネントを確認します。

    1. Elasticsearch Pod が 4.2 イメージを使用していることを確認します。

      $ oc get pod -o yaml -n openshift-logging --selector component=elasticsearch |grep 'image:'
      
      image: registry.redhat.io/openshift4/ose-logging-elasticsearch5:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-elasticsearch5:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-elasticsearch5:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-elasticsearch5:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-elasticsearch5:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-elasticsearch5:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
    2. すべての Elasticsearch Pod が Ready ステータスであることを確認します。

      $ oc get pod -n openshift-logging --selector component=elasticsearch
      
      NAME                                            READY   STATUS    RESTARTS   AGE
      elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk   2/2     Running   0          31m
      elasticsearch-cdm-1pbrl44l-2-5c6d87589f-gx5hk   2/2     Running   0          30m
      elasticsearch-cdm-1pbrl44l-3-88df5d47-m45jc     2/2     Running   0          29m
    3. Elasticsearch クラスターが正常であることを確認します。

      oc exec -n openshift-logging -c elasticsearch elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk -- es_cluster_health
      
      {
        "cluster_name" : "elasticsearch",
        "status" : "green",
      
      ....
    4. ロギングコレクター Pod が 4.2 イメージを使用していることを確認します。

      $ oc get pod -n openshift-logging --selector logging-infra=fluentd -o yaml |grep 'image:'
      
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-fluentd:v4.2.0-201909201915
    5. Kibana Pod が 4.2 イメージを使用していることを確認します。

      $ oc get pod -n openshift-logging --selector logging-infra=kibana -o yaml |grep 'image:'
      
      image: registry.redhat.io/openshift4/ose-logging-kibana5:v4.2.0-201909210748
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
      image: registry.redhat.io/openshift4/ose-logging-kibana5:v4.2.0-201909210748
      image: registry.redhat.io/openshift4/ose-oauth-proxy:v4.2.0-201909201915
    6. Curator CronJob が 4.2 イメージを使用していることを確認します。

      $ $ oc get CronJob curator -n openshift-logging -o yaml |grep 'image:'
      
      image: registry.redhat.io/openshift4/ose-logging-curator5:v4.2.0-201909201915