10.3. RHEL for Edge の自動イメージ更新のデプロイ

Edge デバイスに RHEL for Edge イメージをインストールした後、利用可能なイメージ更新がある場合は確認し、自動適用することができます。

rpm-ostreed-automatic.service (systemd サービス) と rpm-ostreed-automatic.timer (systemd タイマー) は、チェックとアップグレードの頻度を制御します。利用可能な更新がある場合は、ステージングされたデプロイメントとして表示されます。

イメージの自動更新をデプロイするには、以下の概要手順を実施します。

  • イメージ更新ポリシーの更新
  • 更新の自動ダウンロードとステージングの有効化

10.3.1. RHEL for Edge イメージの更新ポリシーの更新

イメージ更新ポリシーを更新するには、Edge デバイスの /etc/rpm-ostreed.conf ロケーションにある rpm-ostreed.conf ファイルから AutomaticUpdatePolicy および IdleExitTimeout の設定を使用します。

AutomaticUpdatePolicy 設定は、自動更新ポリシーを制御し、以下の更新チェックのオプションがあります。

  • none: 自動更新を無効にします。デフォルトでは、AutomaticUpdatePolicy 設定は none に設定されています。
  • check: メタデータを十分にダウンロードして、ステータスが rpm-ostree の、利用可能な更新を表示します。
  • stage: 再起動時に適用される更新をダウンロードして展開します。

IdleExitTimeout 設定は、デーモンが終了するまでの非活動時間を秒単位で制御するもので、以下のオプションがあります。

  • 0: オートイグジットを無効にする。
  • 60: デフォルトでは、IdleExitTimeout の設定は 60 に設定されています。

自動更新を有効にするには、以下の手順を実行します。

手順

  1. /etc/rpm-ostreed.conf ファイルで、以下を更新します。

    • AutomaticUpdatePolicy の値を check に変更します。
    • 更新チェックを実行するには、IdleExitTimeout の値を秒単位で指定します。
  2. rpm-ostreed サービスを再読み込みし、systemd タイマーを有効にします。

    # systemctl reload rpm-ostreed
    # systemctl enable rpm-ostreed-automatic.timer --now
  3. rpm-ostree ステータスを確認し、自動更新ポリシーが設定され、時間がアクティブであることを確認します。

    # rpm-ostree status

    コマンド出力は以下を表示します。

    State: idle; auto updates enabled (check; last run <minutes> ago)

    さらに、出力には利用可能な更新情報も表示されます。

10.3.2. RHEL for Edge の更新の自動ダウンロードとステージングの有効化

イメージ更新ポリシーを更新してイメージの更新を確認すると、更新がある場合は更新の詳細と一緒に表示されます。更新の適用を決定した場合は、ポリシーを有効にして、更新を自動的にダウンロードしてステージします。続いて、利用可能なイメージの更新がダウンロードされ、デプロイメントのためにステージングされます。更新は、Edge デバイスを再起動すると適用され、有効になります。

更新の自動ダウンロードとステージングのポリシーを有効にするには、以下の更新を実行します。

手順

  1. /etc/rpm-ostreed.conf ファイルで、AutomaticUpdatePolicy を stage に更新します。
  2. rpm-ostreed サービスを再読み込みします。

    # systemctl enable rpm-ostreed-automatic.timer --now
  3. rpm-ostree の状態を確認します。

    # rpm-ostree status

    コマンド出力は以下を表示します。

    State: idle
    AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run <time> ago
  4. 更新を開始するには、タイマーによる更新の開始を待つか、手動でサービスを開始することができます。

    # systemctl start rpm-ostreed-automatic.service

    更新が開始すると、rpm-ostree の状態は以下のようになります。

    # rpm-ostree status
    State: busy
    AutomaticUpdates: stage; rpm-ostreed-automatic.service: running
    Transaction: automatic (stage)

    更新が完了すると、デプロイメントのリストに新しいデプロイメントがステージングされ、オリジナルの起動したデプロイメントはそのままになります。新しいデプロイメントを使用してシステムを起動するか、次の更新を待つかを決めることができます。

    デプロイメントのリストを表示するには、rpm-ostree status コマンドを実行してください。

    以下は出力例です。

    # rpm-ostree status
    State: idle
    AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run <time> ago
    Deployments:

    更新されたパッケージの詳細を含むデプロイメントのリストを表示するには、rpm-ostree status -v コマンドを実行してください。