第3章 オフラインで使用するための RHEL for Edge イメージへの埋め込み


rpm-ostree コミットに MicroShift コンテナーを埋め込むと、エアギャップ環境、非接続環境、またはオフライン環境でクラスターを実行できます。MicroShift コンテナーを Red Hat Enterprise Linux for Edge (RHEL for Edge) イメージに埋め込むことで、コンテナーエンジンがコンテナーレジストリーからネットワーク経由でイメージをプルする必要がなくなります。ネットワーク接続がなくても、ワークロードをすぐに起動できます。

3.1. オフラインデプロイ用の MicroShift コンテナーの埋め込み

Image Builder を使用して、組み込みの MicroShift コンテナーイメージで RHEL for Edge イメージを作成できます。コンテナーイメージを埋め込むには、Image Builder ブループリントファイルにイメージ参照を追加する必要があります。

前提条件

  • ビルドホストへの root ユーザーアクセス権がある。
  • ビルドホストが Image Builder のシステム要件を満たしている。
  • Image Builder と composer-cli ツールをインストールしてセットアップしている。
  • RHEL for Edge イメージのブループリントを作成している。
  • jq がインストールされている。

手順

  1. デプロイする MicroShift バージョンで使用されるコンテナーイメージ参照の正確なリストを取得します。手順 2 に従って microshift-release-info RPM パッケージをインストールするか、手順 3 に従って RPM をダウンロードして展開します。
  2. microshift-release-info RPM パッケージをインストールするには、以下を実行します。

    1. 次のコマンドを実行して、microshift-release-info RPM パッケージをインストールします。

      $ sudo dnf install -y microshift-release-info-<release_version>

      <release_version> は、デプロイするリリースの番号に置き換えます。完全なバージョン番号 (4.18.1 など) を使用してください。

    2. 次のコマンドを実行して、/usr/share/microshift/release ディレクトリーの内容をリスト表示し、リリース情報ファイルの存在を確認します。

      $ sudo ls /usr/share/microshift/release

      出力例

      release-x86_64.json
      release-aarch64.json

      microshift-release-info RPM をインストールしている場合は、ステップ 4 に進みます。

  3. 手順 2 を完了していない場合は、microshift-release-info RPM をインストールせずにダウンロードして展開します。

    1. 次のコマンドを実行して、RPM パッケージをダウンロードします。

      $ sudo dnf download microshift-release-info-<release_version> 1
      1
      &lt ;release_version&gt; を、4.18.1 などのバージョン番号全体を使用して、デプロイするリリースの数値に置き換えます

      RPM の出力例

      microshift-release-info-4.18.1.-202511101230.p0.g7dc6a00.assembly.4.18.1.el9.noarch.rpm

    2. 次のコマンドを実行して、RPM パッケージをインストールせずに展開します。

      $ rpm2cpio <my_microshift_release_info> | cpio -idmv 1
      ./usr/share/microshift/release/release-aarch64.json
      ./usr/share/microshift/release/release-x86_64.json
      1
      & lt;my_microshift_release_info&gt; を前の手順の RPM パッケージの名前に置き換えます。
  4. 次のコマンドを実行して、コンテナー参照情報が含まれる JSON ファイルの場所を定義します。

    $ RELEASE_FILE=</path/to/your/release-$(uname -m).json> 1
    1
    & lt;/path/to/your/release-$(uname -m).json> を JSON ファイルへのフルパスに置き換えます。必ずアーキテクチャーに必要なファイルを使用してください。
  5. 次のコマンドを実行して、イメージをビルドする手順が含まれる TOML ファイルの場所を定義します。

    $ BLUEPRINT_FILE=</path/to/your/blueprint.toml> 1
    1
    & lt;/path/to/your/blueprint.toml> を TOML ファイルへのフルパスに置き換えます。
  6. 次のコマンドを実行して、コンテナーイメージ参照を生成し、ブループリント TOML ファイルに埋め込みます。

    $  jq -r '.images | .[] | ("[[containers]]\nsource = \"" + . + "\"\n")' "${RELEASE_FILE}" >> "${BLUEPRINT_FILE}"

    コンテナー参照を示す生成される 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"

  7. 次の例を使用して、Image Builder のブループリントファイルに追加することで、コンテナーイメージを手動で埋め込むことができます。

    コンテナーイメージをブループリントに手動で埋め込むセクションの例

    [[containers]]
    source = "<my_image_pullspec_with_tag_or_digest>"

    & lt;my_image_pullspec_with_tag_or_digest > を、デプロイする MicroShift バージョンで使用されるコンテナーイメージへの正確な参照に置き換えます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.