1.2.11.5. Operator API がサポートされる


OpenShift Container Platform 4.5 でテクノロジープレビュー機能として導入された Operator API がデフォルトでサポートされ、有効にされるようになりました。Operator Lifecycle Manager (OLM) を使用した Operator のインストールでは、クラスター管理者が CatalogSourceSubscriptionClusterServiceVersion、および InstallPlan などの複数の API を認識している必要がありました。この単一 Operator API リソースは、OpenShift Container Platform クラスターで Operator のライフサイクルを検出し、管理するためのよりシンプルなエクスペリエンスを実現するための最初のステップになります。

関連するリソースは、Subscription リソースを使用して CSV がインストールされている Operator の新規 Operator API について自動的にラベル付けされるようになりました。クラスター管理者は、この単一 API で CLI を使用し、インストールされた Operator と対話できます。以下は例になります。

$ oc get operators
$ oc describe operator <operator_name>
1.2.11.5.1. クラスターアップグレード前のテクノロジープレビュー Operator API の削除

OpenShift Container Platform 4.5 の Operator API のテクノロジープレビュー機能バージョンを有効にしている場合、OpenShift Container Platform 4.6 にアップグレードする前にこれを無効にする必要があります。これを怠ると、この機能では Cluster Version Operator (CVO) のオーバーライド が必要になるために、クラスターのアップグレードがブロックされます。

前提条件

  • テクノロジープレビューの Operator OLM が有効にされた OpenShift Container Platform 4.5 クラスター

手順

  1. Operator API ラベルは OpenShift Container Platform 4.6 の関連するリソースに自動的に適用されるため、以前に手動で適用した operators.coreos.com/<name> ラベルを削除する必要があります。

    1. 以下のコマンドを実行し、status.components.refs セクションを確認して、現時点で Operator のラベル付けされているリソースを確認できます。

      $ oc describe operator <operator_name>

      以下は例になります。

      $ oc describe operator etcd-test

      出力例

      ...
      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 1
            Name:                    etcdclusters.etcd.database.coreos.com 2
      ...

      1
      リソースタイプ。
      2
      リソース名。
    2. 関連するすべてのリソースからラベルを削除します。以下は例になります。

      $ 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-
  2. Operator のカスタムリソース定義 (CRD) を削除します。

    $ oc delete crd operators.operators.coreos.com
  3. OLM Operator から OperatorLifecycleManagerV2=true 機能ゲートの名前を変更します。

    1. OLM Operator の Deployment を編集します。

      $ oc -n openshift-operator-lifecycle-manager \
          edit deployment olm-operator
    2. 以下のフラグを Deployment オブジェクトの args セクションから削除します。

      ...
          spec:
            containers:
            - args:
      ...
              - --feature-gates 1
              - OperatorLifecycleManagerV2=true 2
      1 2
      これらのフラグを削除します。
    3. 変更を保存します。
  4. OLM の CVO 管理を再度有効にします。

    $ oc patch clusterversion version \
        --type=merge -p \
        '{
           "spec":{
              "overrides":[
                 {
                    "kind":"Deployment",
                    "name":"olm-operator",
                    "namespace":"openshift-operator-lifecycle-manager",
                    "unmanaged":false,
                    "group":"apps/v1"
                 }
              ]
           }
        }'
  5. Operator リソースが利用できなくなったことを確認します。

    $ oc get operators

    出力例

    error: the server doesn't have a resource type "operators"

OpenShift Container Platform 4.6 へのアップグレードは、この機能によってブロックされなくなるはずです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.