1.8. Discovery サービス
OpenShift Cluster Manager で利用可能な OpenShift Container Platform クラスターを検出できます。検出後に、クラスターをインポートして管理できます。Discovery サービスは、バックエンドおよびコンソールでの用途に Discover Operator を使用します。
前提条件
OpenShift Cluster Manager 認証情報が必要になります。認証情報を作成する必要がある場合は、OpenShift Cluster Manager の認証情報の作成 を参照してください。
必要なアクセス権限: 管理者
1.8.1. サービスアカウントの認証 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Cluster Manager で利用可能な OpenShift Container Platform クラスターを検出するには、サービスアカウントで認証する必要があります。OpenShift Cluster Manager のオフライントークンは非推奨であることに注意してください。
前提条件
- OpenShift Cluster Manager 認証情報が必要になります。認証情報を作成する必要がある場合は、OpenShift Cluster Manager の認証情報の作成 を参照してください。
- サービスアカウントで OpenShift Cluster Manager サービスアカウントの作成について説明します。https://docs.redhat.com/en/documentation/red_hat_hybrid_cloud_console/1-latest/html/creating_and_managing_service_accounts/con-ciam-svc-acct-intro-creating-service-acct
1.8.1.1. 認証 リンクのコピーリンクがクリップボードにコピーされました!
サービスアカウントで認証するには、以下の手順を参照してください。
-
マルチクラスターエンジン Operator コンソールで、新しい認証情報シークレットを service-account
client-id
およびclient-secret
ペアとして作成します。 -
マルチクラスターエンジン Operator Discovery サービスが正しく認証され、クラスターを検出できるように、サービスアカウントの
client-id
とclient-secret
ペアを指定します。 -
マネージドクラスターとしてインポートする OpenShift Service on AWS
DiscoveredCluster
リソースを設定します。開始される OpenShift Service on AWS インポートフローは、サービスアカウントの認証情報を使用してクラスターを認証し、これをインポートします。
ロール | アクセス権限 |
---|---|
OpenShift Cluster Manager Cluster Autoscaler エディター | クラスターオートスケーラーでの更新操作の実行 |
OpenShift Cluster Manager クラスターエディター | クラスターでの更新操作の実行 |
OpenShift Cluster Manager クラスタープロビジョナー | クラスターでのプロビジョニング操作の実行 |
OpenShift Cluster Manager クラスタービューアー | クラスターでの読み取り操作の実行 |
OpenShift Cluster Manager IdP エディター | IdP で更新操作を実行する |
OpenShift Cluster Manager マシンプールエディター | マシンプールでの更新操作の実行 |
OpenShift Cluster Manager 組織管理者 | 関連付けられた組織のクラスターで利用可能なすべての操作を実行します。 |
Subscriptions viewer | Subscriptions リソースで読み取り操作を実行します。 |
1.8.2. コンソールでの Discovery の設定 リンクのコピーリンクがクリップボードにコピーされました!
コンソールで Discovery を設定してクラスターを検索します。クラスターで Discovery 機能を設定する場合、組織内のクラスターの検出を開始するために、DiscoveryConfig
リソースを有効にして OpenShift Cluster Manager に接続する必要があります。個別の認証情報を使用して複数の DiscoveryConfig
リソースを作成できます。
クラスターの検出後に、コンソールの Discovered clusters に表示されるクラスターをインポートできます。製品のコンソールを使用して検出を有効にします。
必要なアクセス権: 認証情報が作成された namespace へのアクセス権。
前提条件
- 認証情報が必要です。OpenShift Cluster Manager に接続するには、OpenShift Cluster Manager の認証情報の作成 を参照してください。
- 検出の設定に使用した namespace へのアクセス権が必要である。
1.8.2.1. 検出されたクラスターのコンソールからのインポート リンクのコピーリンクがクリップボードにコピーされました!
他のインフラストラクチャープロバイダーによって検出されたクラスターを手動でインポートするには、次の手順を実行します。
- 既存の Clusters ページに移動し、Discovered clusters タブをクリックします。
- Discovered clusters の表から、インポートするクラスターを見つけます。
- オプションメニューから Import cluster を選択します。
- 検出クラスターの場合は、このドキュメントを使用して手動でインポートしたり、Import cluster を自動的に選択したりできます。
- 認証情報または Kubeconfig ファイルを使用して自動でインポートするには、コンテンツをコピーして貼り付けます。
- Import をクリックします。
1.8.2.2. 検出されたクラスターの表示 リンクのコピーリンクがクリップボードにコピーされました!
認証情報を設定してインポートするクラスターを検出した後に、コンソールで表示できます。
- 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.3. CLI を使用した検出の有効化 リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用して検出を有効にし、OpenShift Cluster Manager で利用可能なクラスターを見つけます。
必要なアクセス権限: 管理者
前提条件
- OpenShift Cluster Manager に接続するための認証情報を作成している。
1.8.3.1. 検出の設定とプロセス リンクのコピーリンクがクリップボードにコピーされました!
注記: DiscoveryConfig
は discovery
という名前に指定し、選択した credential
と同じ namespace に作成する必要があります。以下の DiscoveryConfig
のサンプルを参照してください。
-
SECRET_NAME
は、以前に設定した認証情報に置き換えます。 -
NAMESPACE_NAME
はSECRET_NAME
の namespace に置き換えます。 -
クラスターの最後のアクティビティー (日数) からの最大時間を入力します。たとえば、
lastActive: 7
では、過去 7 日間にアクティブなクラスターが検出されます。 -
検出する OpenShift Container Platform クラスターのバージョンを文字列のリスト形式で入力します。注記:
openshiftVersions
一覧に含まれるエントリーはすべて、メジャーバージョンとマイナーバージョンを指定します。たとえば、4.x には OpenShift Container Platform バージョン 4
ます(例:.
x のすべてのエラータリリースが含まれ4.x.1
,4.x.2
)。
1.8.3.2. 検出されたクラスターの表示 リンクのコピーリンクがクリップボードにコピーされました!
検出されたクラスターを表示するには、oc get discoveredclusters -n <namespace>
を実行して、namespace
は検出認証情報が存在する namespace に置き換えます。
オブジェクトは Discovery コントローラーにより作成されます。このような DiscoveredClusters
は、DiscoveryConfig
discoveredclusters.discovery.open-cluster-management.io
API で指定したフィルターと認証情報を使用して OpenShift Cluster Manager で検出されたクラスターを表します。name
の値はクラスターの外部 ID です。
1.8.4. 検出されたクラスターを管理のために有効にする リンクのコピーリンクがクリップボードにコピーされました!
Discovery-Operator
を使用して、個々のクラスターを手動でインポートすることなく、サポートされているクラスターをハブクラスターに自動的にインポートし、クラスター管理を迅速化します。
必要なアクセス権: クラスター管理者
前提条件
- Discovery がデフォルトで有効になっている。デフォルト設定を変更した場合は、Discovery を有効にする必要があります。
- OpenShift Service on AWS コマンドラインインターフェイスを設定する。OpenShift Service on AWS CLI スタートガイド を参照してください。
1.8.4.1. 検出された OpenShift Service on AWS および Hosted Control Plane クラスターを自動的にインポートする リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、Discovery-Operator
を使用して、検出された OpenShift Service on AWS および Hosted Control Plane クラスターに自動的にインポートする方法の例です。コンソールまたはコマンドラインインターフェイスからインポートできます。
コンソールからインポートします。コンソールでリソースを変更し、
importAsManagedCluster
フィールドをtrue
に設定する必要があります。- コンソールからハブクラスターにログインします。
- ナビゲーションメニューから Search を選択します。
- 検索バーにクエリー "DiscoveredCluster" を入力します。
-
DiscoveredCluster
リソースの結果が表示されます。 DiscoveredCluster
リソースに移動し、importAsManagedCluster
をtrue
に設定します。次の例を参照してください。importAsManagedCluster
はtrue
に設定し、<4.x.z>
はサポートされている OpenShift Container Platform のバージョンに設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
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'
apiVersion: discovery.open-cluster-management.io/v1 kind: DiscoveredCluster metadata: annotations: discovery.open-cluster-management.io/previously-auto-imported: 'true'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
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"}
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"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
DiscoveredCluster
リソースを自動的に再インポートする場合は、前述のアノテーションを削除する必要があります。
コマンドラインインターフェイスからのインポート。
コマンドラインインターフェイスから
DiscoveredCluster
リソースを自動的にインポートするには、以下を実行します。ログイン後に次のコマンドを使用して、importAsManagedCluster
パラメーターをtrue
に設定します。<name>
と<namespace>
は、実際の名前と namespace に置き換えます。oc patch discoveredcluster <name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/spec/importAsManagedCluster", "value": true}]'
oc patch discoveredcluster <name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/spec/importAsManagedCluster", "value": true}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、クラスターがマネージドクラスターとしてインポートされたことを確認します。
oc get managedcluster <name>
oc get managedcluster <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenShift Service on AWS クラスター ID の詳細を取得するために、OpenShift Service on AWS コマンドラインインターフェイスから次のコマンドを実行します。
rosa describe cluster --cluster=<cluster-name> | grep -o ^ID:.*
rosa describe cluster --cluster=<cluster-name> | grep -o ^ID:.*
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重要: 他の Kubernetes プロバイダーの場合、これらのインフラストラクチャープロバイダー DiscoveredCluster
リソースを手動でインポートする必要があります。Kubernetes 設定を、他のタイプの DiscoveredCluster
リソースに直接適用してください。DiscoveredCluster
リソースから importAsManagedCluster
フィールドを有効にしても、Discovery Webhook が原因でリソースがインポートされません。