3.2. OperatorHub アーキテクチャー
OperatorHub UI コンポーネントは、デフォルトで OpenShift Container Platform の openshift-marketplace
namespace で Marketplace Operator によって実行されます。
Marketplace Operator は OperatorHub および OperatorSource カスタムリソース定義 (CRD) を管理します。
一部の OperatorSource 情報は OperatorHub ユーザーインターフェースで公開されますが、それは独自の Operator を作成するユーザーによってのみ直接使用されます。
OperatorHub は CatalogSourceConfig リソースを使用しなくなりましたが、それらは OpenShift Container Platform で引き続きサポートされます。
3.2.1. OperatorHub CRD
OperatorHub CRD を使用して、クラスター上で OperatorHub で提供されているデフォルト OperatorSource の状態を enabled と disabled 間で切り替えることができます。この機能は、OpenShift Container Platform をネットワークが制限された環境で設定する際に役立ちます。
OperatorHub カスタムリソースの例
apiVersion: config.openshift.io/v1 kind: OperatorHub metadata: name: cluster spec: disableAllDefaultSources: true 1 sources: [ 2 { name: "community-operators", disabled: false } ]
3.2.2. OperatorSource CRD
それぞれの Operator について、OperatorSource CRD は Operator バンドルを保存するために使用される外部データストアを定義するために使用されます。
OperatorSource カスタムリソースの例
apiVersion: operators.coreos.com/v1 kind: OperatorSource metadata: name: community-operators namespace: marketplace spec: type: appregistry 1 endpoint: https://quay.io/cnr 2 registryNamespace: community-operators 3 displayName: "Community Operators" 4 publisher: "Red Hat" 5
- 1
- データストアをアプリケーションレジストリーとして識別するために、
type
はappregistry
に設定されます。 - 2
- 現時点で、Quay は OperatorHub によって使用される外部データストアであるため、エンドポイントは Quay.io
appregistry
についてhttps://quay.io/cnr
に設定されます。 - 3
- コミュニティー Operator の場合、
registryNamespace
はcommunity-operator
に設定されます。 - 4
- オプションで、
displayName
を、 OperatorHub UI の Operator の表示される名前に設定します。 - 5
- オプションで、
publisher
を、OperatorHub UI に表示される Operator を公開する人または組織に設定します。