10.2.5. ネットワーク以外のデプロイメント向けの RHEL for Edge イメージ更新の手動デプロイ
RHEL for Edge ブループリントを編集した後、それらの更新を使用して RHEL for Edge Commit イメージを更新できます。たとえば、RHEL イメージビルダーを使用して新しいコミットを生成し、VM にすでにデプロイされている RHEL for Edge イメージを更新します。この新しいコミットを使用して、最新のパッケージバージョンまたは追加パッケージのイメージをデプロイしてください。
RHEL for Edge イメージの更新をデプロイするには、前提条件を満たしていることを確認し、手順に従ってください。
前提条件
- ホストで、ブラウザーの Web コンソールから RHEL Image Builder アプリケーションを開いている。
- 稼働中の RHEL for Edge システムがプロビジョニングされています。
- HTTP 経由で提供される OSTree リポジトリーがあります。
- 以前に作成した RHEL for Edge イメージブループリントを編集しました。
手順
- システムホストの RHEL イメージビルダーダッシュボードで、 をクリックします。
Create Image ウィンドウで、以下の手順を実行します。
Image output ページで、以下を実行します。
- Select a blueprint ドロップダウンリストから、編集したブループリントを選択します。
-
Image output type ドロップダウンリストから、
RHEL for Edge Container (.tar)を選択します。 - をクリックします。
OSTree settings ページで、以下を入力します。
- Repository URL フィールドに、イメージに埋め込むコミットの OSTree リポジトリーへの URL を入力します。たとえば、http://10.0.2.2:8080/repo/ です。RHEL for Edge イメージをインストールするための Web サーバーの設定 を参照してください。
- Parent commit フィールドで、以前に生成された親コミット ID を指定します。RHEL for Edge イメージのコミットの展開 を参照してください。
-
Ref フィールドでは、コミットの名前を指定するか、空欄のままにしておくことができます。デフォルトでは、Web コンソールは
Refをrhel/8/arch_name/edgeに指定します。 - をクリックします。
Review ページでカスタマイズを確認し、 をクリックします。
RHEL Image Builder が、更新されたブループリントの RHEL for Edge イメージを作成します。
Images タブをクリックして、RHEL for Edge イメージの作成の進行状況を表示します。
注記イメージ作成プロセスの完了まで数分かかります。
作成したイメージには、最新パッケージがあれば、そのパッケージが追加され、オリジナルの
commit IDを親とします。
結果として得られる RHEL for Edge イメージをホストにダウンロードします。
-
Images タブで をクリックして、RHEL for Edge Container (
.tar) イメージをホストシステムに保存します。
-
Images タブで をクリックして、RHEL for Edge Container (
元のエッジイメージからプロビジョニングされた RHEL システムで、次の手順を実行します。
今回は子コミット ID を提供して Podman に RHEL for Edge Container イメージを読み込みます。
$ cat ./child-commit_ID-container.tar | sudo podman loadPodmanを実行します。# sudo podman run -p 8080:8080 localhost/edge-testOSTree リポジトリーをアップグレードします。
# ostree --repo=/var/www/html/repo pull-local /tmp/ostree-commit/repo # ostree --repo=/var/www/html/repo summary -uプロビジョニングされた RHEL システム上で、オリジナルの Edge イメージから、現在の状態を確認します。
$ rpm-ostree status新しいコミット ID がない場合は、以下のコマンドを実行して、利用可能なアップグレードの有無を確認します。
$ rpm-ostree upgrade --check利用可能な更新がある場合は、コマンドの出力は、現在アクティブな OSTree コミット ID など、OSTree リポジトリーで利用可能な更新に関する情報を提供します。その他に、利用可能な更新がないことをメッセージに通知するよう求められます。
OSTree を更新して、新しい OSTree のコミット ID を利用できるようにします。
$ rpm-ostree upgradeOSTree は、リポジトリーに更新があるかどうかを確認します。ある場合は、更新を取得し、この新しいコミット更新のデプロイメントを有効化できるように、システムの再起動を要求します。
現在のシステムステータスを確認します。
$ rpm-ostree statusこれで、コミットが 2 つあることが分かります。
- アクティブな親コミット。
- アクティブではなく、差異が 1 つ追加された新しいこミット。
新しいデプロイメントを有効にし、新しいコミットを有効にするには、システムを再起動します。
# systemctl rebootAnaconda インストーラーは、新しいデプロイメントで再起動します。ログイン画面では、起動に利用可能な新しいデプロイメントが表示されます。
最新のコミットで起動するには、次のコマンドを実行して、新しいデプロイメントがリストの先頭になるようにブートエントリーを自動的に並べ替えます。
$ rpm-ostree upgrade必要に応じて、キーボードの矢印キーを使用して GRUB メニューエントリーを選択し、 を押します。
- ログインユーザーのアカウント認証情報を提供してください。
OSTree の状態を確認します。
$ rpm-ostree statusコマンド出力は、アクティブなコミット ID を提供します。
変更したパッケージが存在する場合は、親コミットと新しいコミットの間で diff を実行します。
$ rpm-ostree db diff parent_commit new_commit更新により、インストールしたパッケージが利用可能になり、すぐに使用できる状態になっていることがわかります。