4.7.2.4. 패키지 매니페스트 형식 카탈로그 이미지 테스트
Operator 카탈로그 이미지 콘텐츠를 컨테이너로 실행하고 gRPC API를 쿼리하여 검증할 수 있습니다. 그런 다음 이미지를 추가로 테스트하려면 카탈로그 소스의 이미지를 참조하여 OLM(Operator Lifecycle Manager)에서 서브스크립션을 확인할 수 있습니다. 이 예의 절차에서는 이전에 빌드되어 지원되는 레지스트리로 푸시된 사용자 정의 redhat-operators
카탈로그 이미지를 사용합니다.
사전 요구 사항
- 지원되는 레지스트리에 내보낸 사용자 정의 패키지 매니페스트 형식 카탈로그 이미지
-
podman
버전 1.9.3+ -
oc
버전 4.3.5+ Docker v2-2를 지원하는 미러 레지스트리에 액세스
중요OpenShift Container Platform 클러스터의 내부 레지스트리는 미러링 프로세스 중에 필요한 태그 없이 푸시를 지원하지 않으므로 대상 레지스트리로 사용할 수 없습니다.
-
grpcurl
프로세스
Operator 카탈로그 이미지를 가져옵니다.
$ podman pull <registry_host_name>:<port>/olm/redhat-operators:v1
이미지를 실행합니다.
$ podman run -p 50051:50051 \ -it <registry_host_name>:<port>/olm/redhat-operators:v1
grpcurl
을 사용하여 사용 가능한 패키지에 대해 실행 중인 이미지를 쿼리합니다.$ grpcurl -plaintext localhost:50051 api.Registry/ListPackages
출력 예
{ "name": "3scale-operator" } { "name": "amq-broker" } { "name": "amq-online" }
채널에서 최신 Operator 번들을 가져옵니다.
$ grpcurl -plaintext -d '{"pkgName":"kiali-ossm","channelName":"stable"}' localhost:50051 api.Registry/GetBundleForChannel
출력 예
{ "csvName": "kiali-operator.v1.0.7", "packageName": "kiali-ossm", "channelName": "stable", ...
이미지의 다이제스트를 가져옵니다.
$ podman inspect \ --format='{{index .RepoDigests 0}}' \ <registry_host_name>:<port>/olm/redhat-operators:v1
출력 예
example_registry:5000/olm/redhat-operators@sha256:f73d42950021f9240389f99ddc5b0c7f1b533c054ba344654ff1edaf6bf827e3
Operator 및 해당 종속성을 지원하는 네임스페이스
my-ns
에 Operator group이 있다고 가정하고 이미지 다이제스트를 사용하여CatalogSource
오브젝트를 생성합니다. 예를 들면 다음과 같습니다.apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: custom-redhat-operators namespace: my-ns spec: sourceType: grpc image: example_registry:5000/olm/redhat-operators@sha256:f73d42950021f9240389f99ddc5b0c7f1b533c054ba344654ff1edaf6bf827e3 displayName: Red Hat Operators
카탈로그 이미지에서 사용 가능한 최신
servicemeshoperator
및 해당 종속성을 확인하는 서브스크립션을 생성합니다.apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: servicemeshoperator namespace: my-ns spec: source: custom-redhat-operators sourceNamespace: my-ns name: servicemeshoperator channel: "1.0"