ブートイメージ設定ツール
|
SUSE Manager VMイメージは、JeOS firstboot設定ダイアログで準備されます。 |
1. Ignitionを使用したSUSE Managerの基本設定
Ignitionは、最初のブート時に仕様に従ってシステムを設定できるようにするプロビジョニングツールです。 システムが初めてブートされると、Ignitionがinitramfsの一部としてロードされ、特定のディレクトリ(USBフラッシュディスク上、またはURLを指定することもできます)内で設定ファイルを検索します。
IgnitionはJSON形式の設定ファイルを使用します。 このファイルの名前は config.ignです。
config.ignは、Ignitionの規定を提供するJSON設定ファイルです。 このファイルをJSONで手動で作成することも、Fuel Ignitionツールを使用して基本的な規定セットを生成することもできます。 Fuel Ignitionツールにはすべてのオプションが用意されているわけではないので、ファイルを手動で変更する必要がある場合があります。 詳細については、https://ignite.opensuse.org/を参照してください。
インストールする際、設定ファイルconfig.ignは、ignitionというラベルのついた設定メディア上のignitionサブディレクトリに存在する必要があります。 ディレクトリ構造は次のようになっている必要があります。
<root directory>
└── ignition
└── config.ign
QEMU/KVM仮想マシンを設定する場合は、qemuコマンドの属性としてconfig.ignファイルへのパスを指定します。 例を以下に示します。
-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign
config.ignファイルには、オブジェクト、文字列、整数、ブール値、オブジェクトのリストなど、さまざまなデータ型が含まれています。 完全な仕様については、https://coreos.github.io/ignition/configuration-v3_3/を参照してください。
1.1. Ignitionを使用してrootパスワードを設定する
SUSE Manager VMイメージは、rootまたはその他のユーザアカウントをセットアップしません。 ユーザ認証またはroot認証は、最初のブート時にセットアップする必要があります。 passwd属性はユーザを追加するために使用されます。 システムにログインする場合は、rootを作成してrootのパスワードを設定するか、Ignition設定にSSHキーを追加します。 たとえば、opensslコマンドを使用してrootパスワードをハッシュする必要があります。
openssl passwd -6
このコマンドは、選択したパスワードのハッシュを作成します。 このハッシュを、 passwordHash属性の値として使用します。
users属性には、少なくとも1つのname属性が含まれている必要があります。 ssh_authorized_keysは、ユーザのsshキーのリストです。
root/ignition/config.ignファイルを次の内容で作成します。
{
"ignition": {
"version": "3.2.0"
},
"passwd": {
"users": [
{
"name": "root",
"passwordHash": "$2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K"
}
]
}
}
次のコマンドを使用して、Ignition ISOファイルを準備します。
mkisofs -full-iso9660-filenames -o suma_ignition.iso -V ignition root
作成したsuma_ignition.isoファイルを初回ブート時に仮想マシンにボリュームとしてアタッチします。 この特定の例では、rootパスワードをlinuxに設定しています。 この例のパスワードハッシュを自分のパスワードハッシュに置き換えてください。
Ignitionの詳細については、https://documentation.suse.com/sle-micro/5.4/single-html/SLE-Micro-deployment/#cha-images-ignitionを参照してください。