10.6. Kubernetes イベントの収集および保存
OpenShift Container Platform イベントルーターは、Kubernetes イベントを監視し、それらをロギングによって収集できるようにログに記録する Pod です。イベントルーターは手動でデプロイする必要があります。
イベントルーターはすべてのプロジェクトからイベントを収集し、それらを STDOUT
に書き込みます。次に、コレクターはそれらのイベントを ClusterLogForwarder
カスタムリソース (CR) で定義されたストアに転送します。
イベントルーターは追加の負荷を Fluentd に追加し、処理できる他のログメッセージの数に影響を与える可能性があります。
10.6.1. イベントルーターのデプロイおよび設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用してイベントルーターをクラスターにデプロイします。イベントルーターを openshift-logging
プロジェクトに常にデプロイし、クラスター全体でイベントが収集されるようにする必要があります。
Event Router イメージは Red Hat OpenShift Logging Operator の一部ではないため、個別にダウンロードする必要があります。
次の Template
オブジェクトは、イベントルーターに必要なサービスアカウント、クラスターロール、およびクラスターロールバインディングを作成します。テンプレートはイベントルーター Pod も設定し、デプロイします。このテンプレートを変更せずに使用することも、テンプレートを編集してデプロイメントオブジェクトの CPU およびメモリー要求を変更することもできます。
前提条件
- サービスアカウントを作成し、クラスターロールバインディングを更新するには、適切なパーミッションが必要です。たとえば、以下のテンプレートを、cluster-admin ロールを持つユーザーで実行できます。
- Red Hat OpenShift Logging Operator がインストールされている必要があります。
手順
イベントルーターのテンプレートを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- イベントルーターの
openshift-logging
プロジェクトでサービスアカウントを作成します。 - 2
- ClusterRole を作成し、クラスター内のイベントを監視します。
- 3
- ClusterRoleBinding を作成し、ClusterRole をサービスアカウントにバインドします。
- 4
openshift-logging
プロジェクトで config map を作成し、必要なconfig.json
ファイルを生成します。- 5
openshift-logging
プロジェクトでデプロイメントを作成し、イベントルーター Pod を生成し、設定します。- 6
v0.4
などのタグで識別されるイメージを指定します。- 7
- イベントルーター Pod に割り当てる CPU の最小量を指定します。デフォルトは
100m
に設定されます。 - 8
- イベントルーター Pod に割り当てるメモリーの最小量を指定します。デフォルトは
128Mi
に設定されます。 - 9
- オブジェクトをインストールする
openshift-logging
プロジェクトを指定します。
以下のコマンドを使用してテンプレートを処理し、これを適用します。
oc process -f <templatefile> | oc apply -n openshift-logging -f -
$ oc process -f <templatefile> | oc apply -n openshift-logging -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc process -f eventrouter.yaml | oc apply -n openshift-logging -f -
$ oc process -f eventrouter.yaml | oc apply -n openshift-logging -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
serviceaccount/eventrouter created clusterrole.rbac.authorization.k8s.io/event-reader created clusterrolebinding.rbac.authorization.k8s.io/event-reader-binding created configmap/eventrouter created deployment.apps/eventrouter created
serviceaccount/eventrouter created clusterrole.rbac.authorization.k8s.io/event-reader created clusterrolebinding.rbac.authorization.k8s.io/event-reader-binding created configmap/eventrouter created deployment.apps/eventrouter created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イベントルーターが
openshift-logging
プロジェクトにインストールされていることを確認します。新規イベントルーター Pod を表示します。
oc get pods --selector component=eventrouter -o name -n openshift-logging
$ oc get pods --selector component=eventrouter -o name -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
pod/cluster-logging-eventrouter-d649f97c8-qvv8r
pod/cluster-logging-eventrouter-d649f97c8-qvv8r
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イベントルーターによって収集されるイベントを表示します。
oc logs <cluster_logging_eventrouter_pod> -n openshift-logging
$ oc logs <cluster_logging_eventrouter_pod> -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc logs cluster-logging-eventrouter-d649f97c8-qvv8r -n openshift-logging
$ oc logs cluster-logging-eventrouter-d649f97c8-qvv8r -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"verb":"ADDED","event":{"metadata":{"name":"openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","namespace":"openshift-service-catalog-removed","selfLink":"/api/v1/namespaces/openshift-service-catalog-removed/events/openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","uid":"787d7b26-3d2f-4017-b0b0-420db4ae62c0","resourceVersion":"21399","creationTimestamp":"2020-09-08T15:40:26Z"},"involvedObject":{"kind":"Job","namespace":"openshift-service-catalog-removed","name":"openshift-service-catalog-controller-manager-remover","uid":"fac9f479-4ad5-4a57-8adc-cb25d3d9cf8f","apiVersion":"batch/v1","resourceVersion":"21280"},"reason":"Completed","message":"Job completed","source":{"component":"job-controller"},"firstTimestamp":"2020-09-08T15:40:26Z","lastTimestamp":"2020-09-08T15:40:26Z","count":1,"type":"Normal"}}
{"verb":"ADDED","event":{"metadata":{"name":"openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","namespace":"openshift-service-catalog-removed","selfLink":"/api/v1/namespaces/openshift-service-catalog-removed/events/openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","uid":"787d7b26-3d2f-4017-b0b0-420db4ae62c0","resourceVersion":"21399","creationTimestamp":"2020-09-08T15:40:26Z"},"involvedObject":{"kind":"Job","namespace":"openshift-service-catalog-removed","name":"openshift-service-catalog-controller-manager-remover","uid":"fac9f479-4ad5-4a57-8adc-cb25d3d9cf8f","apiVersion":"batch/v1","resourceVersion":"21280"},"reason":"Completed","message":"Job completed","source":{"component":"job-controller"},"firstTimestamp":"2020-09-08T15:40:26Z","lastTimestamp":"2020-09-08T15:40:26Z","count":1,"type":"Normal"}}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow また、Elasticsearch
infra
インデックスを使用してインデックスパターンを作成し、Kibana を使用してイベントを表示することもできます。