This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第11章 Elasticsearch の手動によるロールアウト
OpenShift Container Platform は、Elasticsearch クラスターのローリング再起動をサポートします。ローリング再起動は、ダウンタイムなしに適切な変更を Elasticsearch クラスターに適用します (3 つのマスターが設定される場合)。Elasticsearch クラスターは、ノードが 1 回に 1 度ずつオフラインにされる間オンラインのままとなり、運用可能な状態になります。
11.1. Elasticsearch クラスターのローリング再起動の実行
				elasticsearch configmap または elasticsearch-* デプロイメント設定のいずれかを変更する際にローリング再起動を実行します。
			
さらにローリング再起動は、Elasticsearch Pod が実行されるノードで再起動が必要な場合に推奨されます。
前提条件
- クラスターロギングおよび Elasticsearch がインストールされている必要があります。
手順
クラスターのローリング再起動を実行するには、以下を実行します。
- openshift-loggingプロジェクトに切り替えます。- oc project openshift-logging - $ oc project openshift-logging- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを使用して Elasticsearch から CA 証明書を抽出し、admin-ca ファイルに書き込みます。 - oc extract secret/elasticsearch --to=. --keys=admin-ca - $ oc extract secret/elasticsearch --to=. --keys=admin-ca admin-ca- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- シャードの同期フラッシュを実行して、シャットダウン前にディスクへの書き込みを待機している保留中の操作がないようにします。 - oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- curl -s --cacert /etc/elasticsearch/secret/admin-ca --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/secret/admin-key -XPOST 'https://localhost:9200/_flush/synced' - $ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- curl -s --cacert /etc/elasticsearch/secret/admin-ca --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/secret/admin-key -XPOST 'https://localhost:9200/_flush/synced'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下は例になります。 - oc exec -c elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -- curl -s --cacert /etc/elasticsearch/secret/admin-ca --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/secret/admin-key -XPOST 'https://localhost:9200/_flush/synced' - oc exec -c elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -- curl -s --cacert /etc/elasticsearch/secret/admin-ca --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/secret/admin-key -XPOST 'https://localhost:9200/_flush/synced'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- OpenShift Container Platform es_util ツールを使用して、ノードを意図的に停止する際のシャードのバランシングを防ぎます。 - oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/settings -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }'- $ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/settings -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下は例になります。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 完了したら、ES クラスターのそれぞれのデプロイメントについて、以下を実行します。 - デフォルトで、OpenShift Container Platform Elasticsearch クラスターはノードのロールアウトをブロックします。以下のコマンドを使用してロールアウトを許可し、Pod が変更を取得できるようにします。 - oc rollout resume deployment/<deployment-name> - $ oc rollout resume deployment/<deployment-name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下は例になります。 - oc rollout resume deployment/elasticsearch-cdm-0-1 - $ oc rollout resume deployment/elasticsearch-cdm-0-1 deployment.extensions/elasticsearch-cdm-0-1 resumed- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 新規 Pod がデプロイされます。Pod が準備状態のコンテナーを持つと、次のデプロイメントに進むことができます。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 完了したら、ロールアウトを許可しないように Pod をリセットします。 - oc rollout pause deployment/<deployment-name> - $ oc rollout pause deployment/<deployment-name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下は例になります。 - oc rollout pause deployment/elasticsearch-cdm-0-1 - $ oc rollout pause deployment/elasticsearch-cdm-0-1 deployment.extensions/elasticsearch-cdm-0-1 paused- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Elasticsearch クラスターが - green状態にあることを確認します。- oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/health?pretty=true - $ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/health?pretty=true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- 直前のコマンドで使用した Elasticsearch Pod でロールアウトを実行した場合、Pod は存在しなくなっているため、ここで新規 Pod 名が必要になります。 - 以下は例になります。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 次に進む前に、このパラメーターがgreenであることを確認します。
 
 
- Elasticsearch 設定マップを変更した場合、それぞれの Elasticsearch Pod についてこれらの手順を繰り返します。
- クラスターのすべてのデプロイメントがロールアウトされたら、シャードのバランシングを再度有効にします。 - oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/settings -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }'- $ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/settings -XPUT 'https://localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下は例になります。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow