1.3. コンソールでの検索の概要


Red Hat Advanced Cluster Management for Kubernetes では、検索機能でクラスター全体の Kubernetes リソースを視認できるようにします。検索では、Kubernetes リソースや他のリソースとの関係もインデックス化されます。

1.3.1. 検索コンポーネント

検索アーキテクチャーは、以下のコンポーネントで構成されています。

  • search-collector: Kubernetes リソースを監視し、リソースメタデータを収集し、すべてのマネージドクラスターにわたるリソースの関係を計算し、収集したデータを search-indexer に送信します。マネージドクラスターの search-collector は、klusterlet-addon-search という名前の Pod として実行されます。
  • search-indexer: コレクターからリソースメタデータを受け取り、PostgreSQL データベースに書き込みます。search-indexer はハブクラスターのリソースを監視し、アクティブなマネージドクラスターを追跡します。
  • search-api: GraphQL を介して search-indexer 内のすべてのクラスターデータへのアクセスを提供し、ロールベースのアクセス制御 (RBAC) を適用します。
  • search-postgres: すべてのマネージドクラスターから収集されたデータを PostgreSQL データベースのインスタンスに保存します。

デフォルトでは、検索はハブクラスターで設定されます。マネージドクラスターをプロビジョニングするか、手動でインポートすると、klusterlet-addon-search が有効になります。マネージドクラスターの検索を無効にする場合は、クラスターの klusterlet アドオン設定の変更 を参照してください。

1.3.2. 検索のカスタマイズと設定

search-v2-operator カスタムリソースのデフォルト値を変更できます。カスタムリソースの詳細を表示するには、次のコマンドを実行します。

oc get search search-v2-operator -o yaml

検索オペレーターは、search-v2-operator カスタムリソースを監視し、変更を調整して、アクティブな Pod を更新します。次の設定の説明を参照してください。

  • PostgreSQL データベースストレージ:

    Red Hat Advanced Cluster Management をインストールすると、PostgreSQL データベースは、PostgreSQL データを空のディレクトリー (emptyDir) ボリュームに保存するように設定されます。空のディレクトリーサイズが制限されている場合は、PostgreSQL データを永続ボリューム要求 (PVC) に保存して、検索パフォーマンスを向上させることができます。Red Hat Advanced Cluster Management ハブクラスターからストレージクラスを選択して、検索データをバックアップできます。たとえば、gp2 ストレージクラスを選択した場合、設定は次の例のようになります。

    apiVersion: search.open-cluster-management.io/v1alpha1
    kind: Search
    metadata:
      name: search-v2-operator
      namespace: open-cluster-management
      labels:
        cluster.open-cluster-management.io/backup: ""
    spec:
      dbStorage:
        size: 10Gi
        storageClassName: gp2

    この設定により、gp2-search という名前の PVC が作成され、search-postgres Pod にマウントされます。デフォルトでは、ストレージサイズは 10Gi です。ストレージサイズを変更できます。たとえば、約 200 のマネージドクラスターには 20Gi で十分な場合があります。

  • PostgreSQL データベース設定:

    PostgreSQL は、データベースのパフォーマンスを最適化するためのデータベースチューニングをサポートしています。チューニング設定は、ConfigMap を使用して指定できます。この ConfigMap には、サポートされているチューニングパラメーターの名前と値のペアが含まれています。チューニングパラメーターを使用して ConfigMap を作成するには、次のコマンド例を参照してください。

    oc create configmap tuning-config --from-literal POSTGRESQL_SHARED_BUFFERS=128MB --from-literal POSTGRESQL_EFFECTIVE_CACHE_SIZE=128MB --from-literal WORK_MEM=64MB

    以前の ConfigMap を使用して、PostgreSQL データベース設定を最適化します。たとえば、tuning-config をパラメーター値として追加します。

    apiVersion: search.open-cluster-management.io/v1alpha1
    kind: Search
    metadata:
      name: search-v2-operator
      namespace: open-cluster-management
      labels:
        cluster.open-cluster-management.io/backup: ""
    spec:
      dbConfig: tuning-config
      dbStorage:
      size: 10Gi
      storageClassName: gp2-search
  • 4 つの検索 Pod (indexer、database、queryapi、collector) のPod メモリーまたは CPU 要件、レプリカ数、更新ログレベルを調整することでコストを最適化します。search-v2-operator カスタムリソースの deployment セクションを更新します。search-v2-operator によって管理される 4 つのデプロイメントがあり、個別に更新できます。search-v2-operator カスタムリソースは、次のファイルのようになる場合があります。

    apiVersion: search.open-cluster-management.io/v1alpha1
    kind: Search
    metadata:
      name: search-v2-operator
      namespace: open-cluster-management
    spec:
      dbConfig: tuning-config
      deployments:
        collector:
          resources: 1
            limits:
              cpu: 500m
              memory: 128Mi
            requests:
              cpu: 250m
              memory: 64Mi
        indexer:
          replicaCount: 3
        database: {}
        queryapi:
          arguments: 2
          - -v=3
    1
    リソースを、indexer、database、queryapi、collector の Pod に適用できます。
    2
    - -v=3 引数を追加することで、前述した 4 つの Pod のいずれかでログの詳細レベルを制御できます。

    以下は、メモリーリソースがインデクサー Pod に適用される例です。

        indexer:
          resources:
            limits:
              memory: 5Gi
            requests:
              memory: 1Gi
  • 検索 Pod のノード配置:

    nodeSelector パラメーターまたは tolerations パラメーターを使用して、検索 Pod の Placement を更新できます。次の設定例を表示します。

    spec:
     dbStorage:
      size: 10Gi
     deployments:
      collector: {}
      database: {}
      indexer: {}
      queryapi: {}
     nodeSelector:
      node-role.kubernetes.io/infra: ""
     tolerations:
     - effect: NoSchedule
      key: node-role.kubernetes.io/infra
      operator: Exists
  • 検索の管理方法については、検索の管理 を参照してください。
  • Red Hat Advanced Cluster Management for Kubernetes コンソールに関するその他のトピックについては、Web コンソール を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.