18.2. bootc の Ignition 統合レイヤーについて
bootc イメージは、初回ブート時に Ignition の設定を処理するために、特定の統合レイヤーに依存しています。これらのレイヤーを理解することで、カスタムベースイメージを動的プロビジョニングに適切に対応させることができます。
ignition-edge パッケージは、Ignition と OSTree を連携させる 4 つの統合レイヤーを提供します。
sshdauthorized_keys.dのサポート-
Ignition が、SSH 鍵を
~/.ssh/authorized_keys.d/ignitionディレクトリーに書き込みます。アップストリームのOpenSSHはAuthorizedKeysFileで glob パターンをサポートしていません。そのため、sshdの設定でパスを明示的に指定する必要があります。 OSTreeによる/varのマウントとデータの配置組み込みの
dracutモジュールが、Ignition ファイルの段階が実行される前に、/varディレクトリーを書き込み可能な状態で自動的にバインドマウントし、標準のサブディレクトリーにデータを配置します。OSTree システムは読み取り専用の
/usrファイルシステムを強制するため、ユーザー側で特別な操作を行う必要はありません。ただし、Ignition によって作成するカスタムファイルや永続データは、/usrではなく/varまたは/etcディレクトリーに配置してください。- 初回ブートの完了
-
Ignition の実行後に
/boot/ignition.firstbootスタンプを削除するsystemdサービス。このマーカーを削除することにより、以降のブート時に Ignition が再実行されるのを防ぎます。 - ネットワークの有効化
-
Ignition がリモート設定を取得する必要がある場合に、
initramfs内でネットワークアクセスを有効にするサービス。 - サポートされている dracut モジュール
以下の
dracutモジュールは、bootc上での Ignition をサポートしています。-
35ignition-edge: Ignition サポートスクリプト、ジェネレーター、およびsystemdユニットをインストールする主要な統合モジュール。 -
10coreos-sysctl: ブート時に必要なカーネルパラメーターを設定します。 -
99journal-conf:initramfsフェーズのジャーナルロギングを設定します。 -
99emergency-shell-setup: Ignition が失敗した場合にデバッグ機能を提供します。
-
- サポートされている systemd サービス
この統合には、以下の
systemdサービスが含まれています。-
ignition-firstboot-complete.service: Ignition の完了後に実行され、/bootディレクトリーから firstboot マーカーを削除します。 -
coreos-check-ssh-keys.service: ブート後にシステムコンソールに SSH 鍵の状態を表示します。 -
coreos-ignition-write-issues.service: Ignition のステータス情報を、ログイン時に表示するために、/etc/issue.d/ディレクトリーに書き込みます。
-