1.2.15.6. 読み取り専用 Operator API (テクノロジープレビュー)


新規 Operator API が読み取り専用モードでテクノロジープレビューとして利用可能になりました。以前のバージョンでは、Operator Lifecycle Manager (OLM) を使用した Operator のインストールでは、クラスター管理者が CatalogSourceSubscriptionClusterServiceVersion、および InstallPlan オブジェクトを含む複数の API を認識している必要がありました。この単一 Operator API リソースは、OpenShift Container Platform クラスターで Operator のライフサイクルを検出し、管理するためのよりシンプルなエクスペリエンスを実現するための最初のステップになります。

現時点では、CLI でのみ利用可能であり、有効にするにはいくつかの手順を実行する必要があります。この機能プレビューではファーストクラスの API オブジェクトとして Operator と対話します。クラスター管理者は、oc get operator コマンドなどを使用し、この API を読み取り専用モードで使用して以前にインストールされた Operator を検出できます。

このテクノロジープレビュー機能を有効にするには、以下を実行します。

手順

  1. OLM の Cluster Version Operator (CVO) 管理 を無効にします。

    $ oc patch clusterversion version \
        --type=merge -p \
        '{
           "spec":{
              "overrides":[
                 {
                    "kind":"Deployment",
                    "name":"olm-operator",
                    "namespace":"openshift-operator-lifecycle-manager",
                    "unmanaged":true,
                    "group":"apps/v1"
                 }
              ]
           }
        }'
    Copy to Clipboard Toggle word wrap
  2. OperatorLifecycleManagerV2=true 機能ゲートを OLM Operator に追加します。

    1. OLM Operator のデプロイメントを編集します。

      $ oc -n openshift-operator-lifecycle-manager \
          edit deployment olm-operator
      Copy to Clipboard Toggle word wrap
    2. 以下のフラグをデプロイメントの args セクションに追加します。

      ...
          spec:
            containers:
            - args:
      ...
              - --feature-gates
              - OperatorLifecycleManagerV2=true
      Copy to Clipboard Toggle word wrap
    3. 変更を保存します。
  3. まだインストールしていない場合は、通常の OperatorHub メソッドを使用して Operator をインストールします。この例では、プロジェクト test-project にインストールされた etcd Operator を使用します。
  4. インストールされた etcd Operator の新規 Operator リソースを作成します。

    1. 以下をファイルに保存します。

      etcd-test-op.yaml ファイル

      apiVersion: operators.coreos.com/v2alpha1
      kind: Operator
      metadata:
        name: etcd-test
      Copy to Clipboard Toggle word wrap

    2. リソースを作成します。

      $ oc create -f etcd-test-op.yaml
      Copy to Clipboard Toggle word wrap
  5. インストールされた Operator の新規 API へのオプトインを可能にするには、operators.coreos.com/etcd-test ラベルを Operator に関連する以下のオブジェクトに適用します。

    • Subscription
    • InstallPlan
    • ClusterServiceVersion
    • Operator によって所有される CRD
    注記

    今後のリリースでは、これらのオブジェクトには Subscription オブジェクトを使用して CSV がインストールされている Operator についてのラベルが自動的に付けられます。

    以下は例になります。

    $ oc label sub etcd operators.coreos.com/etcd-test="" -n test-project
    $ oc label ip install-6c5mr operators.coreos.com/etcd-test="" -n test-project
    $ oc label csv etcdoperator.v0.9.4 operators.coreos.com/etcd-test="" -n test-project
    $ oc label crd etcdclusters.etcd.database.coreos.com operators.coreos.com/etcd-test=""
    $ oc label crd etcdbackups.etcd.database.coreos.com operators.coreos.com/etcd-test=""
    $ oc label crd etcdrestores.etcd.database.coreos.com operators.coreos.com/etcd-test=""
    Copy to Clipboard Toggle word wrap
  6. Operator が新規 API にオプトインしていることを確認します。

    1. すべての operators リソースを一覧表示します。

      $ oc get operators
      
      NAME        AGE
      etcd-test   17m
      Copy to Clipboard Toggle word wrap
    2. Operator の詳細を検査し、ラベルを付けたオブジェクトが表示されていることを確認します。

      $ oc describe operators etcd-test
      Copy to Clipboard Toggle word wrap
      Name:         etcd-test
      Namespace:
      Labels:       <none>
      Annotations:  <none>
      API Version:  operators.coreos.com/v2alpha1
      Kind:         Operator
      Metadata:
        Creation Timestamp:  2020-07-02T05:51:17Z
        Generation:          1
        Resource Version:    37727
        Self Link:           /apis/operators.coreos.com/v2alpha1/operators/etcd-test
        UID:                 6a441a4d-75fe-4224-a611-7b6c83716909
      Status:
        Components:
          Label Selector:
            Match Expressions:
              Key:       operators.coreos.com/etcd-test
              Operator:  Exists
          Refs:
            API Version:  apiextensions.k8s.io/v1
            Conditions:
              Last Transition Time:  2020-07-02T05:50:40Z
              Message:               no conflicts found
              Reason:                NoConflicts
              Status:                True
              Type:                  NamesAccepted
              Last Transition Time:  2020-07-02T05:50:41Z
              Message:               the initial names have been accepted
              Reason:                InitialNamesAccepted
              Status:                True
              Type:                  Established
            Kind:                    CustomResourceDefinition
            Name:                    etcdclusters.etcd.database.coreos.com 
      1
      
      ...
            API Version:             operators.coreos.com/v1alpha1
            Conditions:
              Last Transition Time:  2020-07-02T05:50:39Z
              Message:               all available catalogsources are healthy
              Reason:                AllCatalogSourcesHealthy
              Status:                False
              Type:                  CatalogSourcesUnhealthy
            Kind:                    Subscription
            Name:                    etcd 
      2
      
            Namespace:               test-project
      ...
            API Version:             operators.coreos.com/v1alpha1
            Conditions:
              Last Transition Time:  2020-07-02T05:50:43Z
              Last Update Time:      2020-07-02T05:50:43Z
              Status:                True
              Type:                  Installed
            Kind:                    InstallPlan
            Name:                    install-mhzm8 
      3
      
            Namespace:               test-project
      ...
            Kind:                    ClusterServiceVersion
            Name:                    etcdoperator.v0.9.4 
      4
      
            Namespace:               test-project
      Events:                        <none>
      Copy to Clipboard Toggle word wrap
      1
      いずれかの CRD
      2
      Subscription オブジェクト。
      3
      InstallPlan オブジェクト。
      4
      CSV。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat