5.4. 클러스터에 카탈로그 소스 추가
OpenShift Container Platform 클러스터에 카탈로그 소스를 추가하면 사용자를 위한 Operator를 검색하고 설치할 수 있습니다. 클러스터 관리자는 인덱스 이미지를 참조하는 CatalogSource 오브젝트를 생성할 수 있습니다. OperatorHub는 카탈로그 소스를 사용하여 사용자 인터페이스를 채웁니다.
또는 웹 콘솔을 사용하여 카탈로그 소스를 관리할 수 있습니다. 관리
사전 요구 사항
- 인덱스 이미지를 빌드하여 레지스트리에 푸시했습니다.
-
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
인덱스 이미지를 참조하는
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
legacy또는restricted의 값을 지정합니다. 필드가 설정되지 않으면 기본값은legacy입니다. 향후 OpenShift Container Platform 릴리스에서는 기본값이제한될 예정입니다. 카탈로그를제한된권한으로 실행할 수 없는 경우 이 필드를 수동으로레거시로 설정하는 것이 좋습니다.- 4
- 인덱스 이미지를 지정합니다. 이미지 이름 뒤에 태그를 지정하면(예
: :v4.19), 카탈로그 소스 포드는Always이미지 풀 정책을 사용합니다. 즉, 포드가 항상 컨테이너를 시작하기 전에 이미지를 풀링합니다. 예를 들어@sha256:<id>와 같이 다이제스트를 지정하면 이미지 풀 정책은IfNotPresent 가됩니다. 즉, 포드는 노드에 이미지가 아직 없는 경우에만 이미지를 풀합니다. - 5
- 카탈로그를 게시하는 이름 또는 조직 이름을 지정합니다.
- 6
- 카탈로그 소스는 새 버전을 자동으로 확인하여 최신 상태를 유지할 수 있습니다.
파일을 사용하여
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를 설치할 수 있습니다.