第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 クラスターが正常である。
-
すべての Pod が
手順
CatalogSourceConfig (CSC) および Subscription オブジェクトを、新規カタログ namespace および Cource を参照するように編集します。
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
以下のようにファイルを編集します。
$ 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
に変更します。
Elasticsearch Subscription オブジェクトの名前を取得します。
$ oc get sub NAME PACKAGE SOURCE CHANNEL elasticsearch-pj7pf elasticsearch-operator elasticsearch preview
以下のようにファイルを編集します。
$ 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 ....
Elasticsearch Operator をアップグレードします。
- Web コンソールから、Operator Management をクリックします。
- プロジェクトを all projects に変更します。
- Elasticsearch サブスクリプションと同じ名前を持つ Elasticsearch Operator をクリックします。
-
Subscription
Channel をクリックします。 - Change Subscription Update Channel ウィンドウで 4.2 を選択し、Save をクリックします。
数秒待ってから Operators
Installed Operators をクリックします。 Elasticsearch Operator が 4.2 と表示されます。例:
Elasticsearch Operator 4.2.0-201909201915 provided by Red Hat, Inc
Cluster Logging Operator をアップグレードします。
- Web コンソールから、Operator Management をクリックします。
- プロジェクトを all projects に変更します。
- Cluster Logging Operatorをクリックします。
-
Subscription
Channel をクリックします。 - Change Subscription Update Channel ウィンドウで 4.2 を選択し、Save をクリックします。
数秒待ってから Operators
Installed Operators をクリックします。 Cluster Logging Operator は 4.2 として表示されます。例:
Cluster Logging 4.2.0-201909201915 provided by Red Hat, Inc
ロギングコンポーネントを確認します。
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
すべての 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
Elasticsearch クラスターが正常であることを確認します。
oc exec -n openshift-logging -c elasticsearch elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk -- es_cluster_health { "cluster_name" : "elasticsearch", "status" : "green", ....
ロギングコレクター 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
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
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