7.3. OLM 1.0 (テクノロジープレビュー) のカタログから Operator をインストールする
クラスター管理者は、カタログ、つまり Operator と Kubernetes 拡張機能の厳選されたコレクションをクラスターに追加できます。Operator の作成者は、自社の製品をこれらのカタログに公開します。クラスターにカタログを追加すると、カタログに公開されている Operator と拡張機能のバージョン、パッチ、無線更新にアクセスできるようになります。
Operator Lifecycle Manager (OLM) 1.0 の現在のテクノロジープレビューリリースでは、カスタムリソース (CR) を使用して CLI からカタログと Operators を宣言的に管理します。
OLM 1.0 は、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
7.3.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
cluster-admin
パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。注記OpenShift Container Platform 4.14 の場合、OLM 1.0 の文書化された手順は CLI ベースのみになります。別の方法として、管理者は、Import YAML ページや Search ページなどの通常の方法を使用して、Web コンソールで関連オブジェクトを作成および表示することもできます。ただし、既存の OperatorHub および Installed Operators ページに OLM 1.0 コンポーネントはまだ表示されません。
クラスターで有効になっている
TechPreviewNoUpgrade
機能セット。警告TechPreviewNoUpgrade
機能セットを有効にすると元に戻すことができなくなり、マイナーバージョンの更新ができなくなります。これらの機能セットは、実稼働クラスターでは推奨されません。-
OpenShift CLI (
oc
) がワークステーションにインストールされている。
7.3.2. OLM 1.0 のカタログについて リンクのコピーリンクがクリップボードにコピーされました!
catalogd コンポーネントを使用して、Operator やコントローラーなどの Kubernetes 拡張機能のカタログをクエリーすることで、インストール可能なコンテンツを検出できます。Catalogd は、クラスター上のクライアント用にカタログコンテンツを展開する Kubernetes 機能拡張であり、マイクロサービスの Operator Lifecycle Manager (OLM) 1.0 スイートの一部です。現在、catalogd は、コンテナーイメージとしてパッケージ化および配布されているカタログコンテンツを解凍します。
7.3.2.1. OLM 1.0 で Red Hat が提供する Operator カタログ リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) 1.0 には、デフォルトでは Red Hat が提供する Operator カタログが含まれていません。Red Hat が提供するカタログをクラスターに追加する場合は、カタログのカスタムリソース (CR) を作成し、クラスターに適用します。次のカスタムリソース (CR) の例は、OLM 1.0 のカタログリソースを作成する方法を示しています。
Red Hat Operators カタログの例
認定 Operator カタログの例
コミュニティー Operator カタログの例
次のコマンドは、クラスターにカタログを追加します。
コマンド構文
oc apply -f <catalog_name>.yaml
$ oc apply -f <catalog_name>.yaml
- 1
redhat-operators.yaml
などのカタログ CR を指定します。
次の手順では、例として Red Hat Operators カタログと Quay Operator を使用します。
7.3.3. OLM 1.0 のターゲットバージョンについて リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) 1.0 では、クラスター管理者は Operator のターゲットバージョンを Operator のカスタムリソース (CR) で宣言的に設定します。
Operator の CR でチャネルを指定すると、OLM 1.0 は指定されたチャネルから最新リリースをインストールします。更新が指定されたチャネルに公開されると、OLM 1.0 はそのチャネルからの最新リリースに自動的に更新します。
チャネルを指定した CR の例
- 1
- 指定されたチャネルに公開された最新リリースをインストールします。チャネルへの更新は自動的にインストールされます。
CR で Operator のターゲットバージョンを指定すると、OLM 1.0 は指定されたバージョンをインストールします。ターゲットバージョンが Operator の CR で指定されている場合、OLM 1.0 は更新がカタログに公開されるときにターゲットバージョンを変更しません。
クラスターにインストールされている Operator のバージョンを更新する場合は、Operator の CR を手動で更新する必要があります。Operator のターゲットバージョンを指定すると、Operator のバージョンが指定されたリリースに固定されます。
ターゲットバージョンを指定した CR の例
- 1
- ターゲットのバージョンを指定します。クラスターにインストールされている Operator のバージョンを更新する場合は、Operator の CR のこのフィールドを目的のターゲットバージョンに手動で更新する必要があります。
Operator のインストールされているバージョンを変更する場合は、Operator の CR を編集して目的のターゲットバージョンにします。
OLM の以前のバージョンでは、Operator の作成者は、サポートされていないバージョンへの更新を防ぐためにアップグレードエッジを定義できました。現在の開発状態では、OLM 1.0 はエッジ定義のアップグレードを強制しません。Operator の任意のバージョンを指定でき、OLM 1.0 は更新の適用を試みます。
次のコマンドを実行すると、使用可能なバージョンやチャネルを含む Operator のカタログの内容を検査できます。
コマンド構文
oc get package <catalog_name>-<package_name> -o yaml
$ oc get package <catalog_name>-<package_name> -o yaml
CR を作成または更新した後、次のコマンドを実行して Operator を作成または設定します。
コマンド構文
oc apply -f <extension_name>.yaml
$ oc apply -f <extension_name>.yaml
トラブルシューティング
存在しないターゲットバージョンまたはチャネルを指定した場合は、次のコマンドを実行して Operator のステータスを確認できます。
oc get operator.operators.operatorframework.io <operator_name> -o yaml
$ oc get operator.operators.operatorframework.io <operator_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.4. クラスターへのカタログの追加 リンクのコピーリンクがクリップボードにコピーされました!
カタログをクラスターに追加するには、カタログカスタムリソース (CR) を作成し、それをクラスターに適用します。
手順
次の例のようなカタログカスタムリソース (CR) を作成します。
redhat-operators.yaml
の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
spec.source.image
フィールドにカタログのイメージを指定します。
次のコマンドを実行して、カタログをクラスターに追加します。
oc apply -f redhat-operators.yaml
$ oc apply -f redhat-operators.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
catalog.catalogd.operatorframework.io/redhat-operators created
catalog.catalogd.operatorframework.io/redhat-operators created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、カタログのステータスを確認します。
次のコマンドを実行して、カタログが利用可能かどうかを確認します。
oc get catalog
$ oc get catalog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE redhat-operators 20s
NAME AGE redhat-operators 20s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、カタログのステータスを確認します。
oc get catalogs.catalogd.operatorframework.io -o yaml
$ oc get catalogs.catalogd.operatorframework.io -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.5. カタログからインストールする Operator を見つける リンクのコピーリンクがクリップボードにコピーされました!
クラスターにカタログを追加した後、カタログにクエリーを実行して、インストールする Operator と拡張機能を見つけることができます。
前提条件
- クラスターにカタログが追加されました。
手順
次のコマンドを実行して、カタログ内の Operator と拡張機能のリストを取得します。
oc get packages
$ oc get packages
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例7.1 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator または拡張機能のカスタムリソース (CR) の内容を検査します。
oc get package <catalog_name>-<package_name> -o yaml
$ oc get package <catalog_name>-<package_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
oc get package redhat-operators-quay-operator -o yaml
$ oc get package redhat-operators-quay-operator -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例7.2 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.6. Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
Operator カスタムリソース (CR) を作成し、それをクラスターに適用することで、カタログから Operator をインストールできます。
前提条件
- クラスターにカタログが追加されました。
- Operator の詳細を調べて、インストールするバージョンを見つけました。
手順
次の例のような Operator CR を作成します。
test-operator.yaml
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator CR をクラスターに適用します。
oc apply -f test-operator.yaml
$ oc apply -f test-operator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
operator.operators.operatorframework.io/quay-example created
operator.operators.operatorframework.io/quay-example created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、Operator の CR を YAML 形式で表示します。
oc get operator.operators.operatorframework.io/quay-example -o yaml
$ oc get operator.operators.operatorframework.io/quay-example -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator のコントローラーマネージャー Pod に関する情報を取得します。
oc get pod -n quay-operator-system
$ oc get pod -n quay-operator-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE quay-operator.v3.8.12-6677b5c98f-2kdtb 1/1 Running 0 2m28s
NAME READY STATUS RESTARTS AGE quay-operator.v3.8.12-6677b5c98f-2kdtb 1/1 Running 0 2m28s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.7. Operator の更新 リンクのコピーリンクがクリップボードにコピーされました!
Operator のカスタムリソース (CR) を手動で編集し、変更を適用することで Operator を更新できます。
前提条件
- カタログがインストールされています。
- Operator がインストールされています。
手順
次のコマンドを実行して、Operator のパッケージの内容を調べて、更新に利用できるチャネルとバージョンを見つけます。
oc get package <catalog_name>-<package_name> -o yaml
$ oc get package <catalog_name>-<package_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
oc get package redhat-operators-quay-operator -o yaml
$ oc get package redhat-operators-quay-operator -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例に示すように、Operator の CR を編集してバージョンを
3.9.1
に更新します。test-operator.yaml
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- バージョンを
3.9.1
に更新します。
次のコマンドを実行して、クラスターに更新を適用します。
oc apply -f test-operator.yaml
$ oc apply -f test-operator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
operator.operators.operatorframework.io/quay-example configured
operator.operators.operatorframework.io/quay-example configured
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒント次のコマンドを実行すると、CLI から Operator のバージョンにパッチを適用して変更を適用できます。
oc patch operator.operators.operatorframework.io/quay-example -p \ '{"spec":{"version":"3.9.1"}}' \ --type=merge
$ oc patch operator.operators.operatorframework.io/quay-example -p \ '{"spec":{"version":"3.9.1"}}' \ --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
operator.operators.operatorframework.io/quay-example patched
operator.operators.operatorframework.io/quay-example patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、チャネルとバージョンの更新が適用されていることを確認します。
oc get operator.operators.operatorframework.io/quay-example -o yaml
$ oc get operator.operators.operatorframework.io/quay-example -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- バージョンが
3.9.1
に更新されていることを確認します。
7.3.8. Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
Operator のカスタムリソース (CR) を削除することで、Operator とそのカスタムリソース定義 (CRD) を削除できます。
前提条件
- カタログがインストールされています。
- Operator がインストールされています。
手順
次のコマンドを実行して、Operator とその CRD を削除します。
oc delete operator.operators.operatorframework.io quay-example
$ oc delete operator.operators.operatorframework.io quay-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
operator.operators.operatorframework.io "quay-example" deleted
operator.operators.operatorframework.io "quay-example" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、Operator とそのリソースが削除されたことを確認します。
次のコマンドを実行して、Operator が削除されたことを確認します。
oc get operator.operators.operatorframework.io
$ oc get operator.operators.operatorframework.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
No resources found
No resources found
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Operator のシステム namespace が削除されたことを確認します。
oc get ns quay-operator-system
$ oc get ns quay-operator-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Error from server (NotFound): namespaces "quay-operator-system" not found
Error from server (NotFound): namespaces "quay-operator-system" not found
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.9. カタログの削除 リンクのコピーリンクがクリップボードにコピーされました!
カタログを削除するには、そのカスタムリソース (CR) を削除します。
前提条件
- カタログがインストールされています。
手順
次のコマンドを実行してカタログを削除します。
oc delete catalog <catalog_name>
$ oc delete catalog <catalog_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
catalog.catalogd.operatorframework.io "my-catalog" deleted
catalog.catalogd.operatorframework.io "my-catalog" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、カタログが削除されたことを確認します。
oc get catalog
$ oc get catalog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow