1.8. Discovery サービスの概要
OpenShift Cluster Manager で利用可能な OpenShift 4 クラスターを検出できます。検出後に、クラスターをインポートして管理できます。Discovery サービスは、バックエンドおよびコンソールでの用途に Discover Operator を使用します。
OpenShift Cluster Manager 認証情報が必要になります。認証情報を作成する必要がある場合は、Red Hat OpenShift Cluster Manager の認証情報の作成 を参照してください。
必要なアクセス権限: 管理者
1.8.1. コンソールでの Discovery の設定
コンソールで Discovery を設定してクラスターを検索します。クラスターで Discovery 機能を設定する場合、組織内のクラスターの検出を開始するために、DiscoveryConfig
リソースを有効にして OpenShift Cluster Manager に接続する必要があります。個別の認証情報を使用して複数の DiscoveryConfig
リソースを作成できます。
クラスターの検出後に、コンソールの Discovered clusters に表示されるクラスターをインポートできます。製品のコンソールを使用して検出を有効にします。
必要なアクセス権: 認証情報が作成された namespace へのアクセス権。
1.8.1.1. 前提条件
- 認証情報が必要です。OpenShift Cluster Manager に接続するには、Red Hat OpenShift Cluster Manager の認証情報の作成 を参照してください。
- 検出の設定に使用した namespace へのアクセス権が必要である。
1.8.1.2. 検出されたクラスターのコンソールからのインポート
他のインフラストラクチャープロバイダーによって検出されたクラスターを手動でインポートするには、次の手順を実行します。
- 既存の Clusters ページに移動し、Discovered clusters タブをクリックします。
- Discovered clusters の表から、インポートするクラスターを見つけます。
- オプションメニューから Import cluster を選択します。
- 検出クラスターの場合は、このドキュメントを使用して手動でインポートしたり、Import cluster を自動的に選択したりできます。
- 認証情報または Kubeconfig ファイルを使用して自動でインポートするには、コンテンツをコピーして貼り付けます。
- Import をクリックします。
1.8.1.3. 検出されたクラスターの表示
認証情報を設定してインポートするクラスターを検出した後に、コンソールで表示できます。
- Clusters > Discovered clustersの順にクリックします。
以下の情報が投入された表を確認してください。
- name は、OpenShift Cluster Manager で指定された表示名です。クラスターに表示名がない場合は、クラスターコンソール URL をもとに生成された名前が表示されます。OpenShift Cluster Manager でコンソール URL がない場合や手動で変更された場合には、クラスターの外部 ID が表示されます。
- Namespace は、認証情報および検出クラスターを作成した namespace です。
- type は検出されたクラスターの Red Hat OpenShift タイプです。
- Distribution version は、検出されたクラスターの Red Hat OpenShift バージョンです。
- Infrastructure provider は検出されたクラスターのクラウドプロバイダーです。
- Last active は、検出されたクラスターが最後にアクティブであった時間です。
- Created は検出クラスターが作成された時間です。
- Discovered は検出クラスターが検出された時間です。
- 表の中にある情報はどれでも検索できます。たとえば、特定の namespace で Discovered clusters のみを表示するには、その namespace を検索します。
- Import cluster をクリックすると、マネージドクラスターを作成できます。
1.8.2. CLI を使用した検出の有効化
CLI を使用して検出を有効にし、Red Hat OpenShift Cluster Manager が入手できるクラスターを見つけます。
必要なアクセス権限: 管理者
1.8.2.1. 前提条件
- Red Hat OpenShift Cluster Manager に接続するための認証情報を作成している。
1.8.2.2. 検出の設定とプロセス
注記: DiscoveryConfig
は discovery
という名前に指定し、選択した credential
と同じ namespace に作成する必要があります。以下の DiscoveryConfig
のサンプルを参照してください。
apiVersion: discovery.open-cluster-management.io/v1 kind: DiscoveryConfig metadata: name: discovery namespace: <NAMESPACE_NAME> spec: credential: <SECRET_NAME> filters: lastActive: 7 openshiftVersions: - "4.15"
-
SECRET_NAME
は、以前に設定した認証情報に置き換えます。 -
NAMESPACE_NAME
はSECRET_NAME
の namespace に置き換えます。 -
クラスターの最後のアクティビティー (日数) からの最大時間を入力します。たとえば、
lastActive: 7
では、過去 7 日間にアクティブなクラスターが検出されます。 -
Red Hat OpenShift クラスターのバージョンを入力して、文字列の一覧として検出します。注記:
openshiftVersions
一覧に含まれるエントリーはすべて、OpenShift のメジャーバージョンとマイナーバージョンを指定します。たとえば、"4.11"
には OpenShift バージョン4.11
のすべてのパッチリリース (4.11.1
、4.11.2
など) が含まれます。
1.8.2.3. 検出されたクラスターの表示
検出されたクラスターを表示するには、oc get discoveredclusters -n <namespace>
を実行して、namespace
は検出認証情報が存在する namespace に置き換えます。
1.8.2.3.1. DiscoveredClusters
オブジェクトは Discovery コントローラーにより作成されます。このような DiscoveredClusters
は、DiscoveryConfig
discoveredclusters.discovery.open-cluster-management.io
API で指定したフィルターと認証情報を使用して OpenShift Cluster Manager で検出されたクラスターを表します。name
の値はクラスターの外部 ID です。
apiVersion: discovery.open-cluster-management.io/v1 kind: DiscoveredCluster metadata: name: fd51aafa-95a8-41f7-a992-6fb95eed3c8e namespace: <NAMESPACE_NAME> spec: activity_timestamp: "2021-04-19T21:06:14Z" cloudProvider: vsphere console: https://console-openshift-console.apps.qe1-vmware-pkt.dev02.red-chesterfield.com creation_timestamp: "2021-04-19T16:29:53Z" credential: apiVersion: v1 kind: Secret name: <SECRET_NAME> namespace: <NAMESPACE_NAME> display_name: qe1-vmware-pkt.dev02.red-chesterfield.com name: fd51aafa-95a8-41f7-a992-6fb95eed3c8e openshiftVersion: 4.15 status: Stale
1.8.3. 検出されたクラスターを管理のために有効にする
Discovery-Operator
を使用して、個々のクラスターを手動でインポートすることなく、サポートされているクラスターをハブクラスターに自動的にインポートし、クラスター管理を迅速化します。
必要なアクセス権限: クラスターの管理者
1.8.3.1. 前提条件
- Discovery がデフォルトで有効になっている。デフォルト設定を変更した場合は、Discovery を有効にする必要があります。
- OpenShift Service on AWS コマンドラインインターフェイスを設定している。OpenShift Service on AWS CLI スタートガイド を参照してください。
1.8.3.2. 検出された OpenShift Service on AWS および Hosted Control Plane クラスターを自動的にインポートする
以下の手順は、Discovery-Operator
を使用して、検出された OpenShift Service on AWS および Hosted Control Plane クラスターに自動的にインポートする方法の例です。
1.8.3.2.1. コンソールからのインポート
DiscoveredCluster
リソースを自動的にインポートするには、コンソールでリソースを変更し、importAsManagedCluster
フィールドを true
に設定する必要があります。以下の手順を参照してください。
- コンソールからハブクラスターにログインします。
- ナビゲーションメニューから Search を選択します。
- 検索バーにクエリー "DiscoveredCluster" を入力します。
-
DiscoveredCluster
リソースの結果が表示されます。 DiscoveredCluster
リソースに移動し、importAsManagedCluster
をtrue
に設定します。次の例を参照してください。importAsManagedCluster
はtrue
に設定し、<4.x.z>
はサポートされている OpenShift Container Platform のバージョンに設定します。apiVersion: discovery.open-cluster-management.io/v1 kind: DiscoveredCluster metadata: name: 28c17977-fc73-4050-b5cc-a5aa2d1d6892 namespace: discovery spec: openshiftVersion: <4.x.z> isManagedCluster: false cloudProvider: aws name: 28c17977-fc73-4050-b5cc-a5aa2d1d6892 displayName: rosa-dc status: Active importAsManagedCluster: true 1 type: <supported-type> 2
-
DiscoveredCluster
リソースがインポートされていることを確認するために、Clusters ページに移動します。Cluster list タブからクラスターのインポートステータスを確認します。 自動再インポートを防ぐために、Discovery のマネージドクラスターをデタッチする場合は、Detach cluster オプションを選択します。
Discovery-Operator
によって、アノテーションdiscovery.open-cluster-management.io/previously-auto-imported: 'true'
が追加されます。DiscoveredCluster
リソースは、次の YAML のようになります。apiVersion: discovery.open-cluster-management.io/v1 kind: DiscoveredCluster metadata: annotations: discovery.open-cluster-management.io/previously-auto-imported: 'true'
DiscoveredCluster
リソースが自動的に再インポートされないことを確認するために、Discovery-Operator
ログで次のメッセージを確認します。"rosa-dc"
は、検出されたクラスターです。2024-06-12T14:11:43.366Z INFO reconcile Skipped automatic import for DiscoveredCluster due to existing 'discovery.open-cluster-management.io/previously-auto-imported' annotation {"Name": "rosa-dc"}
-
DiscoveredCluster
リソースを自動的に再インポートする場合は、前述のアノテーションを削除する必要があります。
1.8.3.2.2. コマンドラインインターフェイスからのインポート
コマンドラインから DiscoveredCluster
リソースを自動的にインポートするには、次の手順を実行します。
DiscoveredCluster
リソースを自動的にインポートするには、ログイン後に次のコマンドを使用してimportAsManagedCluster
パラメーターをtrue
に設定します。<name>
と<namespace>
は、実際の名前と namespace に置き換えます。oc patch discoveredcluster <name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/spec/importAsManagedCluster", "value": true}]'
次のコマンドを実行して、クラスターがマネージドクラスターとしてインポートされたことを確認します。
oc get managedcluster <name>
OpenShift Service on AWS クラスター ID の説明を取得するには、OpenShift Service on AWS コマンドラインインターフェイスから以下のコマンドを実行します。
rosa describe cluster --cluster=<cluster-name> | grep -o '^ID:.*
他の Kubernetes プロバイダーの場合は、そのインフラストラクチャープロバイダーの DiscoveredCluster
リソースを手動でインポートする必要があります。Kubernetes 設定を、他のタイプの DiscoveredCluster
リソースに直接適用してください。DiscoveredCluster
リソースから importAsManagedCluster
フィールドを有効にしても、Discovery Webhook が原因でリソースがインポートされません。
1.8.3.3. 関連情報
- Discovery サービスの概要 を参照してください。