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


Image Builder を使用して、MicroShift コンテナーイメージが埋め込まれた rpm-ostree システムイメージを作成できます。コンテナーイメージを埋め込むには、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.16.0 など) を使用してください。

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

      $ 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>

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

      rpm の例

      microshift-release-info-4.16.0.*.el9.noarch.rpm 1

      1
      * は日付とコミット ID を表します。両方が出力に含まれているはずです (例: -202311101230.p0.g7dc6a00.assembly.4.16.0)。
    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
      <my_microshift_release_info> は、前の手順の RPM パッケージの名前に置き換えます。
  4. 次のコマンドを実行して、コンテナー参照情報が含まれる JSON ファイルの場所を定義します。

    $ RELEASE_FILE=</path/to/your/release-$(uname -m).json>

    </path/to/your/release-$(uname -m).json> は、JSON ファイルへのフルパスに置き換えます。必ずアーキテクチャーに必要なファイルを使用してください。

  5. 次のコマンドを実行して、イメージをビルドする手順が含まれる TOML ファイルの場所を定義します。

    $ BLUEPRINT_FILE=</path/to/your/blueprint.toml>

    </path/to/your/blueprint.toml> は、JSON ファイルへのフルパスに置き換えます。

  6. 次のコマンドを実行して、コンテナーイメージ参照を生成し、ブループリント TOML ファイルに埋め込みます。

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

    コンテナー参照を示す生成された <my_blueprint.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 ブループリントに追加することで、コンテナーイメージを手動で埋め込むことができます。

    Image Builder にコンテナーイメージを手動で埋め込むためのセクションの例

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

    <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.