検索
Red Hat Advanced Cluster Management Search サービスが、すべてのクラスターにわたる Kubernetes リソースの可視性をどのように提供するかを説明します。
概要
第1章 検索 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management Search サービスを学習します。検索を使用して、クラスターからリソースデータをクエリーします。以下のドキュメントを参照してください。
1.1. 検索サービス リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes では、検索機能でクラスター全体の Kubernetes リソースを視認できるようにします。検索では、Kubernetes リソースや他のリソースとの関係もインデックス化されます。
1.1.1. 検索コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
検索アーキテクチャーは、以下のコンポーネントで構成されています。
| コンポーネント名 | メトリクス | メトリックのタイプ | 説明 |
|---|---|---|---|
|
|
Kubernetes リソースを監視し、リソースメタデータを収集し、すべてのマネージドクラスターにわたるリソースの関係を計算し、収集したデータを | ||
|
コレクターからリソースのメタデータを受信し、PostgreSQL データベースに書き込みます。 |
| ヒストグラム | 検索インデクサーが (マネージドクラスターからの) 要求を処理するのにかかる時間 (秒)。 |
|
| ヒストグラム | (マネージドクラスターからの) 検索インデクサー要求における変更の合計 (追加、更新、削除)。 | |
|
| カウンター | 検索インデクサーが (マネージドクラスターから) 受信したリクエストの合計。 | |
|
| ゲージ | 検索インデクサーが指定された時間で処理する要求の合計数。 | |
|
GraphQL を介して |
| ヒストグラム | HTTP 要求の継続時間のヒストグラム (秒単位)。 |
|
| ヒストグラム | データベース要求のレイテンシー (秒単位)。 | |
|
| カウンター | 失敗したデータベース接続試行の合計数。 | |
|
| すべてのマネージドクラスターから収集されたデータを PostgreSQL データベースのインスタンスに保存します。 |
デフォルトでは、検索はハブクラスターで設定されます。マネージドクラスターをプロビジョニングするか、手動でインポートすると、klusterlet-addon-search が有効になります。マネージドクラスターの検索を無効にする場合は、クラスターの klusterlet アドオン設定の変更 を参照してください。
1.1.2. 検索のカスタマイズと設定 リンクのコピーリンクがクリップボードにコピーされました!
search-v2-operator カスタムリソースのデフォルト値を変更できます。カスタムリソースの詳細を表示するには、次のコマンドを実行します。
oc get search search-v2-operator -o yaml
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ストレージクラスを選択した場合、設定は次の例のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定により、
gp2-searchという名前の PVC が作成され、search-postgresPod にマウントされます。デフォルトでは、ストレージサイズは10Giです。ストレージサイズを変更できます。たとえば、約 200 のマネージドクラスターには20Giで十分な場合があります。4 つの検索 Pod (
indexer、database、queryapi、collector) の Pod メモリーまたは CPU 要件、レプリカ数、更新ログレベルを調整することでコストを最適化します。search-v2-operatorカスタムリソースのdeploymentセクションを更新します。search-v2-operatorによって管理される 4 つのデプロイメントがあり、個別に更新できます。search-v2-operatorカスタムリソースは、次のファイルのようになる場合があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、メモリーリソースがインデクサー Pod に適用される例です。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 検索 Pod のノード配置を定義できます。
nodeSelectorパラメーターまたはtolerationsパラメーターを使用して、検索 Pod のPlacementリソースを更新できます。次の設定例を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Advanced search ドロップダウンボタンを選択して検索クエリーを指定し、Column、Operator、Value オプションをフィルタリングするか、検索制約を追加します。
1.1.3. 検索操作とデータ型 リンクのコピーリンクがクリップボードにコピーされました!
検索操作を条件として使用して検索クエリーを指定します。>, >=, <, <=, != などの文字がサポートされます。以下の検索操作の表を参照してください。
| デフォルトの動作 | データのタイプ | 説明 |
|---|---|---|
|
| string, number | これがデフォルトの動作です。 |
|
| string, number | これは、NOT 操作を表します。これは、検索結果から除外することを意味します。 |
|
| number | |
|
| date | 過去時間、日、週、月、および年に一致する日付。 |
|
| string | 部分文字列の一致。 |
1.1.4. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Advanced Cluster Management for Kubernetes コンソールに関するその他のトピックは、Web コンソール を参照してください。
1.2. 検索設定可能コレクションの作成 リンクのコピーリンクがクリップボードにコピーされました!
検索が収集するリソースをカスタマイズする各マネージドクラスターに対して search-collector-config config map を作成し、クラスターから収集される Kubernetes リソースを定義します。
必要なアクセス権: クラスター管理者
検索アドオンがデプロイされているのと同じ namespace に config map を配置します。デフォルトの namespace は open-cluster-management-agent-addon です。
以下の手順を実行します。
次のコマンドを実行して、
search-collector-configconfig map を作成します。oc apply -f <your-search-collector-config>.yaml
oc apply -f <your-search-collector-config>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow config map 内の許可 (
data.AllowedResources) セクションと拒否リスト (data.DeniedResources) セクションにリソースをリストします。config map は、次の YAML ファイルのようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: config map を指定しない場合、デフォルトですべてのリソースが収集されます。
AllowedResourcesのみを指定した場合、AllowedResourcesにリストされていないすべてのリソースは自動的に除外されます。AllowedResourcesとDeniedResourcesに同時にリストされているリソースも除外されます。
1.2.1. サーチコンソールのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
検索結果と制限をカスタマイズします。カスタマイズを実行するには、次のタスクを完了します。
OpenShift Container Platform コンソールから検索結果の制限をカスタマイズします。
multicluster-enginenamespace のconsole-mce-configを更新します。これらの設定はすべてのユーザーに適用され、パフォーマンスに影響を与える可能性があります。次のパフォーマンスパラメーターの説明を表示します。-
SAVED_SEARCH_LIMIT- 各ユーザーの保存済み検索の最大数。デフォルトでは、ユーザーごとに 10 個の保存済み検索の制限があります。デフォルト値は10です。制限を更新するには、console-configconfig map にキー値SAVED_SEARCH_LIMIT: xを追加します。 -
SEARCH_RESULT_LIMIT: コンソールに表示される検索結果の最大量。デフォルト値は1000です。この制限を削除するには、-1に設定します。 -
SEARCH_AUTOCOMPLETE_LIMIT: 検索バーの先行入力に対して取得される候補の最大数。デフォルト値は10,000です。この制限を削除するには、-1に設定します。
-
-
OpenShift Container Platform コンソールから次の
patchコマンドを実行して、検索結果を 100 項目に変更します。
oc patch configmap console-mce-config -n multicluster-engine --type merge -p '{"data":{"SEARCH_RESULT_LIMIT":"100"}}'oc patch configmap console-mce-config -n multicluster-engine --type merge -p '{"data":{"SEARCH_RESULT_LIMIT":"100"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提案された検索を追加、編集、または削除するには、
console-search-configという名前の config map を作成し、suggestedSearchesセクションを設定します。リストされている検索候補もコンソールから表示されます。各検索オブジェクトには、id, name, and searchTextが必要です。次の config map の例を確認してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 検索が有効になっている namespace を追加します。
1.2.2. コンソールでのクエリー リンクのコピーリンクがクリップボードにコピーされました!
検索ボックス にテキスト値を入力すると、名前や namespace などのプロパティーからのその値が含まれる結果が表示されます。空白を含むクエリーはサポートされていません。
必要なアクセス権: クラスター管理者
検索結果をさらに絞り込むには、検索にプロパティーセレクターを追加します。プロパティーに関連する値を組み合わせて、検索範囲をより正確に指定できます。たとえば、cluster:dev red と検索すると、dev クラスター内で "red" の文字列と一致する結果が返されます。
検索でクエリーを作成するには、次の手順を実行します。
- ナビゲーションメニューの 検索 をクリックします。
Search box に単語を入力すると、検索機能で、対象の値が含まれたリソースを見つけ出します。
- リソースを検索すると、元の検索結果に関連する他のリソースが表示されるので、リソースがシステム内にある他のリソースとどのように対話するのかを視覚的に確認できます。
- 検索すると、各クラスターと、検索したリソースが返され、リスト表示されます。ハブ クラスターのリソースの場合には、クラスター名は local-cluster として表示されます。
-
検索結果は、
kindでグループ化され、リソースのkindごとに表でグループ化されます。 - 検索オプションはクラスターオブジェクトにより異なります。
-
特定のラベルで結果を絞り込むことができます。ラベルのクエリー時の検索は、大文字と小文字が区別されます。フィルタリング用に選択できる例
name、namespace、status、およびその他のリソースフィールドを参照してください。自動補完では、補完候補を表示して検索を絞り込むことができます。以下の例を参照してください。 -
kind:podなど、フィールド 1 つを検索すると、すべての Pod リソースが返されます。 kind:pod namespace:defaultなど、複数のフィールドを検索すると、デフォルトの namespace にある Pod が返されます。注記:
- 複数の値を含む複数のプロパティーセレクターを検索すると、クエリーされた値のいずれかを返します。以下の例を参照してください。
-
kind:Pod name:aと検索すると、aという名前の Pod が返されます。 -
kind:Pod name:a,bと検索すると、aまたはbという名前の Pod が返されます。 -
kind:pod status:!Runningを検索すると、ステータスがRunningではないすべての Pod リソースが返されます。 -
kind:pod restarts:>1を検索すると、最低でも 2 回再起動した全 Pod が返されます。
- 検索を保存する場合は、Save search アイコンをクリックします。
- 検索結果をダウンロードするには、Export as CSV ボタンを選択します。
1.3. klusterlet-addon-search デプロイメントの更新 リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターから Kubernetes オブジェクトを収集するために、検索が有効になっているすべてのマネージドクラスターで klusterlet-addon-search Pod が実行されます。このデプロイメントは、open-cluster-management-agent-addon namespace で実行されます。多数のリソースを持つマネージドクラスターでは、klusterlet-addon-search デプロイメントが機能するために、より多くのメモリーが必要になる場合があります。
必要なアクセス権: クラスター管理者
マネージドクラスター内の klusterlet-addon-search Pod のリソース要件は、Red Hat Advanced Cluster Management ハブクラスター内の ManagedClusterAddon カスタムリソースで指定できます。マネージドクラスターごとに、マネージドクラスター名を持つ namespace があります。以下の手順を実行します。
マネージドクラスター名と一致する namespace から
ManagedClusterAddonカスタムリソースを編集します。次のコマンドを実行して、xyzマネージドクラスターのリソース要件を更新します。oc edit managedclusteraddon search-collector -n xyz
oc edit managedclusteraddon search-collector -n xyzCopy to Clipboard Copied! Toggle word wrap Toggle overflow リソース要件をアノテーションとして追加します。以下の例を参照してください。
apiVersion: addon.open-cluster-management.io/v1alpha1 kind: ManagedClusterAddOn metadata: annotations: addon.open-cluster-management.io/search_memory_limit: 2048Mi addon.open-cluster-management.io/search_memory_request: 512Mi
apiVersion: addon.open-cluster-management.io/v1alpha1 kind: ManagedClusterAddOn metadata: annotations: addon.open-cluster-management.io/search_memory_limit: 2048Mi addon.open-cluster-management.io/search_memory_request: 512MiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
アノテーションはマネージドクラスターのリソース要件をオーバーライドし、新しいリソース要件で Pod を自動的に再起動します。
注記: コンソールで API Explorer を使用して、マネージドクラスターに定義されているすべてのリソースを検出できます。oc api-resources コマンドを実行しても、すべてのリソースを検出できます。