4.4. OpenShift Data Foundation のクラスターロギング
クラスターロギングをデプロイして、各種の OpenShift Container Platform サービスについてのログを集計できます。クラスターロギングのデプロイ方法は、クラスターロギングのデプロイ を参照してください。
OpenShift Container Platform の初回のデプロイメントでは、OpenShift Data Foundation はデフォルトで設定されず、OpenShift Container Platform クラスターはノードから利用可能なデフォルトストレージのみに依存します。OpenShift ロギング (ElasticSearch) のデフォルト設定を OpenShift Data Foundation で対応されるように編集し、OpenShift Data Foundation でサポートされるロギング (Elasticsearch) を設定できます。
これらのサービスに十分なストレージ容量があることを常に確認してください。これらの重要なサービスのストレージ領域が不足すると、ロギングアプリケーションは動作しなくなり、復元が非常に困難になります。
Red Hat は、これらのサービスのキュレーションおよび保持期間を短く設定することを推奨します。詳細は、OpenShift Container Platform ドキュメントで クラスターロギング Curator について参照してください。
これらのサービスのストレージ領域が不足している場合は、Red Hat カスタマーポータルにお問い合わせください。
4.4.1. 永続ストレージの設定
ストレージクラス名およびサイズパラメーターを使用して、 Elasticsearch クラスターの永続ストレージクラスおよびサイズを設定できます。Cluster Logging Operator は、これらのパラメーターに基づいて、Elasticsearch クラスターの各データノードについて Persistent Volume Claim (永続ボリューム要求、PVC) を作成します。以下に例を示します。
spec: logStore: type: "elasticsearch" elasticsearch: nodeCount: 3 storage: storageClassName: "ocs-storagecluster-ceph-rbd” size: "200G"
この例では、クラスター内の各データノードが 200GiB
の ocs-storagecluster-ceph-rbd
ストレージを要求する Persistent Volume Claim(永続ボリューム要求、PVC) にバインドされるように指定します。それぞれのプライマリーシャードは単一のレプリカによってサポートされます。シャードのコピーはすべてのノードにレプリケートされ、常に利用可能となり、冗長性ポリシーにより 2 つ以上のノードが存在する場合にコピーを復元できます。Elasticsearch レプリケーションポリシーの詳細は、About deploying and configuring cluster logging の Elasticsearch replication policy を参照してください。
ストレージブロックを省略すると、デプロイメントはデフォルトのストレージでサポートされます。以下に例を示します。
spec: logStore: type: "elasticsearch" elasticsearch: nodeCount: 3 storage: {}
詳細は、Configuring cluster logging を参照してください。
4.4.2. OpenShift Data Foundation を使用するためのクラスターロギングの設定
このセクションの手順に従って、OpenShift Data Foundation を OpenShift クラスターロギングのストレージとして設定します。
OpenShift Data Foundation では、ロギングを初めて設定する際に、すべてのログを取得できます。ただし、ロギングをアンインストールして再インストールすると、古いログが削除され、新しいログのみが処理されます。
前提条件
- OpenShift Web コンソールへの管理者アクセスがある。
-
OpenShift Data Foundation Operator が
openshift-storage
namespace にインストールされ、実行されている。 -
Cluster Logging Operator が
openshift-logging
namespace にインストールされ、実行されている。
手順
-
OpenShift Web コンソールの左側のペインから Administration
Custom Resource Definitions をクリックします。 - Custom Resource Definitions ページで、ClusterLogging をクリックします。
- Custom Resource Definition Overview ページで、Actions メニューから View Instances を選択するか、Instances タブをクリックします。
Cluster Logging ページで、Create Cluster Logging をクリックします。
データを読み込むためにページの更新が必要になる場合があります。
YAML において、storageClassName、をプロビジョナー
openshift-storage.rbd.csi.ceph.com
を使用するstorageclass
に置き換えます。以下の例では、storageclass の名前はocs-storagecluster-ceph-rbd
です。apiVersion: "logging.openshift.io/v1" kind: "ClusterLogging" metadata: name: "instance" namespace: "openshift-logging" spec: managementState: "Managed" logStore: type: "elasticsearch" elasticsearch: nodeCount: 3 storage: storageClassName: ocs-storagecluster-ceph-rbd size: 200G # Change as per your requirement redundancyPolicy: "SingleRedundancy" visualization: type: "kibana" kibana: replicas: 1 curation: type: "curator" curator: schedule: "30 3 * * *" collection: logs: type: "fluentd" fluentd: {}
OpenShift Data Foundation ノードにテイントのマークが付けられている場合、ロギング用に daemonset Pod のスケジューリングを有効にするために容認を追加する必要があります。
spec: [...] collection: logs: fluentd: tolerations: - effect: NoSchedule key: node.ocs.openshift.io/storage value: 'true' type: fluentd
- Save をクリックします。
検証手順
Persistent Volume Claim(永続ボリューム要求、PVC) が
elasticsearch
Pod にバインドされていることを確認します。-
Storage
Persistent Volume Claims に移動します。 -
Project ドロップダウンを
openshift-logging
に設定します。 Persistent Volume Claim(永続ボリューム要求、PVC) が
elasticsearch-
* Pod に割り当てられ、Bound
(バインド) の状態で表示されることを確認します。図4.4 作成済みのバインドされたクラスターロギング
-
Storage
新規クラスターロギングが使用されていることを確認します。
-
Workload
Pods をクリックします。 -
プロジェクトを
openshift-logging
に設定します。 -
新規の
elasticsearch-
* Pod がRunning
状態で表示されることを確認します。 -
新規の
elasticsearch-
* Pod をクリックし、Pod の詳細を表示します。 -
Volumes までスクロールダウンし、elasticsearch ボリュームに新規 Persistent Volume Claim (永続ボリューム要求、PVC) に一致する Type があることを確認します (例:
elasticsearch-elasticsearch-cdm-9r624biv-3
)。 - Persistent Volume Claim(永続ボリューム要求、PVC) の名前をクリックし、PersistentVolumeClaim Overview ページでストレージクラス名を確認します。
-
Workload
Elasticsearch Pod に割り当てられる PV の詳細シナリオを回避するために、キュレーターの時間を短く設定して使用するようにしてください。
Curator を、保持設定に基づいて Elasticsearch データを削除するように設定できます。以下の 5 日間のインデックスデータの保持期間をデフォルトとして設定することが推奨されます。
config.yaml: | openshift-storage: delete: days: 5
詳細は、Curation of Elasticsearch Data を参照してください。
Persistent Volume Claim(永続ボリューム要求、PVC) がサポートするクラスターロギングをアンインストールするには、それぞれのデプロイメントガイドのアンインストールについての章に記載されている、クラスターロギング Operator の OpenShift Data Foundation からの削除についての手順を使用します。