検索

11.6. ミラーリングされた Operator カタログからの OperatorHub の入力

download PDF

非接続クラスターで使用するように Operator カタログをミラーリングする場合は、OperatorHub をミラーリングされたカタログの Operator で設定できます。ミラーリングプロセスから生成されたマニフェストを使用して、必要な ImageContentSourcePolicy および CatalogSource オブジェクトを作成できます。

11.6.1. 前提条件

11.6.2. ImageContentSourcePolicy オブジェクトの作成

Operator カタログコンテンツをミラーレジストリーにミラーリングした後に、必要な ImageContentSourcePolicy (ICSP) オブジェクトを作成します。ICSP オブジェクトは、Operator マニフェストおよびミラーリングされたレジストリーに保存されるイメージ参照間で変換するようにノードを設定します。

手順

  • 非接続クラスターへのアクセスのあるホストで、以下のコマンドを実行して manifests ディレクトリーで imageContentSourcePolicy.yaml ファイルを指定して ICSP を作成します。

    $ oc create -f <path/to/manifests/dir>/imageContentSourcePolicy.yaml

    ここで、<path/to/manifests/dir> は、ミラーリングされたコンテンツについての manifests ディレクトリーへのパスです。

    ミラーリングされたインデックスイメージおよび Operator コンテンツを参照する CatalogSource を作成できるようになりました。

11.6.3. クラスターへのカタログソースの追加

カタログソースを OpenShift Container Platform クラスターに追加すると、ユーザーの Operator の検出およびインストールが可能になります。クラスター管理者は、インデックスイメージを参照する CatalogSource オブジェクトを作成できます。OperatorHub はカタログソースを使用してユーザーインターフェイスを設定します。

ヒント

または、Web コンソールを使用してカタログソースを管理できます。Administration Cluster Settings Configuration OperatorHub ページから、Sources タブをクリックして、個別のソースを作成、更新、削除、無効化、有効化できます。

前提条件

  • インデックスイメージをビルドしてレジストリーにプッシュしている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. インデックスイメージを参照する CatalogSource オブジェクトを作成します。oc adm catalog mirror コマンドを使用してカタログをターゲットレジストリーにミラーリングする場合、manifests ディレクトリーに生成される catalogSource.yaml ファイルを開始点としてそのまま使用することができます。

    1. 仕様を以下のように変更し、これを catalogSource.yaml ファイルとして保存します。

      apiVersion: operators.coreos.com/v1alpha1
      kind: CatalogSource
      metadata:
        name: my-operator-catalog 1
        namespace: openshift-marketplace 2
      spec:
        sourceType: grpc
        grpcPodConfig:
          securityContextConfig: <security_mode> 3
        image: <registry>/<namespace>/redhat-operator-index:v4.16 4
        displayName: My Operator Catalog
        publisher: <publisher_name> 5
        updateStrategy:
          registryPoll: 6
            interval: 30m
      1
      レジストリーにアップロードする前にローカルファイルにコンテンツをミラーリングする場合は、metadata.name フィールドからバックスラッシュ (/) 文字を削除し、オブジェクトの作成時に "invalid resource name" エラーを回避します。
      2
      カタログソースを全 namespace のユーザーがグローバルに利用できるようにする場合は、openshift-marketplace namespace を指定します。それ以外の場合は、そのカタログの別の namespace を対象とし、その namespace のみが利用できるように指定できます。
      3
      legacy または restricted の値を指定します。フィールドが設定されていない場合、デフォルト値は legacy です。今後の OpenShift Container Platform リリースでは、デフォルト値が restricted になる予定です。restricted 権限でカタログを実行できない場合は、このフィールドを手動で legacy に設定することを推奨します。
      4
      インデックスイメージを指定します。イメージ名の後にタグを指定した場合 (:v4.16 など)、カタログソース Pod は Always のイメージプルポリシーを使用します。これは、Pod が常にコンテナーを開始する前にイメージをプルすることを意味します。@sha256:<id> などのダイジェストを指定した場合、イメージプルポリシーは IfNotPresent になります。これは、イメージがノード上にまだ存在しない場合にのみ、Pod がイメージをプルすることを意味します。
      5
      カタログを公開する名前または組織名を指定します。
      6
      カタログソースは新規バージョンの有無を自動的にチェックし、最新の状態を維持します。
    2. このファイルを使用して CatalogSource オブジェクトを作成します。

      $ oc apply -f catalogSource.yaml
  2. 以下のリソースが正常に作成されていることを確認します。

    1. Pod を確認します。

      $ oc get pods -n openshift-marketplace

      出力例

      NAME                                    READY   STATUS    RESTARTS  AGE
      my-operator-catalog-6njx6               1/1     Running   0         28s
      marketplace-operator-d9f549946-96sgr    1/1     Running   0         26h

    2. カタログソースを確認します。

      $ oc get catalogsource -n openshift-marketplace

      出力例

      NAME                  DISPLAY               TYPE PUBLISHER  AGE
      my-operator-catalog   My Operator Catalog   grpc            5s

    3. パッケージマニフェストを確認します。

      $ oc get packagemanifest -n openshift-marketplace

      出力例

      NAME                          CATALOG               AGE
      jaeger-product                My Operator Catalog   93s

OpenShift Container Platform Web コンソールで、OperatorHub ページから Operator をインストールできるようになりました。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.