アップグレード Engineering Lifecycle Management オペレータの暫定修正 Red Hat® OpenShift® CLI

インスタンスに暫定修正をインストールするには Engineering Lifecycle Management インスタンスにインストールするには Engineering Lifecycle Management オペレータをCLIメソッドを使用して必要な暫定修正をサポートするバージョンにアップグレードする必要があります。

始める前に

  1. 既存の Engineering Lifecycle Management 既存のセットアップがエラーなく機能し Engineering Lifecycle Management すべてのアプリケーションにアクセスできること。
  2. Engineering Lifecycle Management オペレータのアップグレードに適切な権限があるかどうかを確認する。 ユーザーロールの詳細については、 Hybrid Cloudにおける Engineering Lifecycle Management のユーザーロールマッピングを参照してください
  3. サブスクリプション承認戦略
    以下のコマンドを使用して、インストールされたサブスクリプションの installPlanApproval 戦略を特定する
    oc get subscriptions <subscription-name> -o jsonpath="{.spec.installPlanApproval}'" -n <namespace-name>
    subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :
    oc get subscriptions ibm-elm-operator -o jsonpath="{.spec.installPlanApproval}'" -n example

手順

  1. コンテナ・プラットフォームがサポートするコマンドを使用してクラスタにログインする。
    oc login --username=<cluster admin user> --password=<cluster admin password>
  2. 以下のコマンドを使用して、アップグレードする演算子を含むプロジェクト(ネームスペース)をデフォルト・プロジェクトに設定します:
    oc project <namespace> 
  3. 以下のコマンドを使用して、このプロジェクト/ネームスペースのすべてのサブスクリプションのリストを取得します:
    oc get subscriptions 

    このステップは、ネームスペースのサブスクリプションのリストを返します

    名前 パッケージ ソース チャネル
    ibm-elm-operator ibm-elm-operator ibm-elm-manifests release-elm7.1

    受信した情報リストから、アップグレードが必要なオペレータのサブスクリプション名([Name]列から)と対応するパッケージ名([Package]列から)を特定します

  4. アップグレードするチャンネルが利用可能であることを確認します。 このリリースで使用可能なオペレータ・チャネルのバージョンを取得するには、前のステップで返された情報を使用して、次のコマンドで package-nameを置き換えてください。
    oc get packagemanifests --selector=catalog=<catalog-source-name> -o jsonpath='Avaiable Channels : {"\n\n"}{range .items[*].status.channels[*]}{.name}{"\n"}{end}' -n <catalog-source-namespace>
    catalog-source-nameと catalog-source-namespaceのプレースホルダーを置き換える。 例 :
    oc get packagemanifests --selector=catalog=ibm-elm-manifests -o jsonpath='Avaiable Channels : {"\n\n"}{range .items[*].status.channels[*]}{.name}{"\n"}{end}' -n example
    コマンドはチャンネルのリストを返すので、アップグレードするチャンネルが利用可能であることを確認する必要があります。
  5. クラスタ管理者または必要な権限を持つユーザは、利用可能なオペレータバージョンに移動するためにサブスクリプションにパッチを適用する必要があります。
    oc patch subscription <subscription-name> --patch '{"spec":{"startingCSV":"<available-operator-version>"}}' --type=merge -n <namespace-name>

    subscription-nameavailable-operator-versionnamespace-nameのプレースホルダーを置き換える。 例 :

    oc patch subscription ibm-elm-operator --patch '{"spec":{"startingCSV":"ibm-elm-operator.v1.1.0"}}' --type=merge -n example
    次のコマンドを使用して、チャンネルがサブスクリプション用に更新されているかどうかを確認します。
    oc get subscription <subscription-name> -o jsonpath='Update channel : {.spec.channel}' -n <namespae-name
    subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :
    oc get subscription ibm-elm-operator -o jsonpath='Update channel : {.spec.channel}' -n example
  6. サブスクリプション承認戦略の特定

    以下のコマンドを使用して、サブスクリプションの installPlanApproval 戦略を特定する

    oc get subscriptions <subscription-name> -o jsonpath="{.spec.installPlanApproval}'" -n <namespace-name>

    subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :

    oc get subscriptions ibm-elm-operator -o jsonpath="{.spec.installPlanApproval}'" -n example
    1. 自動承認戦略によるサブスクリプション

      オペレーターのデプロイメントに対する自動承認戦略とは、オペレーターの新しいバージョンが、選択されたチャネルで利用可能な最新バージョンに自動的にアップグレードされることを意味する。 アップグレードは、クラスタ管理者または必要な権限を持つユーザーによる手動介入と承認なしで行われます。

      以下のコマンドを使用して、インストールされているオペレータのバージョンが、チャネル内で利用可能な最新バージョンであることを確認します
      oc get subscription <subscription-name> -o=jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
      subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :
      oc get subscription ibm-elm-operator -o=jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n example
    2. マニュアル承認戦略によるサブスクリプション

      オペレータのデプロイメントのための手動承認戦略は、オペレータの新しいバージョンが選択されたチャネルで利用可能な最新バージョンにアップグレードされないことを意味します。 クラスタ管理者または必要な権限を持つユーザーによる手動介入と承認が必要です。 クラスタ管理者または必要な権限を持つユーザは、利用可能なオペレータバージョンに移動するためにサブスクリプションにパッチを適用する必要があります。

      以下のコマンドを使用して、現在のチャネルで使用可能なオペレータ・バージョンをリストアップします
      oc get subscription <subscription-name> -o=jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
      subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :
      oc get subscription ibm-elm-operator -o=jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
      現在のチャンネルで利用可能なオペレータバージョンをパッチする。
      oc patch subscription <subscription-name> --patch '{"spec":{"startingCSV":"<available-operator-version>"}}' --type=merge -n <namespace-name>
      subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :
      oc patch subscription ibm-elm-operator --patch '{"spec":{"startingCSV":"ibm-elm-operator.v1.1.0"}}' --type=merge -n example
  7. 承認 InstallPlan

    InstallPlan、クラスタ管理者または必要な権限を持つユーザーが手動で承認する必要があります。 承認されると、プランで指定されたコンポーネントの要件を満たすリソースが作成される。

    1. 取得 InstallPlan
      oc patch installplan <installplan-name> --patch '{"spec":{"approved":true}}' --type=merge -n <namespace-name>

      subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :

      oc patch installplan install-4hm69 --patch '{"spec":{"approved":true}}' --type=merge -n example
    2. 承認 InstallPlan
      oc patch installplan <installplan-name> --patch '{"spec":{"approved":true}}' --type=merge -n <namespace-name>

      installplan_nameと namespace-nameのプレースホルダーを置き換える。 例 :

      oc patch installplan install-4hm69 --patch '{"spec":{"approved":true}}' --type=merge -n example
  8. オペレーターのアップグレードを確認する
    アップグレードに成功した場合、インストールされているバージョンと利用可能なオペレー ターのバージョンが同じであることがわかります。 次のコマンドを使用して、アップグレードを確認し、インストールされているオペレーターのバージョンをチェックするために、コマンドを再実行する必要があります。
    oc get subscription <subscription-name> -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
    subscription-nameと namespace-nameのプレースホルダーを置き換える。 例 :
    oc get subscription ibm-elm-operator -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n example