Web コンソール
第1章 Web コンソール
以下のドキュメントで、Red Hat Advanced Cluster Management for Kubernetes コンソールのコンポーネントにアクセスして使用する方法を確認してください。
1.1. コンソールの概要
コンソールの表示、管理、カスタマイズに使用できるコンソールのコンポーネントを説明します。
以下に Red Hat Advanced Cluster Management for Kubernetes コンソールの Navigation のイメージを示しています。このコンソールについては、後続の各セクションで詳細が説明されています。ナビゲーションに、主要な実稼働機能があることが分かります。
1.1.1. コンソールのコンポーネント
1.1.2. Home
Red Hat Advanced Cluster Management for Kubernetes Home ページの All clusters ビューから、詳細情報にアクセスしたり、製品全体を検索したりできます。Welcome をクリックすると、各製品機能を紹介する情報が表示されます。
1.1.2.1. 概要
Overview をクリックすると、概要情報を表示したり、ポリシー違反のクリック可能な Cluster パーセンテージ値にアクセスしたりできます。
Overview ページでは、次の情報を表示できます。
- すべてのクラスターおよび各プロバイダーのクラスターとノードの数
- クラスターの状態
- クラスターのコンプライアンス
- Pod のステータス
- Cluster add-ons
統合コンソールからすべての API にアクセスすることもできます。local-cluster
ビューから、Home > API Explorer に移動して、API グループを調べます。
また、Overview ページのヘッダーから Fleet view スイッチを使用して、クラスターラベルを使用してページデータをフィルターし、メトリックを表示することもできます。
Fleet view スイッチから次の情報が表示されます。
- クラスター数。
- アプリケーションのタイプ
- クラスターで有効なポリシーの数
- クラスターのバージョン
- クラスター上のノードの合計数
- ワーカーコアの数
Red Hat Insights の以下の情報が表示されます。
- クラスターの推奨事項
- リスク予測の数
- ステータスと違反を含むクラスターの健全性
- カスタムクエリーに基づいたリソースのビュー。
可観測性が有効になっている場合は、フリート全体からのアラートと障害のある Operator メトリクスも表示されます。
Search については、コンソールでの検索 を参照してください。
1.1.2.2. コマンドラインツール
Home ページから、次の手順でコマンドラインインターフェイス (CLI) のダウンロードにアクセスできます。
-
コンソールのツールバーで
?
アイコンをクリックします。 - ドロップダウンメニューで Command Line Tools をクリックします。
- Advanced Cluster Management ヘッダーから、オペレーティングシステムとアーキテクチャーが指定する Red Hat Advanced Cluster Management で使用可能なツールのリストを見つけます。
- 適切なバイナリーファイルを選択してダウンロードし、ローカルシステムで使用します。
1.2. コンソールでの検索
Red Hat Advanced Cluster Management for Kubernetes では、検索機能でクラスター全体の Kubernetes リソースを視認できるようにします。検索では、Kubernetes リソースや他のリソースとの関係もインデックス化されます。
1.2.1. 検索コンポーネント
検索アーキテクチャーは、以下のコンポーネントで構成されています。
コンポーネント名 | メトリクス | メトリックのタイプ | 詳細 |
---|---|---|---|
|
Kubernetes リソースを監視し、リソースメタデータを収集し、すべてのマネージドクラスターにわたるリソースの関係を計算し、収集したデータを | ||
コレクターからリソースのメタデータを受信し、PostgreSQL データベースに書き込みます。 |
| ヒストグラム | 検索インデクサーが (マネージドクラスターからの) 要求を処理するのにかかる時間 (秒)。 |
| ヒストグラム | (マネージドクラスターからの) 検索インデクサー要求における変更の合計 (追加、更新、削除)。 | |
| カウンター | 検索インデクサーが (マネージドクラスターから) 受信したリクエストの合計。 | |
| ゲージ | 検索インデクサーが指定された時間で処理する要求の合計数。 | |
GraphQL を介して |
| ヒストグラム | HTTP 要求の継続時間のヒストグラム (秒単位)。 |
| ヒストグラム | データベース要求のレイテンシー (秒単位)。 | |
| カウンター | 失敗したデータベース接続試行の合計数。 | |
| すべてのマネージドクラスターから収集されたデータを PostgreSQL データベースのインスタンスに保存します。 |
デフォルトでは、検索はハブクラスターで設定されます。マネージドクラスターをプロビジョニングするか、手動でインポートすると、klusterlet-addon-search
が有効になります。マネージドクラスターの検索を無効にする場合は、クラスターの klusterlet アドオン設定の変更 を参照してください。
1.2.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
で十分な場合があります。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: deployments: collector: resources: 1 limits: cpu: 500m memory: 128Mi requests: cpu: 250m memory: 64Mi indexer: replicaCount: 3 database: 2 envVar: - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE value: 1024MB - name: POSTGRESQL_SHARED_BUFFERS value: 512MB - name: WORK_MEM value: 128MB queryapi: arguments: 3 - -v=3
以下は、メモリーリソースがインデクサー 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
- Advanced search ドロップダウンボタンを選択して検索クエリーを指定し、Column、Operator、Value オプションをフィルタリングするか、検索制約を追加します。
1.2.3. 検索操作とデータ型
検索操作を条件として使用して検索クエリーを指定します。>, >=, <, <=, !=
などの文字がサポートされます。以下の検索操作の表を参照してください。
デフォルトの動作 | データのタイプ | 詳細 |
---|---|---|
| string, number | これがデフォルトの動作です。 |
| string, number | これは、NOT 操作を表します。これは、検索結果から除外することを意味します。 |
| number | |
| date | 過去時間、日、週、月、および年に一致する日付。 |
| string | 部分文字列の一致。 |
1.2.4. 関連情報
1.2.5. 検索の管理
検索を使用して、クラスターからリソースデータをクエリーします。
必要なアクセス権限: クラスターの管理者
次のトピックを引き続きお読みください。
1.2.5.1. 検索設定可能コレクションの作成
クラスターから収集される Kubernetes リソースを定義するには、search-collector-config
config map を作成します。以下の手順を実行します。
次のコマンドを実行して、
search-collector-config
config map を作成します。oc apply -f <your-search-collector-config>.yaml
config map 内の許可 (
data.AllowedResources
) セクションと拒否リスト (data.DeniedResources
) セクションにリソースをリストします。config map は、次の YAML ファイルのようになります。apiVersion: v1 kind: ConfigMap metadata: name: search-collector-config namespace: <namespace where search-collector add-on is deployed> data: AllowedResources: |- 1 - apiGroups: - "*" resources: - services - pods - apiGroups: - admission.k8s.io - authentication.k8s.io resources: - "*" DeniedResources: |- 2 - apiGroups: - "*" resources: - secrets - apiGroups: - admission.k8s.io resources: - policies - iampolicies - certificatepolicies
注記: config map を指定しない場合、デフォルトですべてのリソースが収集されます。
AllowedResources
のみを指定した場合、AllowedResources
にリストされていないすべてのリソースは自動的に除外されます。AllowedResources
とDeniedResources
に同時にリストされているリソースも除外されます。
1.2.5.2. サーチコンソールのカスタマイズ
検索結果と制限をカスタマイズします。カスタマイズを実行するには、次のタスクを完了します。
OpenShift Container Platform コンソールから検索結果の制限をカスタマイズします。
multicluster-engine
namespace のconsole-mce-config
を更新します。これらの設定はすべてのユーザーに適用され、パフォーマンスに影響を与える可能性があります。次のパフォーマンスパラメーターの説明を表示します。-
SAVED_SEARCH_LIMIT
- 各ユーザーの保存済み検索の最大数。デフォルトでは、ユーザーごとに 10 個の保存済み検索の制限があります。デフォルト値は10
です。制限を更新するには、console-config
config 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"}}'
提案された検索を追加、編集、または削除するには、
console-search-config
という名前の config map を作成し、suggestedSearches
セクションを設定します。リストされている検索候補もコンソールから表示されます。各検索オブジェクトには、id, name, and searchText
が必要です。次の config map の例を確認してください。kind: ConfigMap apiVersion: v1 metadata: name: console-search-config namespace: <acm-namespace> 1 data: suggestedSearches: |- [ { "id": "search.suggested.workloads.name", "name": "Workloads", "description": "Show workloads running on your fleet", "searchText": "kind:DaemonSet,Deployment,Job,StatefulSet,ReplicaSet" }, { "id": "search.suggested.unhealthy.name", "name": "Unhealthy pods", "description": "Show pods with unhealthy status", "searchText": "kind:Pod status:Pending,Error,Failed,Terminating,ImagePullBackOff,CrashLoopBackOff,RunContainerError,ContainerCreating" }, { "id": "search.suggested.createdLastHour.name", "name": "Created last hour", "description": "Show resources created within the last hour", "searchText": "created:hour" }, { "id": "search.suggested.virtualmachines.name", "name": "Virtual Machines", "description": "Show virtual machine resources", "searchText": "kind:VirtualMachine" } ]
- 1
- 検索が有効になっている namespace を追加します。
1.2.5.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 アイコンをクリックします。
- 検索結果をダウンロードするには、Export as CSV ボタンを選択します。
1.2.5.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 を自動的に再起動します。
注記: コンソールで API Explorer を使用して、マネージドクラスターに定義されているすべてのリソースを検出できます。oc api-resources
コマンドを実行しても、すべてのリソースを検出できます。
1.2.5.5. 関連情報
- 詳細は、マルチクラスターグローバルハブ を参照してください。
- 環境の監視の概要 を参照してください。
1.3. コンソールへのアクセス
Red Hat Advanced Cluster Management for Kubernetes Web コンソールは、コンソールプラグインとして Red Hat OpenShift Container Platform Web コンソールと統合されています。All Clusters を選択すると、クラスタースイッチャーから OpenShift Container Platform コンソール内の Red Hat Advanced Cluster Management にアクセスできます。クラスタースイッチャーは、最初に local-cluster
が表示されるドロップダウンメニューです。
Red Hat Advanced Cluster Management をインストールしたクラスターで OpenShift Container Platform コンソール機能を使用する場合は、local-cluster
を選択します。Red Hat Advanced Cluster Management 機能を使用してクラスターのフリートを管理する場合は、All Clusters を選択します。
クラスタースイッチャーが存在しない場合は、必要なコンソールプラグインが有効になっていない可能性があります。新規インストールの場合、コンソールプラグインはデフォルトで有効になっています。以前のバージョンの Red Hat Advanced Cluster Management からアップグレードしてプラグインを有効にする場合、またはプラグインを無効にする場合は、以下の手順を参照してください。
- プラグインを無効にするには、OpenShift Container Platform コンソールの Administrator パースペクティブにいることを確認してください。
- ナビゲーションで Administration を探して Cluster Settings をクリックし、次に Configuration タブをクリックします。
-
Configuration resources のリストから、
operator.openshift.io
API グループが含まれる Console リソースをクリックします。この API グループには、Web コンソールのクラスター全体の設定が含まれています。 -
Console plug-ins タブを選択します。
acm
プラグインとmce
プラグインの両方がリストされています。 - テーブルからプラグインのステータスを変更します。しばらくすると、コンソールを更新するように求められます。
注: コンソールを有効または無効にするには、MultiClusterHub の詳細を参照してください。
Red Hat Advanced Cluster Management for Kubernetes コンソールの詳細は、コンソールの概要 を参照してください。
1.4. 仮想マシンアクションの有効化 (テクノロジープレビュー)
Red Hat Advanced Cluster Management for Kubernetes が管理するすべてのクラスターの VirtualMachine
リソースを表示するには、Red Hat OpenShift Virtualization で作成された VirtualMachine
リソースを検索機能を使用してリスト表示し、フィルタリングします。VirtualMachine
リソースの Red Hat Advanced Cluster Management コンソールから次のアクションを有効にすることもできます。
- Start
- Stop
- Restart
- Pause
- Unpause
必要なアクセス権限: クラスターの管理者
1.4.1. 前提条件
ManagedServiceAccount アドオンが有効になっていることを確認する。ManagedServiceAccount アドオン を参照してください。
1.4.2. Red Hat Advanced Cluster Management に対する仮想マシンアクションを有効にする
コンソール config map を更新することで、Red Hat Advanced Cluster Management に対する仮想マシンアクションを有効にできます。以下の手順を実行します。
仮想マシンのアクションを有効にするために Red Hat Advanced Cluster Management コンソール config map を更新するには、次のコマンドを実行します。
oc patch configmap console-mce-config -n multicluster-engine -p '{"data": {"VIRTUAL_MACHINE_ACTIONS": "enabled"}}'
アクションを処理するように Red Hat Advanced Cluster Management を設定するには、マネージドクラスターごとに
ManagedServiceAccount
リソースを作成して設定します。次の YAML ファイルを保存します。apiVersion: authentication.open-cluster-management.io/v1beta1 kind: ManagedServiceAccount metadata: name: vm-actor labels: app: search spec: rotation: {} --- apiVersion: rbac.open-cluster-management.io/v1alpha1 kind: ClusterPermission metadata: name: vm-actions labels: app: search spec: clusterRole: rules: - apiGroups: - subresources.kubevirt.io resources: - virtualmachines/start - virtualmachines/stop - virtualmachines/restart - virtualmachineinstances/pause - virtualmachineinstances/unpause verbs: - update clusterRoleBinding: subject: kind: ServiceAccount name: vm-actor namespace: open-cluster-management-agent-addon
注記: 新しいマネージドクラスターごとにこの手順を繰り返す必要があります。
次のコマンドを実行して、
ManagedServiceAccount
リソースをハブクラスターに適用します。oc apply -n <MANAGED_CLUSTER> -f /path/to/file
Red Hat Advanced Cluster Management に対する仮想マシンのアクションが有効になります。
1.4.3. 仮想マシンのアクションを無効にする
Red Hat Advanced Cluster Management に対して仮想マシンアクションを無効にするには、次のコマンドを実行します。
oc patch configmap console-mce-config -n multicluster-engine -p '{"data": {"VIRTUAL_MACHINE_ACTIONS": "disabled"}}'
Red Hat Advanced Cluster Management に対する仮想マシンアクションが無効になります。
1.4.4. ManagedServiceAccounts および ClusterPermissions リソースの削除
仮想マシンアクションを使用する ManagedServiceAccounts
および ClusterPermissions
リソースを削除するには、次の手順を実行します。
リソースを削除するには、次のコマンドを実行します。
oc delete managedserviceaccount,clusterpermission -A -l app=search
次の出力が表示される場合があります。
managedserviceaccount.authentication.open-cluster-management.io "vm-actor" deleted managedserviceaccount.authentication.open-cluster-management.io "vm-actor" deleted clusterpermission.rbac.open-cluster-management.io "vm-actions" deleted clusterpermission.rbac.open-cluster-management.io "vm-actions" deleted
クリーンアップが完了したことを確認するには、次のコマンドを実行します。
oc get managedserviceaccount,clusterpermission -A -l app=search
リソースが正常に削除されると、次のメッセージが表示されます。
"No resources found"
ManagedServiceAccounts
および ClusterPermissions
リソースが削除されました。