3.3. オフラインデプロイ用の rpm-ostree イメージのビルドと使用
Image Builder を使用して、MicroShift コンテナーイメージが埋め込まれた rpm-ostree システムイメージを作成できます。コンテナーイメージを埋め込むには、Image Builder ブループリントにイメージ参照を追加する必要があります。必要に応じて、ユースケースに合わせてコミットと ISO を作成できます。
後述する手順の前提条件に加えて、次の前提条件を満たす必要があります。
3.3.1. オフラインデプロイの追加の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- オフラインで使用するための RHEL for Edge イメージブループリントを作成および更新している。次の手順では、コンテナーイメージを使用して作成したブループリントの例を使用します。「オフラインデプロイ用の MicroShift コンテナーの埋め込み」手順で作成した更新済みのブループリントを使用する必要があります。
-
/etc/osbuild-worker/osbuild-worker.toml設定ファイルをオフラインで使用するために更新している。
次の手順の minimal-microshift.toml は、オフラインで使用するために更新した TOML の名前 <my_blueprint_name> に置き換えます。
3.3.2. ブループリントへの MicroShift サービスの追加 リンクのコピーリンクがクリップボードにコピーされました!
MicroShift RPM パッケージを Image Builder ブループリントに追加すると、MicroShift が埋め込まれた RHEL for Edge イメージをビルドできるようになります。
- 手順 1 から開始して独自の最小限のブループリントファイルを作成すると、MicroShift のインストールが高速化されます。
手順 2 から開始して、すべての RPM パッケージとコンテナーイメージを含む、生成されたインストール用のブループリントを使用します。これはインストールプロセスに時間がかかりますが、コンテナー参照がローカルでアクセスされるため、起動は速くなります。
重要-
次の手順の
<microshift_blueprint.toml>は、使用している TOML ファイルの名前に置き換えます。 -
次の手順の
<microshift_blueprint>は、ブループリントに使用する名前に置き換えます。
-
次の手順の
手順
次の例を使用して、独自のブループリントファイルを作成します。
カスタム Image Builder ブループリントの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コマンドのワイルドカード
*は、最新の MicroShift RPM を使用します。特定のバージョンが必要な場合は、ワイルドカードを必要なバージョンに置き換えます。たとえば、MicroShift 4.17.1 RPM をダウンロードするには、4.17.1を挿入します。オプション:
/usr/share/microshift/blueprintディレクトリーにインストールされている、プラットフォームアーキテクチャーに固有のブループリントを使用します。ブループリントセクションの説明は、次のサンプルスニペットを参照してください。生成された Image Builder ブループリントのサンプルスニペット
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Image Builder にブループリントを追加します。
sudo composer-cli blueprints push <microshift_blueprint.toml>
$ sudo composer-cli blueprints push <microshift_blueprint.toml>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<microshift_blueprint.toml>は、TOML ファイルの名前に置き換えます。
検証
次のコマンドを実行して、MicroShift パッケージのみをリストした Image Builder 設定を確認します。
sudo composer-cli blueprints depsolve <microshift_blueprint> | grep microshift
$ sudo composer-cli blueprints depsolve <microshift_blueprint> | grep microshift1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<microshift_blueprint>は、ブループリントの名前に置き換えます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行して、インストールするすべてのコンポーネントをリストした Image Builder 設定を確認します。
sudo composer-cli blueprints depsolve <microshift_blueprint>
$ sudo composer-cli blueprints depsolve <microshift_blueprint>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<microshift_blueprint>は、ブループリントの名前に置き換えます。
3.3.3. RHEL for Edge イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
ISO を作成するには、以下の手順を使用します。RHEL for Edge Installer イメージは、実行中のコンテナーからコミットをプルし、埋め込みの rpm-ostree コミットを使用するように設定されたキックスタートファイルを持つ、インストール可能なブート ISO を作成します。
前提条件
- ビルドホストが Image Builder のシステム要件を満たしている。
-
Image Builder と
composer-cliツールをインストールしてセットアップしている。 - ビルドホストへの root ユーザーアクセス権がある。
-
podmanツールがインストールされている。
手順
次のコマンドを実行して、
ostreeコンテナーイメージビルドを開始します。BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '/^Compose/ {print $2}')$ BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '/^Compose/ {print $2}')1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<microshift_blueprint>は、ブループリントの名前に置き換えます。
このコマンドは、監視対象のビルドの ID (ID) も返します。
次のコマンドを実行して、ビルドのステータスを定期的に確認できます。
sudo composer-cli compose status
$ sudo composer-cli compose statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 実行中のビルドの出力例
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 RUNNING Wed Jun 7 12:26:23 2023 microshift_blueprint 0.0.1 edge-container
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 RUNNING Wed Jun 7 12:26:23 2023 microshift_blueprint 0.0.1 edge-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 完了したビルドの出力例
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 FINISHED Wed Jun 7 12:32:37 2023 microshift_blueprint 0.0.1 edge-container
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 FINISHED Wed Jun 7 12:32:37 2023 microshift_blueprint 0.0.1 edge-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記起動および停止方法を理解している場合は、
watchコマンドを使用してビルドを監視できます。ID を使用してコンテナーイメージをダウンロードし、次のコマンドを実行して、使用可能なイメージを取得します。
sudo composer-cli compose image ${BUILDID}$ sudo composer-cli compose image ${BUILDID}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ダウンロードしたコンテナーイメージの所有権を現在のユーザーに変更します。
sudo chown $(whoami). ${BUILDID}-container.tar$ sudo chown $(whoami). ${BUILDID}-container.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、現在のユーザーの読み取り権限をイメージに追加します。
sudo chmod a+r ${BUILDID}-container.tar$ sudo chmod a+r ${BUILDID}-container.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の手順を実行して、
ostreeコンテナーイメージが ISO ビルドで使用されるようにポート 8085 でサーバーをブートストラップします。次のコマンドを実行して、
IMAGEID変数の結果を取得します。IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')$ IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')Copy to Clipboard Copied! Toggle word wrap Toggle overflow IMAGEID変数の結果をもとに、次のコマンドを実行して podman コマンドを実行します。sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}$ sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、監視用に
IMAGEID変数に保存されているコンテナーの ID も返します。
次のコマンドを実行して、インストーラーブループリントファイルを生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow