4.9. インツリー依存関係のシンボリックリンク
一部のカーネルモジュールは、ノードのオペレーティングシステムに同梱されている他のカーネルモジュールに依存します。これらの依存関係が kmod イメージにコピーされるのを回避するために、Kernel Module Management (KMM) は、ビルドとワーカー Pod の両方のファイルシステムに /usr/lib/modules をマウントします。
/opt/usr/lib/modules/<kernel_version>/<symlink_name> から /usr/lib/modules/<kernel_version> へのシンボリックリンクを作成することにより、depmod はビルドノードのファイルシステム上のインツリー kmods を使用して依存関係を解決できます。
実行時に、ワーカー Pod は <symlink_name> シンボリックリンクを含むイメージ全体を抽出します。このシンボリックリンクは、ノードのファイルシステムからマウントされるワーカー Pod 内の /usr/lib/modules/<kernel_version> を指します。modprobe はそのリンクをたどり、必要に応じてインツリーの依存関係をロードできます。
次の例では、host は /opt/usr/lib/modules/<kernel_version> の下のシンボリックリンク名です。
depmod は、kmod イメージビルドを実行するノードに存在するカーネルモジュールに基づいて依存関係ファイルを生成します。
KMM がカーネルモジュールをロードするノードでは、modprobe は、ファイルが /usr/lib/modules/<kernel_version> の下に存在し、同じファイルシステムレイアウトであることを期待します。ビルドノードとターゲットノードで同じオペレーティングシステムとリリースを共有することを強く推奨します。