3.8.5. Operator カタログイメージのテスト
Operator カタログイメージのコンテンツは、これをコンテナーとして実行し、gRPC API をクエリーして検証できます。イメージをさらにテストするには、CatalogSource オブジェクトでイメージを参照して OLM サブスクリプションを解決できます。この例では、以前にビルドされ、サポートされているレジストリーにプッシュされたカスタム redhat-operators カタログイメージを使用します。
前提条件
- サポートされているレジストリーにプッシュされるカスタム Operator カタログイメージ
-
podmanversion 1.4.4+ -
ocversion 4.3.5+ - Docker v2-2 をサポートするミラーレジストリーへのアクセス
-
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:v1grpcurlを使用して利用可能なパッケージの実行中のイメージをクエリーします。$ 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 グループが Operator とその依存関係をサポートする namespace
my-nsにあることを前提とし、イメージダイジェストを使用して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"