3.2. Web コンソールを使用した Cluster Logging Operator のインストール

OpenShift Container Platform Web コンソールを使って Cluster Logging Operator をインストールすることができます。

注記

Web コンソールまたは oc new-project コマンドを使用して、openshift- で始まる Project を作成することはできません。YAML オブジェクトファイルを使用して namespace を作成し、以下のように oc create -f <file-name>.yaml コマンドを実行する必要があります。

手順

OpenShift Container Platform Web コンソールを使って Cluster Logging Operator をインストールするには、以下を実行します。

  1. Cluster Logging Operator の namespace を作成します。CLI を使用して namespace を作成する必要があります。

    1. Cluster Logging Operator の namespace オブジェクト YAML ファイル (clo-namespace.yaml など) を作成します。

      apiVersion: v1
      kind: Namespace
      metadata:
        name: openshift-logging 1
        annotations:
          openshift.io/node-selector: "" 2
        labels:
          openshift.io/cluster-monitoring: "true" 3
      1 2 3
      これらのラベルを以下のように指定します。
    2. namespace を作成します。

      $ oc create -f <file-name>.yaml

      以下は例になります。

      $ oc create -f clo-namespace.yaml
  2. Cluster Logging Operator をインストールします。

    1. OpenShift Container Platform Web コンソールで、OperatorsOperatorHub をクリックします。
    2. 利用可能な Operator の一覧から Cluster Logging を選択し、Install をクリックします。
    3. Create Operator Subscription ページの A specific Namespace on the cluster の下で openshift-logging を選択します。次に、Subscribe をクリックします。
  3. Cluster Logging Operator がインストールされていることを確認します。

    1. OperatorsInstalled Operators ページに切り替えます。
    2. Cluster LoggingStatusInstallSucceeded の状態で openshift-logging プロジェクトに一覧表示されていることを確認します。

      注記

      インストール時に、 Operator は Failed ステータスを表示する可能性があります。その後に Operator が InstallSucceeded メッセージと共にインストールされる場合、Failed メッセージを安全に無視することができます。

      Operator がインストール済みとして表示されない場合に、さらにトラブルシューティングを実行します。

      • OperatorsInstalled Operators ページに切り替え、Status 列でエラーまたは失敗の有無を確認します。
      • WorkloadsPods ページに切り替え、openshift-logging および openshift-operators-redhat プロジェクトの Pod で問題を報告しているログの有無を確認します。
  4. クラスターロギングのインスタンスを作成します。

    1. AdministrationCustom Resource Definitions ページに切り替えます。
    2. Custom Resource Definitions ページで、ClusterLogging をクリックします。
    3. Custom Resource Definition Overview ページで、Actions メニューから View Instances を選択します。
    4. Cluster Loggings ページで、Create Cluster Logging をクリックします。

      データを読み込むためにページを更新する必要がある場合があります。

    5. YAML フィールドで、コードを以下に置き換えます。

      注記

      このデフォルトのクラスターロギング設定は各種の環境をサポートすることが予想されます。クラスターロギングのクラスターに加えることのできる変更についての詳細は、クラスターロギングコンポーネントのチューニングおよび設定についてのトピックを確認してください。

      apiVersion: "logging.openshift.io/v1"
      kind: "ClusterLogging"
      metadata:
        name: "instance" 1
        namespace: "openshift-logging"
      spec:
        managementState: "Managed"  2
        logStore:
          type: "elasticsearch"  3
          elasticsearch:
            nodeCount: 3 4
            storage:
              storageClassName: "<storage-class-name>" 5
              size: 200G
            redundancyPolicy: "SingleRedundancy"
        visualization:
          type: "kibana"  6
          kibana:
            replicas: 1
        curation:
          type: "curator"  7
          curator:
            schedule: "30 3 * * *"
        collection:
          logs:
            type: "fluentd"  8
            fluentd: {}
      1
      名前は instance である必要があります。
      2
      クラスターロギングの管理状態。ほとんどの場合、クラスターロギングのデフォルト値を変更する場合は、これを Unmanaged (管理外) に設定する必要があります。ただし、管理外のデプロイメントはクラスターロギングが管理対象の状態に戻されるまで更新を受信しません。詳細は「クラスターロギングの管理状態の変更」を参照してください。
      3
      Elasticsearch の設定に必要な設定。CR を使用してシャードのレプリケーションポリシーおよび永続ストレージを設定できます。詳細は「Elasticsearch の設定」を参照してください。
      4
      Elasticsearch ノードの数を指定します。この一覧に続く注記を確認してください。
      5
      Elasticsearch ストレージの既存の StorageClass の名前を入力します。最適なパフォーマンスを得るには、ブロックストレージを割り当てる StorageClass を指定します。
      6
      Kibana の設定に必要な設定。CR を使用して、冗長性を確保するために Kibana をスケーリングし、Kibana ノードの CPU およびメモリーを設定できます。詳細は「Kibana の設定」を参照してください。
      7
      Curator の設定に必要な設定。CR を使用して Curator スケジュールを設定できます。詳細は「Curator の設定」を参照してください。
      8
      Fluentd の設定に必要な設定。CR を使用して Fluentd の CPU およびメモリー制限を設定できます。詳細は「Fluentd の設定」を参照してください。
      注記

      Elasticsearch マスターノードの最大数は 3 です。3 を超える nodeCount を指定する場合、OpenShift Container Platform は、マスター、クライアントおよびデータロールを使用して、3 つのマスターとしての適格性のあるノードである Elasticsearch ノードを作成します。追加の Elasticsearch ノードは、クライアントおよびデータロールを使用してデータのみのノードとして作成されます。マスターノードは、インデックスの作成および削除、シャードの割り当て、およびノードの追跡などのクラスター全体でのアクションを実行します。データノードはシャードを保持し、CRUD、検索、および集計などのデータ関連の操作を実行します。データ関連の操作は、I/O、メモリーおよび CPU 集約型の操作です。これらのリソースを監視し、現行ノードがオーバーロードする場合にデータノード追加することが重要です。

      たとえば、nodeCount=4 の場合に、以下のノードが作成されます。

      $ oc get deployment
      
      cluster-logging-operator       1/1     1            1           18h
      elasticsearch-cd-x6kdekli-1    0/1     1            0           6m54s
      elasticsearch-cdm-x6kdekli-1   1/1     1            1           18h
      elasticsearch-cdm-x6kdekli-2   0/1     1            0           6m49s
      elasticsearch-cdm-x6kdekli-3   0/1     1            0           6m44s

      インデックステンプレートのプライマリーシャードの数は Elasticsearch データノードの数と等しくなります。

    6. Create をクリックします。これにより、クラスターロギングのカスタムリソースおよび Elasticsearch のカスタムリソースが作成されます。これらを編集すると、クラスターロギングのクラスターに変更を加えることができます。
  5. インストールを確認します。

    1. WorkloadsPods ページに切り替えます。
    2. openshift-logging プロジェクトを選択します。

      以下の一覧のようなクラスターロギング、Elasticsearch、Fluentd、および Kibana のいくつかの Pod が表示されるはずです。

      • cluster-logging-operator-cb795f8dc-xkckc
      • elasticsearch-cdm-b3nqzchd-1-5c6797-67kfz
      • elasticsearch-cdm-b3nqzchd-2-6657f4-wtprv
      • elasticsearch-cdm-b3nqzchd-3-588c65-clg7g
      • fluentd-2c7dg
      • fluentd-9z7kk
      • fluentd-br7r2
      • fluentd-fn2sb
      • fluentd-pb2f8
      • fluentd-zqgqx
      • kibana-7fb4fd4cc9-bvt4p