RHEL for Edge イメージへの埋め込み
RHEL for Edge イメージへの埋め込み
概要
第1章 Image Builder を使用した RHEL for Edge イメージへの埋め込み リンクのコピーリンクがクリップボードにコピーされました!
このガイドを使用して、MicroShift を含む RHEL イメージを構築します。
1.1. イメージ構築の準備 リンクのコピーリンクがクリップボードにコピーされました!
Image Builder ツールを使用して、エッジデプロイメントに最適化となるようにカスタマイズされた Red Hat Enterprise Linux for Edge (RHEL for Edge) イメージを作成します。最初に開発およびテストのために RHEL for Edge 仮想マシンでアプリケーションを使用して MicroShift ノードを実行し、エッジ実稼働環境でソリューション全体を使用できます。
RHEL for Edge の使用に関する詳細は、次の RHEL ドキュメントを参照してください。
- RHEL for Edge の概要 を参照してください。
- 特定の CPU アーキテクチャー用の Red Hat Enterprise Linux for Edge (RHEL for Edge) 9.4 イメージをビルドするには、Image Builder のシステム要件 を満たす同じ CPU アーキテクチャーの RHEL 9.4 ビルドホストが必要です。
-
Image Builder のインストール の手順に従って、Image Builder と
composer-cliツールをインストールします。
1.2. イメージ構築のための拡張サポートリポジトリーの有効化 リンクのコピーリンクがクリップボードにコピーされました!
MicroShift または Red Hat Enterprise Linux (RHEL) の延長サポート (EUS) リリースをお持ちの場合は、Image Builder が使用できるように RHEL EUS リポジトリーを有効にする必要があります。EUS バージョンをお持ちでない場合は、これらの手順をスキップできます。
前提条件
- MicroShift または RHEL の EUS バージョンがあるか、そのどちらかに更新中である。
- ビルドホストへの root ユーザーアクセス権がある。
- Red Hat Device Edge リリースの互換性に関する表 を確認している。
Red Hat Device Edge のサポートされている設定でコンポーネントのバージョンを維持するには、MicroShift と RHEL を同時に更新する必要がある場合があります。特に 2 つのマイナーバージョン間で MicroShift を更新する場合は、更新先の MicroShift のバージョンと、RHEL のバージョンの互換性があることを確認してください。そうしないと、サポート対象外の設定を作成したり、ノードを破損するか、またはその両方を作成できます。詳細は、Red Hat Device Edge リリースの互換性に関する表 を参照してください。
手順
次のコマンドを実行して、
/etc/osbuild-composer/repositoriesディレクトリーを作成します。sudo mkdir -p /etc/osbuild-composer/repositories
$ sudo mkdir -p /etc/osbuild-composer/repositoriesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
/usr/share/osbuild-composer/repositories/rhel-9.4.jsonファイルを/etc/osbuild-composer/repositoriesディレクトリーにコピーします。sudo cp /usr/share/osbuild-composer/repositories/rhel-9.4.json /etc/osbuild-composer/repositories/rhel-9.4.json
$ sudo cp /usr/share/osbuild-composer/repositories/rhel-9.4.json /etc/osbuild-composer/repositories/rhel-9.4.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/osbuild-composer/repositories/rhel-9.4.jsonファイルを次の値に変更して、baseosソースを更新します。# ... "baseurl": "https://cdn.redhat.com/content/eus/rhel<9>/<9.4>//baseos/os", # ...
# ... "baseurl": "https://cdn.redhat.com/content/eus/rhel<9>/<9.4>//baseos/os",1 # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <9> は、使用している RHEL のメジャーバージョンに、<9.4> は <major.minor> バージョンに置き換えます。選択した RHEL バージョンが、使用している MicroShift バージョンと互換性があることを確認してください。
オプション: 以下のコマンドを実行して
baseos更新を適用します。sudo sed -i "s,dist/rhel<9>/<9.4>/$(uname -m)/baseos/,eus/rhel<9>/<9.4>/$(uname -m)/baseos/,g" \ /etc/osbuild-composer/repositories/rhel-<9.4>.json
$ sudo sed -i "s,dist/rhel<9>/<9.4>/$(uname -m)/baseos/,eus/rhel<9>/<9.4>/$(uname -m)/baseos/,g" \ /etc/osbuild-composer/repositories/rhel-<9.4>.json1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <9> は、使用している RHEL のメジャーバージョンに、<9.4> は <major.minor> バージョンに置き換えます。選択した RHEL バージョンが、使用している MicroShift バージョンと互換性があることを確認してください。
/etc/osbuild-composer/repositories/rhel-<major.minor>.jsonファイルを次の値に変更して、appstreamソースを更新します。# ... "baseurl": "https://cdn.redhat.com/content/eus/rhel<9>/<9.4>//appstream/os", # ...
# ... "baseurl": "https://cdn.redhat.com/content/eus/rhel<9>/<9.4>//appstream/os",1 # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <9> は、使用している RHEL のメジャーバージョンに、<9.4> は <major.minor> バージョンに置き換えます。選択した RHEL バージョンが、使用している MicroShift バージョンと互換性があることを確認してください。
オプション: 以下のコマンドを実行して
appstreamの更新を適用します。sudo sed -i "s,dist/rhel<9>/<9.4>/$(uname -m)/appstream/,eus/rhel<9>/<9.4>/$(uname -m)/appstream/,g" \ /etc/osbuild-composer/repositories/rhel-<9.4>.json
$ sudo sed -i "s,dist/rhel<9>/<9.4>/$(uname -m)/appstream/,eus/rhel<9>/<9.4>/$(uname -m)/appstream/,g" \ /etc/osbuild-composer/repositories/rhel-<9.4>.json1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <9> は、使用している RHEL のメジャーバージョンに、<9.4> は <major.minor> バージョンに置き換えます。選択した RHEL バージョンが、使用している MicroShift バージョンと互換性があることを確認してください。
検証
composer-cli ツールを使用してソースに関する情報を表示することで、リポジトリーを検証できます。
以下のコマンドを実行して
baseosソースを確認します。sudo composer-cli sources info baseos | grep 'url ='
$ sudo composer-cli sources info baseos | grep 'url ='Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
url = "https://cdn.redhat.com/content/eus/rhel9/9.4/x86_64/baseos/os"
url = "https://cdn.redhat.com/content/eus/rhel9/9.4/x86_64/baseos/os"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
appstreamソースを確認します。sudo composer-cli sources info appstream | grep 'url ='
$ sudo composer-cli sources info appstream | grep 'url ='Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
url = "https://cdn.redhat.com/content/eus/rhel9/9.4/x86_64/appstream/os"
url = "https://cdn.redhat.com/content/eus/rhel9/9.4/x86_64/appstream/os"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. Image Builder への MicroShift リポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、ビルドホスト上の Image Builder に MicroShift リポジトリーを追加します。
前提条件
- ビルドホストが Image Builder のシステム要件を満たしている。
-
Image Builder と
composer-cliツールをインストールしてセットアップしている。 - ビルドホストへの root ユーザーアクセス権がある。
手順
次のコマンドを実行して、MicroShift の RPM をプルするために必要な
rhocp-4.18RPM リポジトリーソースを追加した Image Builder 設定ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
fast-datapathRPM リポジトリーを追加した Image Builder 設定ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Image Builder にソースを追加します。
sudo composer-cli sources add rhocp-4.18.toml
$ sudo composer-cli sources add rhocp-4.18.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow sudo composer-cli sources add fast-datapath.toml
$ sudo composer-cli sources add fast-datapath.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
以下のコマンドを実行して、ソースが適切に追加されたことを確認します。
sudo composer-cli sources list
$ sudo composer-cli sources listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
appstream baseos fast-datapath rhocp-4.18
appstream baseos fast-datapath rhocp-4.18Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. ブループリントへの MicroShift サービスの追加 リンクのコピーリンクがクリップボードにコピーされました!
MicroShift RPM パッケージを Image Builder ブループリントに追加すると、MicroShift が埋め込まれた RHEL for Edge イメージをビルドできるようになります。
手順
/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.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、MicroShift パッケージのみをリストした Image Builder 設定を確認します。
sudo composer-cli blueprints depsolve microshift_blueprint | grep microshift
$ sudo composer-cli blueprints depsolve microshift_blueprint | grep microshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
blueprint: microshift_blueprint v0.0.1 microshift-release-info-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.noarch microshift-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.x86_64blueprint: microshift_blueprint v0.0.1 microshift-release-info-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.noarch microshift-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行して、インストールするすべてのコンポーネントをリストした Image Builder 設定を確認します。
sudo composer-cli blueprints depsolve microshift_blueprint
$ sudo composer-cli blueprints depsolve microshift_blueprintCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. ブループリントへのその他のパッケージの追加 リンクのコピーリンクがクリップボードにコピーされました!
オプションの RPM パッケージの参照を ostree ブループリントに追加して有効にします。
前提条件
- Image Builder のブループリントファイルを作成している。
手順
次のコマンドを実行して、
ostreeブループリントを編集します。vi <microshift_blueprint.toml>
$ vi <microshift_blueprint.toml>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<microshift_blueprint.toml>は、MicroShift サービスに使用されるブループリントファイルの名前に置き換えます。
以下のサンプルテキストをブループリントに追加します。
[[packages]] name = "<microshift-additional-package-name>" version = "*"
[[packages]]1 name = "<microshift-additional-package-name>"2 version = "*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- 必要に応じて、ブループリントにカスタム証明局を追加します。
ブループリントへの追加が完了したら、新しい
ostreeシステムを構築してクライアントにデプロイすることで、マニフェストをアクティブなクラスターに適用できます。- ISO の作成
- ブループリントの追加、ISO のビルド
- ISO のダウンロードおよび使用準備
- 必要なプロビジョニングの実行
1.6. 認証局バンドルの追加 リンクのコピーリンクがクリップボードにコピーされました!
MicroShift は、クライアントがサーバー証明書を評価するときにホスト信頼バンドルを使用します。カスタマイズされたセキュリティー証明書チェーンを使用して、デプロイメント固有のクライアントとエンドポイント証明書の互換性を向上させることもできます。これを行うには、ルート証明書(CA)バンドルを Red Hat Enterprise Linux for Edge (RHEL for Edge)システム全体のトラストストアに追加します。
1.6.1. rpm-ostree イメージへの認証局バンドルの追加 リンクのコピーリンクがクリップボードにコピーされました!
イメージの作成に使用するブループリントに別の信頼できる認証局 (CA) を追加することで、Red Hat Enterprise Linux for Edge (RHEL for Edge) rpm-ostree イメージに追加の信頼できる認証局 (CA) を含めることができます。次の手順を使用すると、イメージレジストリーからイメージを取得するときにオペレーティングシステムによって信頼される別の CA が設定されます。
この手順では、ブループリントで CA バンドルのカスタマイズを設定してから、キックスタートファイルに手順を追加してバンドルを有効にする必要があります。次の手順では、data がキーで、<value> は PEM エンコードされた証明書を表します。
前提条件
- ビルドホストへの root ユーザーアクセス権がある。
- ビルドホストが Image Builder のシステム要件を満たしている。
-
Image Builder と
composer-cliツールをインストールしてセットアップしている。
手順
次のカスタム値をブループリントに追加して、ディレクトリーを追加します。
イメージがビルドされるホスト上のブループリントに指示を追加して、証明書バンドル用のディレクトリー
(/etc/pki/ca-trust/source/anchors/など) を作成します。[[customizations.directories]] path = "/etc/pki/ca-trust/source/anchors"
[[customizations.directories]] path = "/etc/pki/ca-trust/source/anchors"Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージが起動したら、証明書バンドル (
/etc/pki/ca-trust/source/anchors/cert1.pemなど) を作成します。[[customizations.files]] path = "/etc/pki/ca-trust/source/anchors/cert1.pem" data = "<value>"
[[customizations.files]] path = "/etc/pki/ca-trust/source/anchors/cert1.pem" data = "<value>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
システム全体のトラストストア設定で証明書バンドルを有効にするには、以下のように、使用しているイメージが起動されているホストで
update-ca-trustコマンドを使用します。sudo update-ca-trust
$ sudo update-ca-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記update-ca-trustコマンドは、MicroShift ホストのインストールに使用されるキックスタートファイルの%postセクションに含まれている場合があります。この設定により、最初の起動時に必要なすべての証明書の信頼が有効になります。キックスタートファイルに手順を追加してバンドルを有効にする前に、ブループリントで CA バンドルのカスタマイズを設定する必要があります。%post # Update certificate trust storage in case new certificates were # installed at /etc/pki/ca-trust/source/anchors directory update-ca-trust %end
%post # Update certificate trust storage in case new certificates were # installed at /etc/pki/ca-trust/source/anchors directory update-ca-trust %endCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7. Image Builder を使用した 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
1.8. Image Builder へのブループリントの追加および ISO の構築 リンクのコピーリンクがクリップボードにコピーされました!
次のコマンドを実行して、Image Builder にブループリントを追加します。
sudo composer-cli blueprints push microshift-installer.toml
$ sudo composer-cli blueprints push microshift-installer.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
ostreeISO ビルドを開始します。BUILDID=$(sudo composer-cli compose start-ostree --url http://localhost:8085/repo/ --ref "rhel/9/$(uname -m)/edge" microshift-installer edge-installer | awk '{print $2}')$ BUILDID=$(sudo composer-cli compose start-ostree --url http://localhost:8085/repo/ --ref "rhel/9/$(uname -m)/edge" microshift-installer edge-installer | awk '{print $2}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、監視対象のビルドの 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 c793c24f-ca2c-4c79-b5b7-ba36f5078e8d RUNNING Wed Jun 7 13:22:20 2023 microshift-installer 0.0.0 edge-installer
ID Status Time Blueprint Version Type Size c793c24f-ca2c-4c79-b5b7-ba36f5078e8d RUNNING Wed Jun 7 13:22:20 2023 microshift-installer 0.0.0 edge-installerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 完了したビルドの出力例
ID Status Time Blueprint Version Type Size c793c24f-ca2c-4c79-b5b7-ba36f5078e8d FINISHED Wed Jun 7 13:34:49 2023 microshift-installer 0.0.0 edge-installer
ID Status Time Blueprint Version Type Size c793c24f-ca2c-4c79-b5b7-ba36f5078e8d FINISHED Wed Jun 7 13:34:49 2023 microshift-installer 0.0.0 edge-installerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9. ISO のダウンロードおよび使用準備 リンクのコピーリンクがクリップボードにコピーされました!
以下のコマンドを実行して、ID を使用して ISO をダウンロードします。
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}-installer.iso$ sudo chown $(whoami). ${BUILDID}-installer.isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、現在のユーザーの読み取り権限をイメージに追加します。
sudo chmod a+r ${BUILDID}-installer.iso$ sudo chmod a+r ${BUILDID}-installer.isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- キックスタートファイルを使用して仮想マシンをプロビジョニングします。
1.9.1. ISO へのキックスタートファイルの埋め込み リンクのコピーリンクがクリップボードにコピーされました!
MicroShift に付属のキックスタートファイルを使用することも、既存の RHEL for Edge Installer (ISO) キックスタートファイルを更新することもできます。準備ができたら、キックスタートファイルを ISO に埋め込みます。キックスタートファイルには、ユーザーを作成する方法と、RHEL for Edge イメージを取得してデプロイする方法の詳細が含まれている必要があります。
前提条件
- MicroShift を使用して RHEL for Edge コミットを含む RHEL for Edge Installer (ISO) イメージを作成している。
-
既存のキックスタートファイルの更新の準備が完了している。MicroShift RPM に付属する
microshift-starter.ksキックスタートファイルを使用できます。
手順
キックスタートファイルのメインセクションで、システムルートに少なくとも 10GB が指定されている
rhelという名前の LVM ボリュームグループが含まれるように、ファイルシステムのセットアップを更新します。LVMS CSI ドライバーがワークロードのデータを格納するために使用する空き領域を残します。ファイルシステムを設定するキックスタートファイルスニペットの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow キックスタートファイルの
%postセクションで、プルシークレットと必須のファイアウォールルールを追加します。プルシークレットとファイアウォールルールを追加するキックスタートスニペットの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
mkksisoツールをインストールします。sudo yum install -y lorax
$ sudo yum install -y loraxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、新しいキックスタートファイルで ISO を更新します。
sudo mkksiso <your_kickstart>.ks <your_installer>.iso <updated_installer>.iso
$ sudo mkksiso <your_kickstart>.ks <your_installer>.iso <updated_installer>.isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.10. MicroShift ノードにアクセスする方法 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc)を使用して MicroShift サービスにアクセスします。
- MicroShift サービスを実行している同じマシンまたはリモートの場所からノードにアクセスできます。
- このアクセスを使用して、ワークロードを監視および管理できます。
-
以下の手順を使用する場合は、接続するホスト名または IP アドレスが含まれる
kubeconfigファイルを選択し、関連するディレクトリーに配置します。
1.10.1. MicroShift ノードにローカルでアクセス リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、kubeconfig ファイルを使用して MicroShift ノードをローカルでアクセスします。
前提条件
-
ocバイナリーがインストールされている。
手順
オプション: Red Hat Enterprise Linux (RHEL) マシンに
~/.kube/フォルダーがない場合は、次のコマンドを実行してフォルダーを作成します。mkdir -p ~/.kube/
$ mkdir -p ~/.kube/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、生成されたローカルアクセス
kubeconfigファイルを~/.kube/ディレクトリーにコピーします。sudo cat /var/lib/microshift/resources/kubeadmin/kubeconfig > ~/.kube/config
$ sudo cat /var/lib/microshift/resources/kubeadmin/kubeconfig > ~/.kube/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
~/.kube/configファイルの権限を更新します。chmod go-r ~/.kube/config
$ chmod go-r ~/.kube/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを入力して、MicroShift が実行されていることを確認します。
oc get all -A
$ oc get all -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.10.2. MicroShift ノードへのリモートアクセス用にファイアウォールを開く リンクのコピーリンクがクリップボードにコピーされました!
リモートユーザーが MicroShift サービスにアクセスできるように、次の手順を使用してファイアウォールを開きます。ワークステーションユーザーがリモートでノードにアクセスする前に、この手順を実行する必要があります。
この手順では、user@microshift は、MicroShift ホストマシン上のユーザーであり、別のワークステーション上のリモートユーザーがアクセスできるようにそのマシンをセットアップする責任があります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - クラスター管理者の権限がある。
手順
MicroShift ホストの
user@microshiftとして、次のコマンドを実行して、Kubernetes API サーバー (6443/tcp) のファイアウォールポートを開きます。sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reload
[user@microshift]$ sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
user@microshiftとして次のコマンドを実行して、MicroShift が入力されていることを確認します。oc get all -A
[user@microshift]$ oc get all -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.10.3. MicroShift ノードにリモートでアクセス リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、kubeconfig ファイルを使用してリモート場所から MicroShift サービスにアクセスします。
user@workstation ログインは、ホストマシンにリモートからアクセスするのに使用されます。手順の <user> 値は、user@workstation が MicroShift ホストにログインするユーザーの名前になります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
user@microshiftは、ローカルホストからファイアウォールを開いている。 -
追加の
kubeconfigファイルを生成している。
手順
user@workstationとして、Red Hat Enterprise Linux (RHEL) マシンに~/.kube/フォルダーがない場合は、次のコマンドを実行してフォルダーを作成します。mkdir -p ~/.kube/
[user@workstation]$ mkdir -p ~/.kube/Copy to Clipboard Copied! Toggle word wrap Toggle overflow user@workstationとして、次のコマンドを実行して、MicroShift ホストのホスト名の変数を設定します。MICROSHIFT_MACHINE=<name or IP address of MicroShift machine>
[user@workstation]$ MICROSHIFT_MACHINE=<name or IP address of MicroShift machine>Copy to Clipboard Copied! Toggle word wrap Toggle overflow user@workstationとして、次のコマンドを実行して、MicroShift を実行している RHEL マシンからローカルマシンに接続するホスト名または IP アドレスを含む生成されたkubeconfigファイルをコピーします。ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config
[user@workstation]$ ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <user> は、SSH ログイン認証情報に置き換えます。
user@workstationとして、次のコマンドを実行して~/.kube/configファイルのパーミッションを更新します。chmod go-r ~/.kube/config
$ chmod go-r ~/.kube/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
user@workstationとして、次のコマンドを入力して、MicroShift が実行されていることを確認します。oc get all -A
[user@workstation]$ oc get all -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow
第2章 オフラインで使用するための RHEL for Edge イメージへの埋め込み リンクのコピーリンクがクリップボードにコピーされました!
rpm-ostree commit に MicroShift コンテナーを埋め込むと、エアギャップ、切断された、またはオフライン環境でノードを実行できます。Red Hat Enterprise Linux for Edge (RHEL for Edge) イメージに Red Hat build of MicroShift コンテナーを埋め込むことで、コンテナーエンジンがネットワーク経由でコンテナーレジストリーからイメージをプルする必要がなくなります。ネットワーク接続がなくても、ワークロードをすぐに起動できます。
2.1. オフラインデプロイ用の MicroShift コンテナーの埋め込み リンクのコピーリンクがクリップボードにコピーされました!
Image Builder を使用して、MicroShift コンテナーイメージが埋め込まれた RHEL for Edge イメージを作成できます。コンテナーイメージを埋め込むには、Image Builder ブループリントファイルにイメージ参照を追加する必要があります。
前提条件
- ビルドホストへの root ユーザーアクセス権がある。
- ビルドホストが Image Builder のシステム要件を満たしている。
-
Image Builder と
composer-cliツールをインストールしてセットアップしている。 - RHEL for Edge イメージのブループリントを作成した。
- jq がインストールされている。
手順
-
デプロイする MicroShift バージョンで使用されるコンテナーイメージ参照の正確なリストを取得します。手順 2 に従って
microshift-release-infoRPM パッケージをインストールするか、手順 3 に従って RPM をダウンロードして展開します。 microshift-release-infoRPM パッケージをインストールするには、以下を実行します。次のコマンドを実行して、
microshift-release-infoRPM パッケージをインストールします。sudo dnf install -y microshift-release-info-<release_version>
$ sudo dnf install -y microshift-release-info-<release_version>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <release_version>は、デプロイするリリースの番号に置き換えます。完全なバージョン番号 (4.18.1など) を使用してください。次のコマンドを実行して、
/usr/share/microshift/releaseディレクトリーの内容をリスト表示し、リリース情報ファイルの存在を確認します。sudo ls /usr/share/microshift/release
$ sudo ls /usr/share/microshift/releaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
release-x86_64.json release-aarch64.json
release-x86_64.json release-aarch64.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow microshift-release-infoRPM をインストールした場合は、ステップ 4 に進みます。
手順 2 を完了していない場合は、
microshift-release-infoRPM をインストールせずにダウンロードして展開します。次のコマンドを実行して、RPM パッケージをダウンロードします。
sudo dnf download microshift-release-info-<release_version>
$ sudo dnf download microshift-release-info-<release_version>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<release_version>は、デプロイするリリースの番号に置き換えます。完全なバージョン番号 (4.18.1など) を使用してください。
RPM の出力例
microshift-release-info-4.18.1.-202511101230.p0.g7dc6a00.assembly.4.18.1.el9.noarch.rpm
microshift-release-info-4.18.1.-202511101230.p0.g7dc6a00.assembly.4.18.1.el9.noarch.rpmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、RPM パッケージをインストールせずに展開します。
rpm2cpio <my_microshift_release_info> | cpio -idmv ./usr/share/microshift/release/release-aarch64.json ./usr/share/microshift/release/release-x86_64.json
$ rpm2cpio <my_microshift_release_info> | cpio -idmv1 ./usr/share/microshift/release/release-aarch64.json ./usr/share/microshift/release/release-x86_64.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<my_microshift_release_info>は、前の手順の RPM パッケージの名前に置き換えます。
次のコマンドを実行して、コンテナー参照情報が含まれる JSON ファイルの場所を定義します。
RELEASE_FILE=</path/to/your/release-$(uname -m).json>
$ RELEASE_FILE=</path/to/your/release-$(uname -m).json>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
</path/to/your/release-$(uname -m).json>は、JSON ファイルへのフルパスに置き換えます。必ずアーキテクチャーに必要なファイルを使用してください。
次のコマンドを実行して、イメージをビルドする手順が含まれる TOML ファイルの場所を定義します。
BLUEPRINT_FILE=</path/to/your/blueprint.toml>
$ BLUEPRINT_FILE=</path/to/your/blueprint.toml>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
</path/to/your/blueprint.toml>は、TOML ファイルへのフルパスに置き換えます。
次のコマンドを実行して、コンテナーイメージ参照を生成し、ブループリント TOML ファイルに埋め込みます。
jq -r '.images | .[] | ("[[containers]]\nsource = \"" + . + "\"\n")' "${RELEASE_FILE}" >> "${BLUEPRINT_FILE}"$ jq -r '.images | .[] | ("[[containers]]\nsource = \"" + . + "\"\n")' "${RELEASE_FILE}" >> "${BLUEPRINT_FILE}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナー参照を示す生成された TOML フラグメントの例
[[containers]] source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db" [[containers]] source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db"
[[containers]] source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db" [[containers]] source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例を使用して、Image Builder のブループリントファイルに追加して、コンテナーイメージを手動で埋め込むことができます。
コンテナーイメージをブループリントに手動で埋め込むセクションの例
[[containers]] source = "<my_image_pullspec_with_tag_or_digest>"
[[containers]] source = "<my_image_pullspec_with_tag_or_digest>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow <my_image_pullspec_with_tag_or_digest>は、デプロイする MicroShift バージョンで使用されるコンテナーイメージへの正確な参照に置き換えます。
2.2. イメージ構築の準備としてのレジストリー認証の追加 リンクのコピーリンクがクリップボードにコピーされました!
ブループリントを更新した後、MicroShift コンテナーが埋め込まれたイメージをビルドするには、コンテナーレジストリーの認証を追加する必要があります。これを行うには、Image Builder 設定の一部である systemd サービスファイルの 1 つを更新します。
前提条件
- ビルドホストへの root ユーザーアクセス権がある。
- ビルドホストが Image Builder のシステム要件を満たしている。
-
Image Builder と
composer-cliツールをインストールしてセットアップしている。
/etc/osbuild-worker/osbuild-worker.toml ディレクトリーと設定ファイルが存在しない場合は、作成してください。
手順
/etc/osbuild-worker/osbuild-worker.toml設定ファイルの[containers]セクションでauth_file_pathを設定して、レジストリーへの認証用のプルシークレットを追加します。[containers] auth_file_path = "/etc/osbuild-worker/pull-secret.json"
[containers] auth_file_path = "/etc/osbuild-worker/pull-secret.json"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 設定の変更を適用するには、ホストを再起動します。
2.3. オフラインデプロイ用の rpm-ostree イメージのビルドと使用 リンクのコピーリンクがクリップボードにコピーされました!
Image Builder を使用して、MicroShift コンテナーイメージが埋め込まれた rpm-ostree システムイメージを作成できます。コンテナーイメージを埋め込むには、Image Builder ブループリントにイメージ参照を追加する必要があります。必要に応じて、ユースケースに合わせてコミットと ISO を作成できます。
後述する手順の前提条件に加えて、次の前提条件を満たす必要があります。
2.3.1. オフラインデプロイの追加の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- オフラインで使用するための RHEL for Edge イメージブループリントを作成および更新している。次の手順では、コンテナーイメージを使用して作成したブループリントの例を使用します。「オフラインデプロイ用の MicroShift コンテナーの埋め込み」手順で作成した更新済みのブループリントを使用する必要があります。
-
/etc/osbuild-worker/osbuild-worker.toml設定ファイルをオフラインで使用するために更新している。
次の手順の minimal-microshift.toml は、オフラインで使用するために更新した TOML の名前 <my_blueprint_name> に置き換えます。
2.3.2. ブループリントへの MicroShift サービスの追加 リンクのコピーリンクがクリップボードにコピーされました!
MicroShift RPM パッケージを Image Builder ブループリントに追加すると、MicroShift が埋め込まれた RHEL for Edge イメージをビルドできるようになります。
手順
/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.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、MicroShift パッケージのみをリストした Image Builder 設定を確認します。
sudo composer-cli blueprints depsolve microshift_blueprint | grep microshift
$ sudo composer-cli blueprints depsolve microshift_blueprint | grep microshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
blueprint: microshift_blueprint v0.0.1 microshift-release-info-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.noarch microshift-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.x86_64blueprint: microshift_blueprint v0.0.1 microshift-release-info-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.noarch microshift-4.18.1-202511250827.p0.g4105d3b.assembly.4.18.1.el9.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行して、インストールするすべてのコンポーネントをリストした Image Builder 設定を確認します。
sudo composer-cli blueprints depsolve microshift_blueprint
$ sudo composer-cli blueprints depsolve microshift_blueprintCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.3. Image Builder を使用した 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