16.4.2. 複数のステップでマネージドクラスターのイメージベースのアップグレードを大規模に実行する


アップグレードによってサービスが中断されるタイミングを適切に制御する必要があるユースケースの場合は、ImageBasedGroupUpgrade CR を使用し、前のステップが完了した後にアクションを追加することで、マネージドクラスターのセットをアップグレードできます。前のステップの結果を評価した後、次のアップグレードステージに進むことも、手順全体の失敗したステップをトラブルシューティングすることもできます。

重要

特定のアクションの組み合わせのみがサポートされています。これは サポートされているアクションの組み合わせ に記載されています。

前提条件

  • cluster-admin 権限を持つユーザーとしてハブクラスターにログインしている。
  • イメージベースのアップグレードで使用するリソースのポリシーと ConfigMap オブジェクトを作成した。
  • ハブクラスターを介して、すべてのマネージドクラスターに Lifecycle Agent と OADP Operator をインストールした。

手順

  1. ハブクラスターで、ImageBasedGroupUpgrade CR を含む YAML ファイルを作成します。

    apiVersion: lcm.openshift.io/v1alpha1
    kind: ImageBasedGroupUpgrade
    metadata:
      name: <filename>
      namespace: default
    spec:
      clusterLabelSelectors: 
    1
    
        - matchExpressions:
          - key: name
            operator: In
            values:
            - spoke1
            - spoke4
            - spoke6
      ibuSpec:
        seedImageRef: 
    2
    
          image: quay.io/seed/image:4.16.0-rc.1
          version: 4.16.0-rc.1
          pullSecretRef:
            name: "<seed_pull_secret>"
        extraManifests: 
    3
    
          - name: example-extra-manifests
            namespace: openshift-lifecycle-agent
        oadpContent: 
    4
    
          - name: oadp-cm
            namespace: openshift-adp
      plan: 
    5
    
        - actions: ["Prep"]
          rolloutStrategy:
            maxConcurrency: 2
            timeout: 2400
    1
    アップグレードするクラスター。
    2
    ターゲットプラットフォームのバージョン、使用するシードイメージ、およびイメージにアクセスするために必要なシークレット。
    注記

    ハブクラスターの ImageBasedGroupUpgrade リソースと同じ namespace にシードイメージプルシークレットを追加すると、そのシークレットが Prep ステージのマニフェストリストに追加されます。シークレットは、openshift-lifecycle-agent namespace 内の各スポーククラスターで再作成されます。

    3
    オプション: シードイメージに含まれていない追加のマニフェストをターゲットクラスターに適用します。カスタムカタログソースの ConfigMap オブジェクトも適用します。
    4
    OADP の Backup および Restore CR を含む ConfigMap リソースのリスト。
    5
    アップグレードプランの詳細。
  2. ハブクラスターで次のコマンドを実行して、作成したファイルを適用します。

    $ oc apply -f <filename>.yaml
  3. ハブクラスターで次のコマンドを実行して、ステータスの更新を監視します。

    $ oc get ibgu -o yaml

    出力例

    # ...
    status:
      clusters:
      - completedActions:
        - action: Prep
        name: spoke1
      - completedActions:
        - action: Prep
        name: spoke4
      - failedActions:
        - action: Prep
        name: spoke6
    # ...

    上記のサンプルプランの出力は、始めは Prep ステージだけです。前のステップの結果に基づいて、このプランにアクションを追加してください。TALM により、アップグレードが成功したか失敗したかを示すラベルがクラスターに追加されます。たとえば、Prep ステージに失敗したクラスターには、lcm.openshift.io/ibgu-prep-failed が適用されます。

    失敗を調査した後、アップグレードプランに AbortOnFailure ステップを追加できます。このステップにより、lcm.openshift.io/ibgu-<action>-failed というラベルの付いたクラスターが Idle ステージに戻されます。選択されたクラスターのアップグレードに関連するリソースがすべて削除されます。

  4. オプション: 次のコマンドを実行して、既存の ImageBasedGroupUpgrade CR に AbortOnFailure アクションを追加します。

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["AbortOnFailure"], "rolloutStrategy": {"maxConcurrency": 5, "timeout": 10}}}]'
    1. 次のコマンドを実行して、ステータスの更新の監視を継続します。

      $ oc get ibgu -o yaml
  5. 次のコマンドを実行して、既存の ImageBasedGroupUpgrade CR にアクションを追加します。

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["Upgrade"], "rolloutStrategy": {"maxConcurrency": 2, "timeout": 30}}}]'
  6. オプション: 次のコマンドを実行して、既存の ImageBasedGroupUpgrade CR に AbortOnFailure アクションを追加します。

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["AbortOnFailure"], "rolloutStrategy": {"maxConcurrency": 5, "timeout": 10}}}]'
    1. 次のコマンドを実行して、ステータスの更新の監視を継続します。

      $ oc get ibgu -o yaml
  7. 次のコマンドを実行して、既存の ImageBasedGroupUpgrade CR にアクションを追加します。

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["FinalizeUpgrade"], "rolloutStrategy": {"maxConcurrency": 10, "timeout": 3}}}]'

検証

  • 次のコマンドを実行してステータスの更新を監視します。

    $ oc get ibgu -o yaml

    出力例

    # ...
    status:
      clusters:
      - completedActions:
        - action: Prep
        - action: AbortOnFailure
        failedActions:
        - action: Upgrade
        name: spoke1
      - completedActions:
        - action: Prep
        - action: Upgrade
        - action: FinalizeUpgrade
        name: spoke4
      - completedActions:
        - action: AbortOnFailure
        failedActions:
        - action: Prep
        name: spoke6
    # ...

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る