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 サービスアカウントの作成については、サービスアカウント を参照してください。
1.8.1.1. 認証 リンクのコピーリンクがクリップボードにコピーされました!
サービスアカウントで認証するには、次の手順を参照してください。
-
multicluster engine Operator コンソールで、サービスアカウントの
クライアント IDとクライアントシークレットのペアとして新しい認証情報シークレットを作成します。 -
multicluster engine Operator Discovery サービスが正しく認証を行い、クラスターを検出できるように、サービスアカウントの
クライアント IDとクライアントシークレットのペアを指定します。 -
管理対象クラスターとしてインポートするために、OpenShift Service on AWS
DiscoveredClusterリソースを設定します。開始される OpenShift Service on AWS インポートフローは、サービスアカウントの認証情報を使用してクラスターを認証およびインポートします。
| ロール | アクセス権限 |
|---|---|
| OpenShift Cluster Manager cluster autoscaler editor | クラスターオートスケーラーで更新操作を実行します。 |
| OpenShift Cluster Manager cluster editor | クラスターに対して更新操作を実行します。 |
| OpenShift Cluster Manager cluster provisioner | クラスターに対してプロビジョニング操作を実行します。 |
| OpenShift Cluster Manager cluster viewer | クラスターで読み取り操作を実行します。 |
| OpenShift Cluster Manager IdP editor | IdP で更新操作を実行します。 |
| OpenShift Cluster Manager machine pool editor | マシンプールに対して更新操作を実行します。 |
| OpenShift Cluster Manager organization administrator | 関連する組織のクラスターで利用可能なすべての操作を実行します。 |
| 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 を使用した Discovery の有効化 リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用して Discovery を有効にし、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を指定すると、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 が原因でリソースがインポートされません。