5.2. 非ネットワークベースのデプロイメントワークフロー

RHEL for Edge Container イメージと RHEL for Edge Installer イメージを使用して OSTree ベースのシステムをインストールし、後で切断された環境のデバイスにデプロイできるブート ISO イメージを構築するには、以下の手順を実行します。

5.2.1. Image Builder CLI を使用したRHEL for Edge Container のブループリントの作成

RHEL for Edge Container イメージのブループリントを作成するには、以下のステップを実行します。

手順

  1. 次の内容のプレーンテキストファイルを TOML 形式で作成します。

    name = "blueprint-name"
    description = "blueprint-text-description"
    version = "0.0.1"
    modules = [ ]
    groups = [ ]

    詳細は以下のようになります。

    • blueprint-name はブループリントの名前、blueprint-text-description はブループリントの説明です。
    • 0.0.1 は、Semantic Versioning スキームに従って、バージョン番号に置き換えます。
    • モジュール には、イメージにインストールするパッケージの名前と、それに対応するバージョンの glob を記述します (例: パッケージ名 = "tmux"、対応するバージョンの glob = "2.9a")。

      現在、パッケージとモジュールには違いがないことに注意してください。

    • グループ は、イメージにインストールされるパッケージグループです (例: グループパッケージ anaconda-tools)。

      このとき、モジュールおよびグループがわからない場合は、空欄のままにしておきます。

  2. 要件に沿うように、必要なパッケージを含め、ブループリントの他の詳細をカスタマイズします。

    ブループリントに含むすべてのパッケージについて、以下の行をファイルに追加します。

    [[packages]]
    name = "package-name"
    version = "package-version"

    詳細は以下のようになります。

    • package-name は、パッケージ名に置き換えます (例: httpd, gdb-doc、coreutils など)。
    • package-version は、使用するパッケージのバージョン番号に置き換えます。

      package-version は、以下の dnf バージョン仕様をサポートしています。

    • 特定のバージョンを指定する場合は、バージョン番号を正確に指定してください (例: 8.0 など)。
    • 利用可能な最新バージョンを指定する場合は、アスタリスク * を使用します。
    • 最新のマイナーバージョンを指定する場合は、8.* などの形式を使用してください。
  3. ブループリントを RHEL Image Builder サーバーにプッシュ (インポート) します。

    # composer-cli blueprints push blueprint-name.toml
  4. 既存のブループリントを一覧表示して、作成したブループリントが正常にプッシュされて存在するかどうかを確認します。

    # composer-cli blueprints show BLUEPRINT-NAME
  5. ブループリントに記載されているコンポーネントおよびバージョンと、その依存関係が有効かどうかを確認します。

    # composer-cli blueprints depsolve blueprint-name

5.2.2. Image Builder CLI を使用した RHEL for Edge Installer のブループリントの作成

ブループリントを作成して RHEL for Edge Installer (.iso) イメージを構築し、ユーザーアカウントを指定して、インストール時にシステム上に 1 人以上のユーザーを自動的に作成できます。

警告

customizations.user カスタマイズを使用してブループリントでユーザーを作成すると、ブループリントはユーザーを /usr/lib/passwd ディレクトリーの下に、パスワードを /usr/etc/shadow ディレクトリーの下に作成します。OSTree 更新を使用している実行中のシステムで、さらにバージョンの高いイメージのパスワードを変更することはできない点に注意してください。ブループリントで作成したユーザーは、作成したシステムにアクセスするためだけに使用する必要があります。システムにアクセスしたら、useradd コマンドなどを使用してユーザーを作成する必要があります。

RHEL for Edge Installer イメージのブループリントを作成するには、以下の手順を実行します。

手順

  1. 次の内容のプレーンテキストファイルを TOML 形式で作成します。

    name = "blueprint-installer"
    description = "blueprint-for-installer-image"
    version = "0.0.1"
    
    [[customizations.user]]
    name = "user"
    description = "account"
    password = "user-password"
    key = "user-ssh-key "
    home = "path"
    groups = ["user-groups"]

    詳細は以下のようになります。

    • blueprint-name はブループリントの名前、blueprint-text-description はブループリントの説明です。
    • 0.0.1 は、Semantic Versioning スキームに従って、バージョン番号に置き換えます。
  2. ブループリントを RHEL Image Builder サーバーにプッシュ (インポート) します。

    # composer-cli blueprints push blueprint-name.toml
  3. 既存のブループリントを一覧表示して、作成したブループリントが正常にプッシュされて存在するかどうかを確認します。

    # composer-cli blueprints show blueprint-name
  4. ブループリントに記載されているコンポーネントおよびバージョンと、その依存関係が有効かどうかを確認します。

    # composer-cli blueprints depsolve blueprint-name

5.2.3. Image Builder CLI を使用した RHEL for Edge Container イメージの作成

RHEL Image Builder コマンドラインインターフェイスを使用して RHEL for Edge Container イメージを作成するには、以下の前提条件を満たしていることを確認してから、手順に従ってください。

前提条件

  • RHEL for Edge Container イメージのブループリントを作成しました。

手順

  1. RHEL for Edge Container イメージを作成します。

    # composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url URL-OSTree-repository blueprint-name image-type

    詳細は以下のようになります。

    • --ref は、お客様が ostree リポジトリーの構築に使用した値と同じです
    • --url は、イメージに埋め込むコミットの OSTree リポジトリーへの URL ですたとえば、http://10.0.2.2:8080/repo/ です。デフォルトでは、RHEL for Edge Container イメージのリポジトリーフォルダーは /repo です。RHEL for Edge イメージをインストールするための Web サーバーの設定 を参照してください。

      使用する正しい URL を見つけるには、実行中のコンテナーにアクセスし、nginx.conf ファイルを確認します。使用する URL を見つけるには、実行中のコンテナーにアクセスし、nginx.conf ファイルを確認します。nginx.conf ファイル内で、root ディレクトリーエントリーを見つけて、/repo/ フォルダー情報を検索します。RHEL Image Builder を使用して RHEL for Edge Container イメージ (.tar) を作成するときにリポジトリー URL を指定しない場合、デフォルトの /repo/ エントリーが nginx.conf ファイルに作成されることに注意してください。

    • blueprint-name は RHEL for Edge のブループリント名です。
    • image-type は、非ネットワークベースのデプロイメント 用の edge-container です。

      composer プロセスがキューに追加されたことを確認する画面が表示されます。また、作成されたイメージの UUID (Universally Unique Identifier) 番号も表示されます。UUID 番号を使用してビルドを追跡します。また、更なるタスクのために UUID 番号を手元に保管しておきます。

  2. イメージの作成状態を確認します。

    # composer-cli compose status

    出力には、以下の形式で状態が表示されます。

    <UUID> RUNNING date blueprint-name blueprint-version image-type
    注記

    イメージの作成プロセスは、完了するまでに最大 20 分かかります。

    イメージ作成プロセスを中断するには、以下を実行します。

    # composer-cli compose cancel <UUID>

    既存イメージを削除するには、以下を実行します。

    # composer-cli compose delete <UUID>

    イメージの準備ができたら、ネットワーク以外のデプロイメント に使用できます。ネットワークベース以外のデプロイメント用の RHEL for Edge Container イメージの作成 を参照してください。

5.2.4. ネットワークベース以外のデプロイメント向けのコマンドラインインターフェイスを使用した RHEL for Edge インストーラーイメージの作成

OSTree コミットを組み込む RHEL for Edge インストーラーイメージを作成するには、RHEL Image Builder コマンドラインインターフェイスを使用して、以下の前提条件を満たしていることを確認してから、手順に従ってください。

前提条件

  • RHEL for Edge Installer イメージのブループリントを作成している。
  • RHEL for Edge Container イメージを作成し、Web サーバーを使用してデプロイしました。

手順

  1. RHEL for Edge Installer インストーラーイメージの作成を開始します。

    # composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url URL-OSTree-repository blueprint-name image-type

    詳細は以下のようになります。

    • ref は、お客様が ostree リポジトリーの構築に使用した値と同じです。
    • URL-OSTree-repository は、イメージに埋め込むコミットの OSTree リポジトリーへの URL です。たとえば、http://10.0.2.2:8080/repo です。ネットワークベース以外のデプロイメント用の RHEL for Edge Container イメージの作成 を参照してください。
    • blueprint-name は、RHEL for Edge Installer のブループリント名です。
    • image-typeedge-installer です。

      composer プロセスがキューに追加されたことを確認する画面が表示されます。また、作成されたイメージの UUID (Universally Unique Identifier) 番号も表示されます。UUID 番号を使用してビルドを追跡します。また、更なるタスクのために UUID 番号を手元に保管しておきます。

  2. イメージの作成状態を確認します。

    # composer-cli compose status

    コマンド出力には、以下の形式で状態が表示されます。

    <UUID> RUNNING date blueprint-name blueprint-version image-type
    注記

    イメージ作成プロセスの完了まで数分かかります。

    イメージ作成プロセスを中断するには、以下を実行します。

    # composer-cli compose cancel <UUID>

    既存イメージを削除するには、以下を実行します。

    # composer-cli compose delete <UUID>

    イメージの準備ができたら、ネットワーク以外のデプロイメント に使用できます。ネットワークベース以外のデプロイメント向けの RHEL for Edge イメージのインストール を参照してください。

5.2.5. Image Builder CLI を使用した RHEL for Edge Installer イメージのダウンロード

RHEL Image Builder コマンドラインインターフェイスを使用して RHEL for Edge Installer イメージをダウンロードするには、以下の前提条件を満たしていることを確認してから、手順に従ってください。

前提条件

  • RHEL for Edge Installer イメージを作成している。

手順

  1. RHEL for Edge イメージの状態を確認します。

    # composer-cli compose status

    出力には、以下が表示される必要があります。

    $ <UUID> FINISHED date blueprint-name blueprint-version image-type
  2. イメージをダウンロードします。

    # composer-cli compose image <UUID>

    RHEL Image Builder が、.iso ファイル形式のイメージをカレントディレクトリーにダウンロードします。

    UUID 番号とイメージサイズは並んで表示されます。

    $ <UUID>-boot.iso: size MB

結果のイメージは、起動可能な ISO イメージです。