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
    }
  ]

1
disableAllDefaultSources は、OpenShift Container Platform のインストール時にデフォルトで設定されるすべてのデフォルトの OperatorSource の可用性を制御するオーバーライドです。
2
ソースごとに disabled パラメーター値を変更して、デフォルトの OperatorSource を個別に無効にします。

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
データストアをアプリケーションレジストリーとして識別するために、typeappregistry に設定されます。
2
現時点で、Quay は OperatorHub によって使用される外部データストアであるため、エンドポイントは Quay.io appregistry について https://quay.io/cnr に設定されます。
3
コミュニティー Operator の場合、 registryNamespacecommunity-operator に設定されます。
4
オプションで、displayName を、 OperatorHub UI の Operator の表示される名前に設定します。
5
オプションで、publisher を、OperatorHub UI に表示される Operator を公開する人または組織に設定します。