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


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

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

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

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

アップグレードに必要なすべてのリソースを作成したら、準備 段階に進むことができます。詳細は、「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: <target_version>
        image: <seed_container_image>
        pullSecretRef: <seed_pull_secret>
      autoRollbackOnFailure: {}
        initMonitorTimeoutSeconds: <initMonitorTimeoutSeconds>
      extraManifests:
      - name: example-extra-manifests-cm
        namespace: openshift-lifecycle-agent
      - name: example-catalogsources-cm
        namespace: openshift-lifecycle-agent
      oadpContent:
      - name: oadp-cm-example
        namespace: openshift-adp

    ここでは、以下のようになります。

    < ターゲットバージョン >
    ターゲットプラットフォームのバージョン。値はシードイメージのバージョンと一致する必要があります。
    < シードコンテナーイメージ >
    ターゲットクラスターがシードイメージをプルできるリポジトリー。
    <seed_pull_secret>
    イメージがプライベートレジストリー内にある場合にコンテナーイメージをプルするための認証情報を含むシークレットへの参照。
    <initMonitorTimeoutSeconds>
    オプション: ロールバックする時間枠 (秒単位)。最初の再起動後、この時間枠内にアップグレードが完了しないと、ロールバックが実行されます。定義されていない場合、または 0 に設定されている場合、Lifecycle Agent はデフォルト値の 1800 秒 (30 分) を使用します。
    extraManifests
    オプション: ConfigMap リソースのリスト。これらのリソースには、アップグレード後も保持する必要のあるカスタムカタログソースと、シードイメージに含まれていない追加のマニフェストが含まれています。
    oadpContent
    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 は 準備 段階で指定された ConfigMap オブジェクトを検証します。

    以下のような問題が発生する可能性があります。

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

    検証警告は Upgrade ステージをブロックしませんが、アップグレードを続行しても安全かどうかを判断する必要があります。これらの警告 (たとえば、カスタムリソース定義 (CRD) や名前空間の欠落、ドライランの失敗など) は、Prep ステージの status.conditionsImageBasedUpgrade CR の annotation フィールドを警告の詳細で更新します。以下の例は、これらの詳細を示しています。

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

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

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

検証

  • 次のコマンドを実行して、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
トップに戻る