4.3. カタログの管理
クラスター管理者は、カタログ、つまり Operator と Kubernetes 拡張機能の厳選されたコレクションをクラスターに追加できます。Operator の作成者は、自社の製品をこれらのカタログに公開します。クラスターにカタログを追加すると、カタログに公開されている Operator と拡張機能のバージョン、パッチ、無線更新にアクセスできるようになります。
カスタムリソース (CR) を使用して、CLI からカタログと拡張機能を宣言的に管理できます。
ファイルベースのカタログ は、Operator Lifecycle Manager (OLM) の最新バージョンのカタログ形式です。この形式は、プレーンテキストベース (JSON または YAML) であり、以前の SQLite データベース形式の宣言的な設定の進化であり、完全な下位互換性があります。
Kubernetes は定期的に特定の API を非推奨とし、後続のリリースで削除します。その結果、Operator は API を削除した Kubernetes バージョンを使用する OpenShift Container Platform のバージョン以降、削除された API を使用できなくなります。
クラスターがカスタムカタログを使用している場合に、Operator の作成者がプロジェクトを更新してワークロードの問題や、互換性のないアップグレードを回避できるようにする方法は Operator の互換性の OpenShift Container Platform バージョンへの制御 を参照してください。
4.3.1. OLM v1 のカタログについて リンクのコピーリンクがクリップボードにコピーされました!
catalogd コンポーネントを使用して、Operator やコントローラーなどの Kubernetes 拡張機能のカタログをクエリーすることで、インストール可能なコンテンツを検出できます。catalogd は、クラスター上のクライアント用にカタログコンテンツを展開する Kubernetes 機能拡張であり、マイクロサービスの Operator Lifecycle Manager (OLM) v1 スイートの一部です。現在、catalogd は、コンテナーイメージとしてパッケージ化および配布されているカタログコンテンツを解凍します。
4.3.2. OLM v1 で Red Hat が提供する Operator カタログ リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) v1 には、デフォルトでクラスター上に次の Red Hat 提供の Operator カタログが含まれています。クラスターにカタログを追加する場合は、カタログのカスタムリソース (CR) を作成し、クラスターに適用します。次のカスタムリソース (CR) の例は、クラスターにインストールされているデフォルトのカタログを示しています。
Red Hat Operator カタログ
- 1
- 新しいイメージダイジェストを確認するためにリモートレジストリーでポーリングする間隔を分単位で指定します。ポーリングを無効にする場合は、フィールドを設定しないでください。
Certified Operators カタログ
Red Hat Marketplace カタログ
Community Operators カタログ
次のコマンドは、クラスターにカタログを追加します。
コマンド構文
oc apply -f <catalog_name>.yaml
$ oc apply -f <catalog_name>.yaml
- 1
my-catalog.yaml
などのカタログ CR を指定します。
4.3.3. クラスターへのカタログの追加 リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) v1 を使用するためにクラスターにカタログを追加するには、ClusterCatalog
カスタムリソース (CR) を作成し、それをクラスターに適用します。
手順
次の例のようなカタログカスタムリソース (CR) を作成します。
my-redhat-operators.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- カタログは、クラスターに適用されると、
metadata.name
フィールドの値で自動的にラベル付けされます。ラベルとカタログの選択の詳細は、「カタログコンテンツの解決」を参照してください。 - 2
- オプション: クラスター上の他のカタログに対するカタログの優先度を指定します。詳細は、「優先度によるカタログの選択」を参照してください。
- 3
- 新しいイメージダイジェストを確認するためにリモートレジストリーでポーリングする間隔を分単位で指定します。ポーリングを無効にする場合は、フィールドを設定しないでください。
- 4
spec.source.image.ref
フィールドにカタログのイメージを指定します。
次のコマンドを実行して、カタログをクラスターに追加します。
oc apply -f my-redhat-operators.yaml
$ oc apply -f my-redhat-operators.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
clustercatalog.olm.operatorframework.io/my-redhat-operators created
clustercatalog.olm.operatorframework.io/my-redhat-operators created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、カタログのステータスを確認します。
次のコマンドを実行して、カタログが利用可能かどうかを確認します。
oc get clustercatalog
$ oc get clustercatalog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、カタログのステータスを確認します。
oc describe clustercatalog my-redhat-operators
$ oc describe clustercatalog my-redhat-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.4. カタログの削除 リンクのコピーリンクがクリップボードにコピーされました!
カタログを削除するには、そのカスタムリソース (CR) を削除します。
前提条件
- カタログがインストールされています。
手順
次のコマンドを実行してカタログを削除します。
oc delete clustercatalog <catalog_name>
$ oc delete clustercatalog <catalog_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
clustercatalog.olm.operatorframework.io "my-redhat-operators" deleted
clustercatalog.olm.operatorframework.io "my-redhat-operators" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、カタログが削除されたことを確認します。
oc get clustercatalog
$ oc get clustercatalog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.5. デフォルトのカタログの無効化 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform にデフォルトで含まれている Red Hat 提供のカタログを無効にできます。
手順
次のコマンドを実行して、デフォルトのカタログを無効にします。
oc patch clustercatalog openshift-certified-operators -p \ '{"spec": {"availabilityMode": "Unavailable"}}' --type=merge
$ oc patch clustercatalog openshift-certified-operators -p \ '{"spec": {"availabilityMode": "Unavailable"}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
clustercatalog.olm.operatorframework.io/openshift-certified-operators patched
clustercatalog.olm.operatorframework.io/openshift-certified-operators patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、カタログが無効になっていることを確認します。
oc get clustercatalog openshift-certified-operators
$ oc get clustercatalog openshift-certified-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME LASTUNPACKED SERVING AGE openshift-certified-operators False 6h54m
NAME LASTUNPACKED SERVING AGE openshift-certified-operators False 6h54m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow