15.3. Lifecycle Agent を使用したシングルノード OpenShift クラスターのイメージベースアップグレードの実行


Lifecycle Agent を使用して、シングルノード OpenShift クラスターのイメージベースアップグレードを手動で実行できます。

クラスターに Lifecycle Agent をデプロイすると、ImageBasedUpgrade CR が自動的に作成されます。この CR を更新して、シードイメージのイメージリポジトリーを指定し、さまざまなステージを移動します。

15.3.1. Lifecycle Agent を使用したイメージベースアップグレードの Prep ステージへの移行

クラスターに Lifecycle Agent をデプロイすると、ImageBasedUpgrade カスタムリソース (CR) が自動的に作成されます。

アップグレード中に必要なすべてのリソースを作成したら、Prep ステージに進むことができます。詳細は、「Lifecycle Agent を使用したイメージベースアップグレード用の ConfigMap オブジェクトの作成」セクションを参照してください。

注記

非接続環境で、シードクラスターのリリースイメージレジストリーがターゲットクラスターのリリースイメージレジストリーと異なる場合は、ImageDigestMirrorSet (IDMS) リソースを作成して、別のミラーリングされるリポジトリーの場所を設定する必要があります。詳細は、「イメージレジストリーのリポジトリーミラーリングの設定」を参照してください。

次のコマンドを実行すると、シードイメージで使用されているリリースレジストリーを取得できます。

$ skopeo inspect docker://<imagename> | jq -r '.Labels."com.openshift.lifecycle-agent.seed_cluster_info" | fromjson | .release_registry'

前提条件

  • クラスターをバックアップおよび復元するためのリソースを作成している。

手順

  1. ImageBasedUpgrade CR にパッチが適用されていることを確認します。

    apiVersion: lca.openshift.io/v1
    kind: ImageBasedUpgrade
    metadata:
      name: upgrade
    spec:
      stage: Idle
      seedImageRef:
        version: 4.15.2 
    1
    
        image: <seed_container_image> 
    2
    
        pullSecretRef: <seed_pull_secret> 
    3
    
      autoRollbackOnFailure: {}
    #    initMonitorTimeoutSeconds: 1800 
    4
    
      extraManifests: 
    5
    
      - name: example-extra-manifests-cm
        namespace: openshift-lifecycle-agent
      - name: example-catalogsources-cm
        namespace: openshift-lifecycle-agent
      oadpContent: 
    6
    
      - name: oadp-cm-example
        namespace: openshift-adp
    1
    ターゲットプラットフォームのバージョン。値はシードイメージのバージョンと一致する必要があります。
    2
    ターゲットクラスターがシードイメージをプルできるリポジトリー。
    3
    イメージがプライベートレジストリー内にある場合にコンテナーイメージをプルするための認証情報を含むシークレットへの参照。
    4
    オプション: ロールバックする時間枠 (秒単位)。最初の再起動後、この時間枠内にアップグレードが完了しないと、ロールバックが実行されます。定義されていないか 0 に設定されている場合は、デフォルト値の 1800 秒 (30 分) が使用されます。
    5
    オプション: アップグレード後に保持するカスタムカタログソースと、ターゲットクラスターに適用する、シードイメージに含まれていない追加のマニフェストを含む ConfigMap リソースのリスト。
    6
    OADP の Backup および Restore CR を含む ConfigMap リソースのリスト。
  2. Prep ステージを開始するには、次のコマンドを実行して、ImageBasedUpgrade CR の stage フィールドの値を Prep に変更します。

    $ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Prep"}}' --type=merge -n openshift-lifecycle-agent

    OADP リソースと追加のマニフェストの ConfigMap オブジェクトを指定すると、Lifecycle Agent は Prep ステージで指定された ConfigMap オブジェクトを検証します。以下の問題が発生する可能性があります。

    • Lifecycle Agent が extraManifests パラメーターに問題を検出した場合の検証警告またはエラー。
    • Lifecycle Agent が oadpContent パラメーターに問題を検出した場合の検証エラー。

    検証警告は Upgrade ステージをブロックしませんが、アップグレードを続行しても安全かどうかを判断する必要があります。これらの警告 (CRD の欠落、namespace の欠落、またはドライランの失敗など) は、警告に関する詳細で Prep ステージの status.conditions と ImageBasedUpgrade CR の annotation フィールドを更新します。

    検証警告の例

    # ...
    metadata:
    annotations:
      extra-manifest.lca.openshift.io/validation-warning: '...'
    # ...

    ただし、MachineConfig または Operator マニフェストを追加マニフェストに追加するなどの検証エラーが発生すると、Prep ステージが失敗し、Upgrade ステージがブロックされます。

    検証に合格すると、クラスターは新しい ostree stateroot を作成します。これには、シードイメージのプルと展開、およびホストレベルのコマンドの実行が含まれます。最後に、必要なすべてのイメージがターゲットクラスターに事前キャッシュされます。

検証

  • 次のコマンドを実行して、ImageBasedUpgrade CR のステータスを確認します。

    $ oc get ibu -o yaml

    出力例

      conditions:
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: In progress
        observedGeneration: 13
        reason: InProgress
        status: "False"
        type: Idle
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep completed
        observedGeneration: 13
        reason: Completed
        status: "False"
        type: PrepInProgress
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep stage completed successfully
        observedGeneration: 13
        reason: Completed
        status: "True"
        type: PrepCompleted
      observedGeneration: 13
      validNextStages:
      - Idle
      - Upgrade

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る