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
sources: [
{
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
endpoint: https://quay.io/cnr
registryNamespace: community-operators
displayName: "Community Operators"
publisher: "Red Hat"
- 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 を公開する人または組織に設定します。