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 탭에 표시되는 클러스터를 가져올 수 있습니다. 제품 콘솔을 사용하여 Discovery를 활성화합니다.
필수 액세스: 인증 정보가 생성된 네임스페이스에 대한 액세스입니다.
1.8.1.1. 사전 요구 사항
- 인증 정보가 필요합니다. OpenShift Cluster Manager 에 연결할 Red Hat OpenShift Cluster Manager의 인증 정보 생성 을 참조하십시오.
- Discovery를 구성하는 데 사용된 네임스페이스에 대한 액세스 권한이 필요합니다.
1.8.1.2. 콘솔에서 검색된 클러스터 가져오기
다른 인프라 공급자에서 검색된 클러스터를 수동으로 가져오려면 다음 단계를 완료합니다.
- 기존 클러스터 페이지로 이동하여 Discovered clusters 탭을 클릭합니다.
- Discovered clusters 테이블에서 가져올 클러스터를 찾습니다.
- 옵션 메뉴에서 클러스터 가져오기 를 선택합니다.
- 검색된 클러스터의 경우 문서를 사용하여 수동으로 가져오거나 클러스터 가져오기를 자동으로 선택할 수 있습니다.
- 인증 정보 또는 Kubeconfig 파일을 사용하여 자동으로 가져오려면 콘텐츠를 복사하여 붙여넣습니다.
- 가져오기 를 클릭합니다.
1.8.1.3. 검색된 클러스터 보기
인증 정보를 설정하고 가져올 클러스터를 검색한 후 콘솔에서 해당 정보를 볼 수 있습니다.
- Clusters > Discovered Cluster를 클릭합니다.
다음 정보로 채워진 테이블을 확인합니다.
- name 은 OpenShift Cluster Manager에 지정된 표시 이름입니다. 클러스터에 표시 이름이 없으면 클러스터 콘솔 URL을 기반으로 생성된 이름이 표시됩니다. OpenShift Cluster Manager에서 콘솔 URL이 없거나 수동으로 수정된 경우 클러스터 외부 ID가 표시됩니다.
- 네임스페이스 는 인증 정보 및 검색된 클러스터를 생성한 네임스페이스입니다.
- type 은 검색된 클러스터 Red Hat OpenShift 유형입니다.
- 배포 버전은 검색된 클러스터 Red Hat OpenShift 버전입니다.
- 인프라 공급자는 검색된 클러스터의 클라우드 공급자입니다.
- 마지막 활성 은 검색된 클러스터가 마지막으로 활성화된 시간입니다.
- 검색된 클러스터가 생성 될 때 생성됩니다.
- 검색된 클러스터가 검색된 시기를 검색합니다.
- 또한 표에서 모든 정보를 검색할 수 있습니다. 예를 들어 특정 네임스페이스에 있는 Discovered 클러스터 만 표시하려면 해당 네임스페이스를 검색합니다.
- 이제 클러스터 가져오기를 클릭하여 관리 클러스터를 생성할 수 있습니다.
1.8.2. CLI를 사용하여 Discovery 활성화
CLI를 사용하여 검색을 활성화하여 Red Hat OpenShift Cluster Manager에서 사용할 수 있는 클러스터를 찾습니다.
필요한 액세스: 관리자
1.8.2.1. 사전 요구 사항
- Red Hat OpenShift Cluster Manager에 연결할 인증 정보를 생성합니다.
1.8.2.2. 검색 설정 및 프로세스
참고: DiscoveryConfig
라는 이름은 discovery
이고 선택한 인증
정보와 동일한 네임스페이스에서 생성해야 합니다. 다음 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
의 네임스페이스로 바꿉니다. -
검색할 클러스터의 마지막 활동 이후 최대 시간을 입력합니다. 예를 들어
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
는 검색 인증 정보가 존재하는 네임스페이스입니다.
1.8.2.3.1. DiscoveredClusters
오브젝트는 검색 컨트롤러에서 생성합니다. 이러한 DiscoveredClusters
는 DiscoveryConfig
검색된clusters.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를 활성화해야 합니다.
- AWS 명령줄 인터페이스에서 OpenShift 서비스를 설정해야 합니다. AWS CLI에서 OpenShift 서비스 시작하기 설명서를 참조하십시오.
1.8.3.2. AWS에서 검색된 OpenShift Service 및 호스팅된 컨트롤 플레인 클러스터 자동 가져오기
다음 절차는 Discovery-Operator
를 사용하여 AWS 및 호스팅된 컨트롤 플레인 클러스터에서 검색된 OpenShift 서비스를 자동으로 가져오는 방법의 예입니다.
1.8.3.2.1. 콘솔에서 가져오기
DiscoveredCluster
리소스를 자동으로 가져오려면 리소스를 수정하고 콘솔에서 importAsManagedCluster
필드를 true
로 설정해야 합니다. 다음 절차를 참조하십시오.
- 콘솔에서 hub 클러스터에 로그인합니다.
- 탐색 메뉴에서 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
리소스를 가져오려면 클러스터 페이지로 이동합니다. 클러스터 목록 탭에서 클러스터 가져오기 상태를 확인합니다. 자동 다시 가져오기를 방지하기 위해 Discovery의 관리 클러스터를 분리하려면 Detach 클러스터 옵션을 선택합니다.
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
paramater를true
로 설정합니다. <name>
; 및 <namespace
>를 사용자 이름과 네임스페이스로 바꿉니다.oc patch discoveredcluster <name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/spec/importAsManagedCluster", "value": true}]'
다음 명령을 실행하여 클러스터를 관리 클러스터로 가져왔는지 확인합니다.
oc get managedcluster <name>
AWS 클러스터 ID의 OpenShift 서비스에 대한 설명을 보려면 AWS 명령줄 인터페이스의 OpenShift 서비스에서 다음 명령을 실행합니다.
rosa describe cluster --cluster=<cluster-name> | grep -o '^ID:.*
다른 Kubernetes 공급자의 경우 이러한 인프라 공급자 DiscoveredCluster
리소스를 수동으로 가져와야 합니다. Kubernetes 구성을 다른 유형의 DiscoveredCluster
리소스에 직접 적용합니다. DiscoveredCluster
리소스에서 importAsManagedCluster
필드를 활성화하면 Discovery webhook로 인해 가져오지 않습니다.
1.8.3.3. 추가 리소스
- Discovery service introduction 을 참조하십시오.