5.4. 検索の管理
検索を使用して、クラスターからリソースデータをクエリーします。
必要なアクセス権限: クラスターの管理者
次のトピックを引き続きお読みください。
5.4.1. 検索設定可能コレクションの作成
search-collector-config
ConfigMap を作成して、許可リストと拒否リストのセクションにリソースをリストすることにより、どの Kubernetes リソースをクラスターから収集するかを定義します。ConfigMap 内の data.AllowedResources
および data.DeniedResources
セクションにリソースを一覧表示します。以下のコマンドを実行してリソースを作成します。
oc apply -f yourconfigMapFile.yaml
ConfigMap は、次の YAML ファイルのようになります。
apiVersion: v1 kind: ConfigMap metadata: name: search-collector-config namespace: <namespace where search-collector add-on is deployed> data: AllowedResources: |- - apiGroups: - "*" resources: - services - pods - apiGroups: - admission.k8s.io - authentication.k8s.io resources: - "*" DeniedResources: |- - apiGroups: - "*" resources: - secrets - apiGroups: - admission.k8s.io resources: - policies - iampolicies - certificatepolicies
上記の ConfigMap の例では、すべての apiGroups
から services
と pods
を収集でき、admission.k8s.io
および authentication.k8s.io
apiGroups
からすべてのリソースも収集できます。同時に、この ConfigMap の例では、すべての apiGroups
から secrets
を一元的に収集するのを防止し、apiGroup
admission.k8s.io
からの policies
、iampolicies
、certificatepolicies
の収集も防止します。
注記: ConfigMap を指定しない場合、デフォルトですべてのリソースが収集されます。AllowedResources
のみを指定した場合、AllowedResources
にリストされていないすべてのリソースは自動的に除外されます。AllowedResources
と DeniedResources
に同時にリストされているリソースも除外されます。
5.4.2. サーチコンソールのカスタマイズ
OpenShift Container Platform コンソールから検索結果の制限をカスタマイズできます。multicluster-engine
namespace の console-mce-config
を更新します。これらの設定はすべてのユーザーに適用され、パフォーマンスに影響を与える可能性があります。次のパフォーマンスパラメーターの説明を表示します。
-
SAVED_SEARCH_LIMIT
: ユーザーごとに保存された検索の最大量。デフォルトでは、ユーザーごとに 10 個の保存済み検索の制限があります。デフォルト値は10
です。制限を更新するには、console-config
ConfigMap にキー値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"}}'
5.4.3. コンソールでのクエリー
検索ボックス にテキスト値を入力すると、名前や 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 アイコンをクリックします。
5.4.3.1. ArgoCD アプリケーションのクエリー
ArgoCD アプリケーションを検索すると、Applications ページに移動します。Search ページから ArgoCD アプリケーションにアクセスするには、以下の手順を実行します。
- Red Hat Advanced Cluster Management ハブクラスターにログインします。
- コンソールヘッダーから Search アイコンを選択します。
-
kind:application
およびapigroup:argoproj.io
の値でクエリーをフィルターします。 - 表示するアプリケーションを選択します。アプリケーション ページでは、アプリケーションに関する情報の概要が表示されます。
5.4.4. マネージドクラスターでの 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
リソース要件をアノテーションとして追加します。以下の例を参照してください。
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
アノテーションはマネージドクラスターのリソース要件をオーバーライドし、新しいリソース要件で Pod を自動的に再起動します。
環境の監視の概要 に戻ります。