概要

Kernel Module Management (KMM) operator の v2.6.0 がリリースされました。GPUドライバーなどのカーネルモジュールをKubernetes上で管理するためのオペレーターで、イメージリビルドトリガー・ホストカーネルモジュールのマウント・ファイル署名のグロブパターン・強化されたコンテナセキュリティコンテキストといった機能が追加されています。


背景・前提知識

カーネルモジュールとは? Linuxカーネルの機能を拡張するコードで、GPUドライバー(NVIDIAなど)、特定ネットワークカードのドライバー、独自ハードウェアのドライバーなどが該当します。通常のコンテナはカーネルモジュールを動的にロードできないため、Kubernetes上でこれを管理するのが難しい課題でした。

KMM (Kernel Module Management) とは? Kubernetes SIGs(Special Interest Groups)傘下のオペレーターで、ノードごとに適切なカーネルモジュールをビルド・ロード・アンロードする作業を自動化します。特にGPUを使う機械学習ワークロードや、特殊なネットワーク機器を使うクラスターで利用されます。

オペレーターパターンとは? Kubernetes の CustomResource と Controller を組み合わせ、複雑なアプリケーションのライフサイクル管理を自動化する設計パターンです。KMMは Module というCRを定義し、コントローラーがそれに従ってノードへモジュールをデプロイします。


詳細:v2.6.0 の新機能

1. イメージリビルドトリガー

カーネルモジュールのコンテナイメージを自動的に再ビルドするトリガー条件を設定できるようになりました。ベースイメージの更新やカーネルバージョン変更を検知して自動ビルドが走ります。

2. ホストカーネルモジュールのマウント

ノードのホストOS上に既にロードされているカーネルモジュールを、KMM管理のコンテナからマウント・参照できるようになりました。すべてのモジュールをコンテナイメージとして再パッケージする必要がなくなります。

3. ファイル署名のグロブパターン

カーネルモジュールファイル(.ko ファイル)にデジタル署名を行う際、従来は個別ファイルを指定する必要がありましたが、グロブパターン(例: *.ko)での一括指定が可能になりました。Secure Bootが有効な環境でモジュールを使う場合に署名が必要です。

4. 強化されたコンテナセキュリティコンテキスト

モジュールローダーコンテナのセキュリティコンテキストが強化されました。最小権限の原則に従い、必要最低限のLinux capabilitiesのみを付与するようになっています。


使用例・影響

対象ユーザー:

  • GPU(NVIDIA・AMD等)を使った機械学習クラスターの管理者
  • 特殊なネットワーク機器(InfiniBand等)を使うHPCクラスターの管理者
  • カスタムハードウェアをKubernetes上で動かす必要がある組織

既存ユーザーへの影響:

  • v2.5.x からのアップグレードは通常の Operator アップデート手順に従う
  • セキュリティコンテキストの強化により、一部の過剰権限コンテナ設定が変わる可能性がある

参考リンク