4.12. Platform Operator の管理 (テクノロジープレビュー)
				Platform Operator は OLM ベースの Operator であり、OpenShift Container Platform クラスターの Day 0 操作中または操作後にインストールでき、クラスターのライフサイクルに参加します。クラスター管理者は、PlatformOperator API を使用して Platform Operator を管理できます。
			
Platform Operator タイプはテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
4.12.1. Platform Operator について
Operator Lifecycle Manager (OLM) は、Platform Operator と呼ばれる新しいタイプの Operator を導入します。Platform Operator は OLM ベースの Operator であり、OpenShift Container Platform クラスターの Day 0 操作中または操作後にインストールでき、クラスターのライフサイクルに参加します。クラスター管理者は、Platform Operator を使用して OpenShift Container Platform インストールをさらにカスタマイズし、要件とユースケースを満たすことができます。
クラスター管理者は、OpenShift Container Platform の既存のクラスター機能機能を使用して、クラスターのインストール前に、初期ペイロードに必須ではないと見なされる Cluster Version Operator ベース (CVO) コンポーネントのサブセットを無効にすることができます。Platform Operator は、追加のカスタマイズオプションを提供することで、このモデルを反復します。RukPak コンポーネントからのリソースに依存する Platform Operator メカニズムを通じて、OLM ベースの Operator をクラスターのインストール時にインストールできるようになり、Operator が正常にインストールに失敗した場合はクラスターのロールアウトをブロックできます。
					OpenShift Container Platform 4.12 では、このテクノロジープレビューリリースは基本的な Platform Operator メカニズムに焦点を当て、今後のリリースで概念を拡張するための基盤を構築します。クラスター全体の PlatformOperator API を使用して、TechPreviewNoUpgrade 機能セットが有効になっているクラスターでクラスターを作成する前または後に Operator を設定できます。
				
4.12.1.1. Platform Operator のテクノロジープレビューの制限事項
OpenShift Container Platform 4.12 の Platform Operator 機能のテクノロジープレビューリリース中、以下の制限により、Platform Operator メカニズムを介して Operator をインストールできるかどうかが決まります。
- 
								Kubernetes マニフェストは、Operator Lifecycle Manager (OLM) registry+v1バンドル形式を使用してパッケージ化する必要があります。
- Operator は、パッケージまたはグループ/バージョン/種類 (GVK) の依存関係を宣言できません。
- 
								Operator は、AllNamespaces以外のクラスターサービスバージョン (CSV) インストールモードを指定できません。
- 
								Operator は WebhookおよびAPIService定義を指定できません。
- 
								すべてのパッケージバンドルは、redhat-operatorsカタログソースに含まれている必要があります。
これらの制限を考慮した後、次の Operator を正常にインストールできます。
| 3scale-operator | amq-broker-rhel8 | 
| amq-online | amq-streams | 
| ansible-cloud-addons-operator | apicast-operator | 
| container-security-operator | eap | 
| file-integrity-operator | gatekeeper-operator-product | 
| integration-operator | jws-operator | 
| kiali-ossm | node-healthcheck-operator | 
| odf-csi-addons-operator | odr-hub-operator | 
| openshift-custom-metrics-autoscaler-operator | openshift-gitops-operator | 
| openshift-pipelines-operator-rh | quay-operator | 
| red-hat-camel-k | rhpam-kogito-operator | 
| service-registry-operator | servicemeshoperator | 
| skupper-operator | 
次の機能は、このテクノロジープレビューリリースでは利用できません。
- クラスターのロールアウト後に Platform Operator パッケージを自動的にアップグレードする
- オプションの CVO ベースのコンポーネントをサポートするように Platform Operator メカニズムを拡張する
4.12.2. 前提条件
- 
							cluster-admin権限を持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
- クラスターで有効になっている - TechPreviewNoUpgrade機能セット。警告- TechPreviewNoUpgrade機能セットを有効にすると元に戻すことができなくなり、マイナーバージョンの更新ができなくなります。これらの機能セットは、実稼働クラスターでは推奨されません。
- 
							クラスターで有効になっている redhat-operatorsカタログソースのみ。これは、テクノロジープレビューリリース中の制限です。
- 
							ワークステーションにインストールされた ocコマンド。
4.12.3. クラスター作成時の Platform Operator のインストール
					クラスター管理者は、クラスターの作成中に FeatureGate および PlatformOperator マニフェストを提供することにより、Platform Operator をインストールできます。
				
手順
- サポートされている OLM ベースの Operator のセットから Platform Operator を選択します。このセットのリストと現在の制限の詳細は、"Platform Operator のテクノロジープレビューの制限" を参照してください。
- 
							クラスターのインストール方法を選択し、指示に従って install-config.yamlファイルを作成します。クラスターインストールの準備の詳細は、「クラスターインストール方法の選択とユーザー用の準備」を参照してください。
- install-config.yamlファイルを作成して変更を完了したら、インストールプログラムを含むディレクトリーに移動し、マニフェストを作成します。- ./openshift-install create manifests --dir <installation_directory> - $ ./openshift-install create manifests --dir <installation_directory>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- <installation_directory>には、クラスターの- install-config.yamlファイルが含まれるディレクトリーの名前を指定します。
 
- <installation_directory>/manifests/ディレクトリーに、- TechPreviewNoUpgrade機能セットを有効にする- FeatureGateオブジェクト YAML ファイル (- feature-gate.yamlファイルなど) を作成します。- feature-gate.yamlファイルの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- TechPreviewNoUpgrade機能セットを有効にします。
 
- 選択した Platform Operator の - PlatformOperatorオブジェクト YAML ファイルを- <installation_directory>/manifests/ディレクトリーに作成します。たとえば、Red Hat OpenShift Service Mesh Operator の- service-mesh-po.yamlファイルです。- service-mesh-po.yamlファイルの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- クラスターのインストールを完了する準備ができたら、選択したインストール方法を参照し、 - openshift-install create clusterコマンドの実行を続行します。- クラスターの作成中に、提供されたマニフェストを使用して - TechPreviewNoUpgrade機能セットを有効にし、選択した Platform Operator をインストールします。重要- Platform Operator が正常にインストールされないと、クラスターのインストールプロセスがブロックされます。 
検証
- 次のコマンドを実行して、 - service-mesh-poPlatform Operator のステータスを確認します。- oc get platformoperator service-mesh-po -o yaml - $ oc get platformoperator service-mesh-po -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Installedステータス条件が- Trueを報告するまで待ちます。
 
- platform-operators-aggregatedCluster Operator が- Available=Trueステータスを報告していることを確認します。- oc get clusteroperator platform-operators-aggregated -o yaml - $ oc get clusteroperator platform-operators-aggregated -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.12.4. クラスター作成後の Platform Operator のインストール
					クラスター管理者は、クラスター全体の PlatformOperator API を使用して TechPreviewNoUpgrade 機能セットを有効にしたクラスターにクラスターを作成した後、Platform Operator をインストールできます。
				
手順
- サポートされている OLM ベースの Operator のセットから Platform Operator を選択します。このセットのリストと現在の制限の詳細は、"Platform Operator のテクノロジープレビューの制限" を参照してください。
- 選択した Platform Operator の - PlatformOperatorオブジェクト YAML ファイルを作成します。たとえば、Red Hat OpenShift Service Mesh Operator の- service-mesh-po.yamlファイルです。- sevice-mesh-po.yamlファイルの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - PlatformOperatorオブジェクトを作成します。- oc apply -f service-mesh-po.yaml - $ oc apply -f service-mesh-po.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- クラスターで - TechPreviewNoUpgrade機能セットが有効になっていない場合、オブジェクトの作成は次のメッセージで失敗します。- error: resource mapping not found for name: "service-mesh-po" namespace: "" from "service-mesh-po.yaml": no matches for kind "PlatformOperator" in version "platform.openshift.io/v1alpha1" ensure CRDs are installed first - error: resource mapping not found for name: "service-mesh-po" namespace: "" from "service-mesh-po.yaml": no matches for kind "PlatformOperator" in version "platform.openshift.io/v1alpha1" ensure CRDs are installed first- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- 次のコマンドを実行して、 - service-mesh-poPlatform Operator のステータスを確認します。- oc get platformoperator service-mesh-po -o yaml - $ oc get platformoperator service-mesh-po -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Installedステータス条件が- Trueを報告するまで待ちます。
 
- platform-operators-aggregatedCluster Operator が- Available=Trueステータスを報告していることを確認します。- oc get clusteroperator platform-operators-aggregated -o yaml - $ oc get clusteroperator platform-operators-aggregated -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.12.5. Platform Operator の削除
					クラスター管理者は、既存の Platform Operator を削除できます。Operator Lifecycle Manager (OLM) はカスケード削除を実行します。最初に、OLM は Platform Operator のバンドルデプロイメントを削除します。次に、registry+v1 タイプのバンドルで参照されているすべてのオブジェクトを削除します。
				
Platform Operator マネージャーとバンドルデプロイメントプロビジョナーは、バンドルで参照されるオブジェクトのみを管理しますが、バンドルワークロード自体によって後でデプロイされるオブジェクトは管理しません。たとえば、バンドルワークロードが namespace を作成し、Operator が削除される前にそれをクリーンアップするように Operator が設定されていない場合、Platform Operator の削除中にnamespaceを削除することは OLM の範囲外です。
手順
- インストールされている Platform Operator のリストを取得し、削除する Operator の名前を見つけます。 - oc get platformoperator - $ oc get platformoperator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 選択した Operator (Quay Operator など) の - PlatformOperatorリソースを削除します。- oc delete platformoperator quay-operator - $ oc delete platformoperator quay-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - platformoperator.platform.openshift.io "quay-operator" deleted - platformoperator.platform.openshift.io "quay-operator" deleted- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- Platform Operator の namespace が最終的に削除されることを確認します (たとえば、Quay Operator の場合)。 - 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 
- platform-operators-aggregatedCluster Operator が引き続き- Available=Trueステータスを報告することを確認します。- oc get co platform-operators-aggregated - $ oc get co platform-operators-aggregated- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE platform-operators-aggregated 4.13.0-0 True False False 70s - NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE platform-operators-aggregated 4.13.0-0 True False False 70s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow