第10章 RHEL for Edge AMI イメージの作成

RHEL Image Builder を使用して、カスタマイズした RHEL for Edge edge-ami イメージを作成できます。RHEL for Edge edge-ami は、ブートプロセスの初期段階でユーザー設定をイメージに注入するための Ignition サポートを備えています。その後、イメージを AWS クラウドにアップロードし、AWS で EC2 インスタンスを起動できます。AMI イメージタイプは、AMD または Intel 64 ビットアーキテクチャーで使用できます。

10.1. Edge AMI イメージのブループリントの作成

edge-ami イメージのブループリントを作成し、そのブループリントを customizations.ignition セクションでカスタマイズします。これにより、イメージを作成し、イメージの起動時にユーザー設定を注入することができます。

前提条件

  • Ignition 設定ファイルを作成している。以下に例を示します。

    {
       "ignition":{
          "version":"3.3.0"
       },
       "passwd":{
          "users":[
             {
                "groups":[
                   "wheel"
                ],
                "name":"core",
                "passwordHash":"$6$jfuNnO9t1Bv7N"
             }
          ]
       }
    }

    詳細は、Ignition 設定ファイルの作成 を参照してください。

手順

  1. 以下の内容のブループリントを Tom's Obvious Minimal Language (TOML) 形式で作成します。

    name = "ami-edge-image"
    description = "Blueprint for Edge AMI image"
    version = "0.0.1"
    packages = ["cloud-init"]
    modules = []
    groups = []
    distro = ""
    
    [[customizations.user]]
    name = "admin"
    password = "admin"
    groups = ["wheel"]
    
    [customizations.ignition.firstboot]
    url = http://<IP_address>:8080/config.ig

    ここでは、以下のようになります。

    • name はブループリントの名前で、description は説明です。
    • VERSION は、セマンティックバージョニングスキームに基づくバージョン番号です。
    • modulespackages には、イメージにインストールするパッケージの名前と、それに対応するバージョンの glob を記述します。たとえば、パッケージ name = "open-vm-tools" などです。現在、パッケージとモジュールには違いがないことに注意してください。
    • groups は、イメージにインストールするパッケージグループです。たとえば、groups = "wheel" です。モジュールとグループがわからない場合は、空のままにします。
    • customizations.user は、仮想マシンにログインするためのユーザー名とパスワードを作成します。
    • customizations.ignition.firstboot には、Ignition 設定ファイルが提供される URL を含めます。

      注記

      デフォルトでは、open-vm-tools パッケージは edge-vsphere イメージに含まれていません。このパッケージが必要な場合は、ブループリントのカスタマイズに含める必要があります。

  2. ブループリントを Image Builder サーバーにインポートします。

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

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

    # composer-cli blueprints depsolve <blueprint-name>

次のステップ

  • 作成したブループリントを使用して edge-ami イメージをビルドします。