This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.9.5. 미러링된 Operator 카탈로그에서 OperatorHub 채우기
연결이 끊긴 클러스터에 사용하기 위해 Operator 카탈로그를 미러링한 경우 미러링된 카탈로그에서 Operator로 OperatorHub를 채울 수 있습니다. 미러링 프로세스에서 생성된 매니페스트를 사용하여 필요한 ImageContentSourcePolicy 및 CatalogSource 오브젝트를 생성할 수 있습니다.
9.5.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
9.5.2. ImageContentSourcePolicy 오브젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
Operator 카탈로그 콘텐츠를 미러 레지스트리에 미러링한 후 필요한 ImageContentSourcePolicy (ICSP) 오브젝트를 생성합니다. ICSP 오브젝트는 Operator 매니페스트에 저장된 이미지 참조와 미러링된 레지스트리 간에 변환하도록 노드를 구성합니다.
프로세스
연결이 끊긴 클러스터에 액세스할 수 있는 호스트에서 매니페스트 디렉터리에
imageContentSourcePolicy.yaml파일을 지정하도록 다음 명령을 실행하여 ICSP를 생성합니다.oc create -f <path/to/manifests/dir>/imageContentSourcePolicy.yaml
$ oc create -f <path/to/manifests/dir>/imageContentSourcePolicy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
<path/to/manifests/dir>은 미러링된 콘텐츠의 매니페스트 디렉터리 경로입니다.이제 미러링된 인덱스 이미지 및 Operator 콘텐츠를 참조하도록
CatalogSource오브젝트를 생성할 수 있습니다.
9.5.3. 클러스터에 카탈로그 소스 추가 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터에 카탈로그 소스를 추가하면 사용자를 위한 Operator를 검색하고 설치할 수 있습니다. 클러스터 관리자는 인덱스 이미지를 참조하는 CatalogSource 오브젝트를 생성할 수 있습니다. OperatorHub는 카탈로그 소스를 사용하여 사용자 인터페이스를 채웁니다.
사전 요구 사항
- 인덱스 이미지를 빌드하여 레지스트리로 내보냈습니다.
프로세스
인덱스 이미지를 참조하는
CatalogSource오브젝트를 생성합니다.oc adm catalog mirror명령을 사용하여 카탈로그를 대상 레지스트리에 미러링한 경우 매니페스트 디렉터리에서 생성된catalogSource.yaml파일을 시작점으로 사용할 수 있습니다.다음을 사양에 맞게 수정하고
catalogsource.yaml파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 레지스트리에 업로드하기 전에 콘텐츠를 로컬 파일에 미러링한 경우 오브젝트를 생성할 때 "잘못된 리소스 이름" 오류가 발생하지 않도록
metadata.name필드에서 백슬래시(/) 문자를 제거합니다. - 2
- 카탈로그 소스를 모든 네임스페이스의 사용자가 전역적으로 사용할 수 있도록 하려면
openshift-marketplace네임스페이스를 지정합니다. 그러지 않으면 카탈로그의 범위가 지정되고 해당 네임스페이스에 대해서만 사용할 수 있도록 다른 네임스페이스를 지정할 수 있습니다. - 3
- 인덱스 이미지를 지정합니다. 이미지 이름(예:
:v4.10) 뒤에 태그를 지정하면 카탈로그 소스 Pod는Always라는 이미지 가져오기 정책을 사용합니다. 즉, Pod는 컨테이너를 시작하기 전에 항상 이미지를 가져옵니다. 다이제스트(예:@sha256:<id>)를 지정하는 경우 이미지 가져오기 정책은IfNotPresent입니다. 즉, 노드에 아직 존재하지 않는 경우에만 Pod에서 이미지를 가져옵니다. - 4
- 카탈로그를 게시하는 이름 또는 조직 이름을 지정합니다.
- 5
- 카탈로그 소스는 새 버전을 자동으로 확인하여 최신 상태를 유지할 수 있습니다.
파일을 사용하여
CatalogSource오브젝트를 생성합니다.oc apply -f catalogSource.yaml
$ oc apply -f catalogSource.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 리소스가 성공적으로 생성되었는지 확인합니다.
Pod를 확인합니다.
oc get pods -n openshift-marketplace
$ oc get pods -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE my-operator-catalog-6njx6 1/1 Running 0 28s marketplace-operator-d9f549946-96sgr 1/1 Running 0 26h
NAME READY STATUS RESTARTS AGE my-operator-catalog-6njx6 1/1 Running 0 28s marketplace-operator-d9f549946-96sgr 1/1 Running 0 26hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 카탈로그 소스를 확인합니다.
oc get catalogsource -n openshift-marketplace
$ oc get catalogsource -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DISPLAY TYPE PUBLISHER AGE my-operator-catalog My Operator Catalog grpc 5s
NAME DISPLAY TYPE PUBLISHER AGE my-operator-catalog My Operator Catalog grpc 5sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 패키지 매니페스트 확인합니다.
oc get packagemanifest -n openshift-marketplace
$ oc get packagemanifest -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CATALOG AGE jaeger-product My Operator Catalog 93s
NAME CATALOG AGE jaeger-product My Operator Catalog 93sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 OpenShift Container Platform 웹 콘솔의 OperatorHub 페이지에서 Operator를 설치할 수 있습니다.