Logging のインストール
Loki Operator、Red Hat OpenShift Logging Operator、Cluster Observability Operator のインストール
概要
第1章 ロギングのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Operator は、カスタムリソース (CR) を使用してアプリケーションとそのコンポーネントを管理します。ユーザーは、CR を通じて高レベルの構成と設定を指定します。Operator は、Operator のロジックに組み込まれたベストプラクティスに基づいて、高レベルの指示を低レベルのアクションに変換します。カスタムリソース定義 (CRD) は CR を定義し、Operator のユーザーが使用できるすべての設定をリストします。Operator をインストールすると、CR を生成するための CRD が作成されます。
ロギングを開始するには、次の Operator をインストールする必要があります。
- ログストアを管理する Loki Operator。
- ログの収集と転送を管理する Red Hat OpenShift Logging Operator。
- 視覚化を管理する Cluster Observability Operator (COO)。
ロギングをインストールまたは設定するには、OpenShift Container Platform Web コンソールまたは OpenShift Container Platform CLI のいずれかを使用できます。
Loki Operator の後に Red Hat OpenShift Logging Operator を設定する必要があります。
1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
OKD を使用している場合は、プラットフォームのインストールドキュメントの「インストールプログラムの取得」に示されているように、Red Hat OpenShift Cluster Manager からプルシークレット をダウンロードしている。
プルシークレットがある場合は、「Red Hat Operator を使用するための OpenShift Container Platform の設定」に示されているように、
redhat-operatorsカタログをOperatorHubカスタムリソース (CR) に追加します。
1.2. CLI を使用したインストール リンクのコピーリンクがクリップボードにコピーされました!
次のセクションでは、CLI を使用して Loki Operator と Red Hat OpenShift Logging Operator をインストールする方法について説明します。
1.2.1. CLI を使用した Loki Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform コマンドラインインターフェイス (CLI) を使用して、ログストア Loki を管理するための Loki Operator を OpenShift Container Platform クラスターにインストールします。リソース LokiStack を Loki Operator と調整することで、Loki ログストアをデプロイおよび設定できます。
前提条件
- 管理者権限がある。
-
OpenShift CLI (
oc) がインストールされている。 - サポートされているオブジェクトストアにアクセスできる。例: AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation。
手順
Loki Operator の
Namespaceオブジェクトを作成します。Namespaceオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- namespace として
openshift-operators-redhatを指定する必要があります。Operator の監視を有効にするには、openshift-operators-redhatnamespace ではなくopenshift-operatorsnamespace からメトリクスを取得するように Cluster Monitoring Operator を設定します。openshift-operatorsnamespace には、信頼されていないコミュニティー Operator が含まれている可能性があります。コミュニティー Operator は、OpenShift Container Platform メトリクスと同じ名前のメトリクスを公開して競合を引き起こす可能性があります。 - 2
- クラスターモニタリングが
openshift-operators-redhatnamespace をスクレイピングできるようにするために、示されているラベルを指定する文字列値。
次のコマンドを実行して、
Namespaceオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupオブジェクトを作成します。OperatorGroupオブジェクトのサンプルCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- namespace として
openshift-operators-redhatを指定する必要があります。
以下のコマンドを実行して
OperatorGroupオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Loki Operator の
Subscriptionオブジェクトを作成します。Subscriptionオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- namespace として
openshift-operators-redhatを指定する必要があります。 - 2
- チャネルとして
stable-6.<y>を指定します。 - 3
- サブスクリプションの承認ストラテジーが
Automaticに設定されている場合、選択したチャネルで新しい Operator バージョンが利用可能になると、すぐに更新プロセスが開始します。承認ストラテジーがManualに設定されている場合は、保留中のアップグレードを手動で承認する必要があります。 - 4
- 値として
redhat-operatorsを指定します。OpenShift Container Platform クラスターが制限付きネットワークにインストールされている場合 (非接続クラスターの場合)、Operator Lifecycle Manager (OLM) の設定時に作成したCatalogSourceオブジェクトの名前を指定します。
以下のコマンドを実行して
Subscriptionオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow LokiStack をデプロイするための
namespaceオブジェクトを作成します。namespaceオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
namespaceオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow オブジェクトストレージにアクセスするための認証情報を含むシークレットを作成します。たとえば、Amazon Web Services (AWS) s3 にアクセスするためのシークレットを作成します。
Secretオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要s3 バケットまたは LokiStack カスタムリソース (CR) に保存期間が定義されていない場合、ログはプルーニングされず、s3 バケットに永久に残り、s3 ストレージがいっぱいになる可能性があります。
次のコマンドを実行して、
Secretオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow LokiStackCR を作成します。LokiStackCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
logging-lokiという名前を使用します。- 2
- namespace として
openshift-loggingを指定する必要があります。 - 3
- デプロイメントサイズを指定します。Loki の実稼働インスタンスでサポートされているサイズオプションは、
1x.extra-small、1x.small、または1x.mediumです。さらに、logging 6.1 以降では1x.picoがサポートされています。 - 4
- この日付はスキーマが有効になる日付であるため、新規インストールの場合、"昨日" に相当する日付に設定する必要があります。
- 5
- ログストアシークレットの名前を指定します。
- 6
- 対応するストレージタイプを指定します。
- 7
- 一時ストレージのストレージクラスの名前を指定します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。
oc get storageclassesコマンドを使用して、クラスターで使用可能なストレージクラスをリスト表示できます。 - 8
openshift-loggingモードは、デフォルトのテナンシーモードです。このモードでは、監査、インフラストラクチャー、アプリケーションなどのログタイプに対してテナントが作成されます。これにより、個々のユーザーおよびユーザーグループのさまざまなログストリームのアクセス制御が可能になります。
次のコマンドを実行して、
LokiStackCR オブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、インストールを確認します。
oc get pods -n openshift-logging
$ oc get pods -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.2. CLI を使用した Red Hat OpenShift Logging Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用してログを収集し、ログストアに転送するには、OpenShift Container Platform クラスターに Red Hat OpenShift Logging Operator をインストールします。
前提条件
- 管理者権限がある。
-
OpenShift CLI (
oc) がインストールされている。 - Loki Operator をインストールして設定した。
-
openshift-loggingnamespace を作成した。
手順
OperatorGroupオブジェクトを作成します。OperatorGroupオブジェクトのサンプルCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- namespace として
openshift-loggingを指定する必要があります。
以下のコマンドを実行して
OperatorGroupオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Logging Operator の
Subscriptionオブジェクトを作成します。Subscriptionオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- namespace として
openshift-loggingを指定する必要があります。 - 2
- チャネルとして
stable-6.<y>を指定します。 - 3
- サブスクリプションの承認ストラテジーが
Automaticに設定されている場合、選択したチャネルで新しい Operator バージョンが利用可能になると、すぐに更新プロセスが開始します。承認ストラテジーがManualに設定されている場合は、保留中のアップグレードを手動で承認する必要があります。 - 4
- 値として
redhat-operatorsを指定します。OpenShift Container Platform クラスターが制限付きネットワークにインストールされている場合 (非接続クラスターの場合)、Operator Lifecycle Manager (OLM) の設定時に作成したCatalogSourceオブジェクトの名前を指定します。
以下のコマンドを実行して
Subscriptionオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログコレクターが使用するサービスアカウントを作成します。
oc create sa logging-collector -n openshift-logging
$ oc create sa logging-collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow コレクターがログを収集して転送できるように、サービスアカウントに必要な権限を割り当てます。この例では、コレクターにインフラストラクチャーログとアプリケーションログの両方を収集する権限を付与します。
oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z logging-collector -n openshift-logging oc adm policy add-cluster-role-to-user collect-application-logs -z logging-collector -n openshift-logging oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z logging-collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z logging-collector -n openshift-logging $ oc adm policy add-cluster-role-to-user collect-application-logs -z logging-collector -n openshift-logging $ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z logging-collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLogForwarderCR を作成します。ClusterLogForwarderCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ClusterLogForwarder CRオブジェクトを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、インストールを確認します。
oc get pods -n openshift-logging
$ oc get pods -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. Web コンソールを使用したインストール リンクのコピーリンクがクリップボードにコピーされました!
次のセクションでは、Web コンソールを使用して Loki Operator と Red Hat OpenShift Logging Operator をインストールする方法について説明します。
1.3.1. Web コンソールを使用して Loki Operator をインストールする リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、OperatorHub から、ログストア Loki を管理するための Loki Operator を OpenShift Container Platform クラスターにインストールします。リソース LokiStack を Loki Operator と調整することで、Loki ログストアをデプロイおよび設定できます。
前提条件
- 管理者権限がある。
- OpenShift Container Platform Web コンソールにアクセスできる。
- サポートされているオブジェクトストア (AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation) にアクセスできる。
手順
- OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators → OperatorHub に移動します。
Filter by keyword フィールドに Loki Operator と入力します。使用可能な Operator のリストで Loki Operator をクリックし、Install をクリックします。
重要Community Loki Operator は Red Hat ではサポートされていません。
Update channel として stable-x.y を選択します。
Loki Operator は、グローバルの 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 に設定されている場合は、保留中のアップグレードを手動で承認する必要があります。
注記インストールが完了する前に、Operator に
Failedステータスが表示される場合があります。Operator のインストールが完了し、InstallSucceededというメッセージが表示されたら、ページを更新してください。Operator をインストールしている間に、ログストアをデプロイする namespace を作成します。
- 画面右上の + をクリックして、Import YAML ページにアクセスします。
openshift-loggingnamespace の YAML 定義を追加します。namespaceオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックします。
オブジェクトストレージにアクセスするための認証情報を含むシークレットを作成します。
- 画面右上の + をクリックして、Import YAML ページにアクセスします。
シークレットの YAML 定義を追加します。たとえば、Amazon Web Services (AWS) s3 にアクセスするためのシークレットを作成します。
Secretオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要s3 バケットまたは LokiStack カスタムリソース (CR) に保存期間が定義されていない場合、ログはプルーニングされず、s3 バケットに永久に残り、s3 ストレージがいっぱいになる可能性があります。
- Create をクリックします。
- Installed Operators ページに移動します。Provided API にある Loki Operator を選択し、LokiStack リソースを見つけて、Create Instance をクリックします。
YAML view を選択し、次のテンプレートを使用して
LokiStackCR を作成します。LokiStackCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
logging-lokiという名前を使用します。- 2
- namespace として
openshift-loggingを指定する必要があります。 - 3
- デプロイメントサイズを指定します。Loki の実稼働インスタンスでサポートされているサイズオプションは、
1x.extra-small、1x.small、または1x.mediumです。さらに、logging 6.1 以降では 1x.pico がサポートされています。 - 4
- ログストアシークレットの名前を指定します。
- 5
- 対応するストレージタイプを指定します。
- 6
- 一時ストレージのストレージクラスの名前を指定します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。
oc get storageclassesコマンドを使用して、クラスターで使用可能なストレージクラスをリスト表示できます。 - 7
openshift-loggingモードは、デフォルトのテナンシーモードです。このモードでは、監査、インフラストラクチャー、アプリケーションなどのログタイプに対してテナントが作成されます。これにより、個々のユーザーおよびユーザーグループのさまざまなログストリームのアクセス制御が可能になります。
- Create をクリックします。
検証
-
LokiStack タブで、
LokiStackインスタンスが表示されていることを確認します。 -
Status 列に、
Condition: Readyというメッセージが緑色のチェックマークとともに表示されていることを確認します。
1.3.2. Web コンソールを使用した Red Hat OpenShift Logging Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、OperatorHub から、ログを収集してログストアに転送するための Red Hat OpenShift Logging Operator を OpenShift Container Platform クラスターにインストールします。
前提条件
- 管理者権限がある。
- OpenShift Container Platform Web コンソールにアクセスできる。
- Loki Operator をインストールして設定した。
手順
- OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators → OperatorHub に移動します。
- Filter by keyword フィールドに Red Hat OpenShift Logging Operator と入力します。利用可能な Operator のリストで Red Hat OpenShift Logging Operator をクリックし、Install をクリックします。
Update channel として stable-x.y を選択します。Version フィールドでは最新バージョンがすでに選択されています。
Red Hat OpenShift Logging Operator は、ロギング namespace
openshift-loggingにデプロイする必要があります。そのため、Installation mode と Installed Namespace はすでに選択されています。この namespace がまだ存在しない場合は、自動的に作成されます。Enable Operator-recommended cluster monitoring on this namespace. を選択します。
このオプションは、
Namespaceオブジェクトにopenshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-loggingnamespace を収集できるように、このオプションを選択する必要があります。Update approval で Automatic を選択し、Install をクリックします。
サブスクリプションの承認ストラテジーが Automatic に設定されている場合、選択したチャネルで新しい Operator バージョンが利用可能になると、すぐに更新プロセスが開始します。承認ストラテジーが Manual に設定されている場合は、保留中のアップグレードを手動で承認する必要があります。
注記インストールが完了する前に、Operator に
Failedステータスが表示される場合があります。Operator のインストールが完了し、InstallSucceededというメッセージが表示されたら、ページを更新してください。Operator をインストールしている間に、ログコレクターがログを収集するために使用するサービスアカウントを作成します。
- 画面右上の + をクリックして、Import YAML ページにアクセスします。
サービスアカウントの YAML 定義を入力します。
ServiceAccountオブジェクトの例apiVersion: v1 kind: ServiceAccount metadata: name: logging-collector namespace: openshift-logging
apiVersion: v1 kind: ServiceAccount metadata: name: logging-collector1 namespace: openshift-logging2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create ボタンをクリックします。
ClusterRoleBindingオブジェクトを作成して、インフラストラクチャーログやアプリケーションログなど、収集するログにアクセスし、ログストアに書き込むために必要な権限をログコレクターに付与します。- 画面右上の + をクリックして、Import YAML ページにアクセスします。
ClusterRoleBindingリソースの YAML 定義を入力します。ClusterRoleBindingリソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create ボタンをクリックします。
- Operators → Installed Operators ページに移動します。Operator を選択し、All instances タブをクリックします。
- サービスアカウントに必要な権限を付与した後、Installed Operator ページに移動します。Provided APIs で Red Hat OpenShift Logging Operator を選択し、ClusterLogForwarder リソースを見つけて、Create Instance をクリックします。
YAML view を選択し、次のテンプレートを使用して
ClusterLogForwarderCR を作成します。ClusterLogForwarderCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックします。
検証
-
ClusterLogForwarder タブで、
ClusterLogForwarderインスタンスが表示されていることを確認します。 Status 列に次のメッセージが表示されていることを確認します。
-
Condition: observability.openshift.io/Authorized -
observability.openshift.io/Valid, Ready
-