CoreOSのIgnitionをConfigDrive経由で渡す


CoreOSのIgnitionをConfigDrive経由で渡す

CoreOSのIgnitionは、たいてい以下の方法で渡しているのではないかと想像しています。

  • ISOの場合、起動後のUIで取得先のURLを渡す
  • QCOW2の場合、カーネルパラメーターとして取得先のURLを渡す

QCOW2の場合、以下の方法でConfigDriveでも渡すことができました。あまり需要ないかもしれませんが、うまくいったので共有させていただきました。

1. ConfigDrive用のISOを作る

user_dataにIgnitionを直接書き込んでおきます。
こんな感じです。

$ mkdir -p /tmp/new-drive/openstack/latest
$ cp user_data /tmp/new-drive/openstack/latest/user_data
$ mkisofs -R -V config-2 -o configdrive.iso /tmp/new-drive
$ rm -rf /tmp/new-drive

2. ISOをマウントする

virtmanagerだとこんな感じでしょうか。

3. QCOW2を起動する

CoreOS起動後、ISOの/openstack/latest/user_dataがIgnitionとして読み込まれます。

以上です〜。