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) を作成します。

アップグレード中に必要なすべてのリソースを作成すると、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: <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

    各項目の説明:

    <target_version>
    ターゲットプラットフォームのバージョン。値はシードイメージのバージョンと一致する必要があります。
    <seed_container_image>
    ターゲットクラスターがシードイメージをプルできるリポジトリー。
    <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 は Prep ステージで指定された ConfigMap オブジェクトを検証します。

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

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

    検証警告は Upgrade ステージをブロックしませんが、アップグレードを続行しても安全かどうかを判断する必要があります。これらの警告 (カスタムリソース定義 (CRD) や namespace の欠落、あるいはドライランの失敗など) により、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

    以下の例は、Prep ステージの成功を示しています。

      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
トップに戻る