10.2. ログストレージのインストール
OpenShift CLI (oc) または OpenShift Container Platform Web コンソールを使用して、OpenShift Container Platform クラスターにログストアをデプロイできます。
Logging 5.9 リリースに、OpenShift Elasticsearch Operator の更新バージョンは含まれていません。ロギング 5.8 でリリースされた OpenShift Elasticsearch Operator を現在使用している場合、Logging 5.8 の EOL まで引き続き Logging で機能します。OpenShift Elasticsearch Operator を使用してデフォルトのログストレージを管理する代わりに、Loki Operator を使用できます。Logging のライフサイクルの日付の詳細は、Platform Agnostic Operator を参照してください。
10.2.1. Loki ログストアのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Loki Operator を使用して、OpenShift Container Platform クラスターに内部 Loki ログストアをデプロイできます。Loki Operator をインストールした後、シークレットを作成することで Loki オブジェクトストレージを設定し、LokiStack カスタムリソース (CR) を作成する必要があります。
10.2.1.1. Loki デプロイメントのサイズ リンクのコピーリンクがクリップボードにコピーされました!
Loki のサイズは 1x.<size> の形式に従います。この場合の 1x はインスタンスの数を、<size> は性能を指定します。
デプロイメントサイズの 1x の数は変更できません。
| 1x.demo | 1x.extra-small | 1x.small | 1x.medium | |
|---|---|---|---|---|
| Data transfer | デモ使用のみ | 100 GB/日 | 500 GB/日 | 2 TB/日 |
| 1 秒あたりのクエリー数 (QPS) | デモ使用のみ | 200 ミリ秒で 1 - 25 QPS | 200 ミリ秒で 25 - 50 QPS | 200 ミリ秒で 25 - 75 QPS |
| レプリケーション係数 | なし | 2 | 2 | 2 |
| 合計 CPU 要求 | なし | 仮想 CPU 14 個 | 仮想 CPU 34 個 | 仮想 CPU 54 個 |
| ルーラーを使用する場合の合計 CPU リクエスト | なし | 仮想 CPU 16 個 | 仮想 CPU 42 個 | 仮想 CPU 70 個 |
| 合計メモリー要求 | なし | 31 Gi | 67 Gi | 139 Gi |
| ルーラーを使用する場合の合計メモリーリクエスト | なし | 35Gi | 83 Gi | 171 Gi |
| 合計ディスク要求 | 40Gi | 430 Gi | 430 Gi | 590 Gi |
| ルーラーを使用する場合の合計ディスクリクエスト | 60 Gi | 750 Gi | 750 Gi | 910 Gi |
10.2.1.2. OpenShift Container Platform Web コンソールを使用して MTV Operator をインストールする リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターにロギングをインストールして設定するには、追加の Operator をインストールする必要があります。これは、Web コンソールの Operator Hub から実行できます。
OpenShift Container Platform Operator は、カスタムリソース (CR) を使用してアプリケーションとそのコンポーネントを管理します。高レベルの構成と設定は、CR 内でユーザーが指定します。Operator は、Operator のロジック内に組み込まれたベストプラクティスに基づいて、高レベルのディレクティブを低レベルのアクションに変換します。カスタムリソース定義 (CRD) は CR を定義し、Operator のユーザーが使用できるすべての設定をリストします。Operator をインストールすると CRD が作成され、CR の生成に使用されます。
前提条件
- サポートされているオブジェクトストア (AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation) にアクセスできる。
- 管理者権限がある。
- OpenShift Container Platform Web コンソールにアクセスできる。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators
OperatorHub に移動します。 Filter by keyword フィールドに Loki Operator と入力します。使用可能な Operator のリストで Loki Operator をクリックし、Install をクリックします。
重要Community Loki Operator は Red Hat ではサポートされていません。
Update channel として stable または stable-x.y を選択します。
注記stable チャネルは、Logging の最新リリースを対象とする更新のみを提供します。以前のリリースの更新を引き続き受信するには、サブスクリプションチャネルを stable-x.y に変更する必要があります。
x.yは、インストールしたログのメジャーバージョンとマイナーバージョンを表します。たとえば、stable-5.7 です。Loki Operator はグローバルオペレーターグループ namespace である
openshift-operators-redhatにデプロイする必要があるため、Installation mode と Installed Namespace がすでに選択されています。この namespace がない場合は、自動的に作成されます。Enable operator-recommended cluster monitoring on this namespace. を選択します。
このオプションは、
Namespaceオブジェクトにopenshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-operators-redhatnamespace を収集できるように、このオプションを選択する必要があります。Update approval で Automatic を選択し、Install をクリックします。
サブスクリプションの承認ストラテジーが Automatic に設定されている場合、アップグレードプロセスは、選択したチャネルで新規 Operator バージョンが利用可能になるとすぐに開始します。承認ストラテジーが Manual に設定されている場合は、保留中のアップグレードを手動で承認する必要があります。
検証
-
Operators
Installed Operators に移動します。 - openshift-logging プロジェクトが選択されていることを確認します。
- Status 列に、緑色のチェックマークおよび InstallSucceeded と、Up to date というテキストが表示されていることを確認します。
インストールが完了する前に、Operator に Failed ステータスが表示される場合があります。InstallSucceeded メッセージが表示されて Operator のインストールが完了した場合は、ページを更新します。
10.2.1.3. Web コンソールを使用して Loki オブジェクトストレージのシークレットを作成する リンクのコピーリンクがクリップボードにコピーされました!
Loki オブジェクトストレージを設定するには、シークレットを作成する必要があります。OpenShift Container Platform Web コンソールを使用してシークレットを作成できます。
前提条件
- 管理者権限がある。
- OpenShift Container Platform Web コンソールにアクセスできる。
- Loki Operator がインストールされている。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Workloads
Secrets に移動します。 - Create ドロップダウンリストから、From YAML を選択します。
access_key_idフィールドとaccess_key_secretフィールドを使用して認証情報を指定し、bucketnames、endpoint、およびregionフィールドを使用してオブジェクトの保存場所を定義するシークレットを作成します。次の例では、AWS が使用されています。Secretオブジェクトの例apiVersion: v1 kind: Secret metadata: name: logging-loki-s3 namespace: openshift-logging stringData: access_key_id: AKIAIOSFODNN7EXAMPLE access_key_secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY bucketnames: s3-bucket-name endpoint: https://s3.eu-central-1.amazonaws.com region: eu-central-1
10.2.1.4. Web コンソールを使用して LokiStack カスタムリソースを作成する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、LokiStack カスタムリソース (CR) を作成できます。
前提条件
- 管理者権限がある。
- OpenShift Container Platform Web コンソールにアクセスできる。
- Loki Operator がインストールされている。
手順
-
Operators
Installed Operators ページに移動します。All instances タブをクリックします。 - Create new ドロップダウンリストから、LokiStack を選択します。
YAML view を選択し、次のテンプレートを使用して
LokiStackCR を作成します。apiVersion: loki.grafana.com/v1 kind: LokiStack metadata: name: logging-loki1 namespace: openshift-logging spec: size: 1x.small2 storage: schemas: - version: v12 effectiveDate: '2022-06-01' secret: name: logging-loki-s33 type: s34 storageClassName: <storage_class_name>5 tenants: mode: openshift-logging6 - 1
logging-lokiという名前を使用します。- 2
- デプロイメントサイズを指定します。ロギング 5.8 以降のバージョンでは、Loki の実稼働インスタンスでサポートされているサイズオプションは
1x.extra-small、1x.small、または1x.mediumです。重要デプロイメントサイズの
1xの数は変更できません。 - 3
- ログストレージに使用するシークレットを指定します。
- 4
- 対応するストレージタイプを指定します。
- 5
- 一時ストレージのストレージクラスの名前を入力します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。クラスターで使用可能なストレージクラスは、
oc get storageclassesコマンドを使用してリスト表示できます。 - 6
- LokiStack はデフォルトでマルチテナントモードで実行されます。このデフォルト設定は変更できません。ログの種類 (監査ログ、インフラストラクチャーログ、アプリケーションログ) ごとに 1 つのテナントが提供されます。これにより、個々のユーザーおよびユーザーグループのさまざまなログストリームのアクセス制御が可能になります。
- Create をクリックします。
10.2.1.5. CLI を使用して Loki Operator をインストールする リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターにロギングをインストールして設定するには、追加の Operator をインストールする必要があります。これは、OpenShift Container Platform CLI から実行できます。
OpenShift Container Platform Operator は、カスタムリソース (CR) を使用してアプリケーションとそのコンポーネントを管理します。高レベルの構成と設定は、CR 内でユーザーが指定します。Operator は、Operator のロジック内に組み込まれたベストプラクティスに基づいて、高レベルのディレクティブを低レベルのアクションに変換します。カスタムリソース定義 (CRD) は CR を定義し、Operator のユーザーが使用できるすべての設定をリストします。Operator をインストールすると CRD が作成され、CR の生成に使用されます。
前提条件
- 管理者権限がある。
-
OpenShift CLI (
oc) がインストールされている。 - サポートされているオブジェクトストアにアクセスできる。例: AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation。
手順
Subscriptionオブジェクトを作成します。apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: loki-operator namespace: openshift-operators-redhat1 spec: channel: stable2 name: loki-operator source: redhat-operators3 sourceNamespace: openshift-marketplaceSubscriptionオブジェクトを適用します。$ oc apply -f <filename>.yaml
10.2.1.6. CLI を使用して Loki オブジェクトストレージのシークレットを作成する リンクのコピーリンクがクリップボードにコピーされました!
Loki オブジェクトストレージを設定するには、シークレットを作成する必要があります。これは、OpenShift CLI (oc) を使用して実行できます。
前提条件
- 管理者権限がある。
- Loki Operator がインストールされている。
-
OpenShift CLI (
oc) がインストールされている。
手順
次のコマンドを使用して、証明書とキーファイルが含まれるディレクトリーにシークレットを作成できます。
$ oc create secret generic -n openshift-logging <your_secret_name> \ --from-file=tls.key=<your_key_file> --from-file=tls.crt=<your_crt_file> --from-file=ca-bundle.crt=<your_bundle_file> --from-literal=username=<your_username> --from-literal=password=<your_password>
最良の結果を得るには、generic または opaque シークレットを使用してください。
検証
次のコマンドを実行して、シークレットが作成されたことを確認します。
$ oc get secrets
10.2.1.7. CLI を使用して LokiStack カスタムリソースを作成する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して、LokiStack カスタムリソース (CR) を作成できます。
前提条件
- 管理者権限がある。
- Loki Operator がインストールされている。
-
OpenShift CLI (
oc) がインストールされている。
手順
LokiStackCR を作成します。LokiStackCR の例apiVersion: loki.grafana.com/v1 kind: LokiStack metadata: name: logging-loki namespace: openshift-logging spec: size: 1x.small1 storage: schemas: - version: v12 effectiveDate: "2022-06-01" secret: name: logging-loki-s32 type: s33 storageClassName: <storage_class_name>4 tenants: mode: openshift-logging5 - 1
- デプロイメントサイズを指定します。ロギング 5.8 以降のバージョンでは、Loki の実稼働インスタンスでサポートされているサイズオプションは
1x.extra-small、1x.small、または1x.mediumです。重要デプロイメントサイズの
1xの数は変更できません。 - 2
- ログストアシークレットの名前を指定します。
- 3
- ログストアシークレットのタイプを指定します。
- 4
- 一時ストレージのストレージクラスの名前を指定します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。クラスターで使用可能なストレージクラスは、
oc get storageclassesコマンドを使用してリスト表示できます。 - 5
- LokiStack はデフォルトでマルチテナントモードで実行されます。このデフォルト設定は変更できません。ログの種類 (監査ログ、インフラストラクチャーログ、アプリケーションログ) ごとに 1 つのテナントが提供されます。これにより、個々のユーザーおよびユーザーグループのさまざまなログストリームのアクセス制御が可能になります。
次のコマンドを実行して、
LokiStackCR を適用します。$ oc apply -f <filename>.yaml
検証
次のコマンドを実行して出力を観察し、
openshift-loggingプロジェクト内の Pod をリスト表示してインストールを確認します。$ oc get pods -n openshift-logging次のリストのように、ロギングコンポーネント用の Pod が複数表示されていることを確認します。
出力例
NAME READY STATUS RESTARTS AGE cluster-logging-operator-78fddc697-mnl82 1/1 Running 0 14m collector-6cglq 2/2 Running 0 45s collector-8r664 2/2 Running 0 45s collector-8z7px 2/2 Running 0 45s collector-pdxl9 2/2 Running 0 45s collector-tc9dx 2/2 Running 0 45s collector-xkd76 2/2 Running 0 45s logging-loki-compactor-0 1/1 Running 0 8m2s logging-loki-distributor-b85b7d9fd-25j9g 1/1 Running 0 8m2s logging-loki-distributor-b85b7d9fd-xwjs6 1/1 Running 0 8m2s logging-loki-gateway-7bb86fd855-hjhl4 2/2 Running 0 8m2s logging-loki-gateway-7bb86fd855-qjtlb 2/2 Running 0 8m2s logging-loki-index-gateway-0 1/1 Running 0 8m2s logging-loki-index-gateway-1 1/1 Running 0 7m29s logging-loki-ingester-0 1/1 Running 0 8m2s logging-loki-ingester-1 1/1 Running 0 6m46s logging-loki-querier-f5cf9cb87-9fdjd 1/1 Running 0 8m2s logging-loki-querier-f5cf9cb87-fp9v5 1/1 Running 0 8m2s logging-loki-query-frontend-58c579fcb7-lfvbc 1/1 Running 0 8m2s logging-loki-query-frontend-58c579fcb7-tjf9k 1/1 Running 0 8m2s logging-view-plugin-79448d8df6-ckgmx 1/1 Running 0 46s