4.14. KMM ハブおよびスポーク
ハブおよびスポークシナリオでは、多くのスポーククラスターが中央の強力なハブクラスターに接続されます。Kernel Module Management (KMM) は、ハブおよびスポーク環境で動作するために Red Hat Advanced Cluster Management (RHACM) に依存します。
KMM は、KMM 機能の分離によりハブおよびスポーク環境と互換性があります。既存の Module
CRD をラップし、特定のスポーククラスターに拡張するために、ManagedClusterModule
カスタムリソース定義 (CRD) が提供されています。また、ハブクラスター上でイメージを構築し、モジュールに署名する新しいスタンドアロンコントローラーである KMM-Hub も提供されます。
ハブおよびスポークのセットアップでは、スポークはハブクラスターによって集中管理される、リソースに制約のある集中的なクラスターです。スポークは、リソースを大量に消費する機能を無効にした状態で、KMM の単一クラスターエディションを実行します。KMM をこの環境に適応させるには、ハブが高価なタスクを処理しながら、スポークで実行されるワークロードを最小限に抑える必要があります。
カーネルモジュールイメージの構築と .ko
ファイルへの署名は、ハブ上で実行する必要があります。モジュールローダーおよびデバイスプラグイン DaemonSet
のスケジューリングは、スポーク上でのみ実行できます。
4.14.1. KMM-Hub リンクのコピーリンクがクリップボードにコピーされました!
KMM プロジェクトは、ハブクラスター専用の KMM エディションである KMM-Hub を提供します。KMM-Hub は、スポーク上で実行しているすべてのカーネルバージョンを監視し、カーネルモジュールを受け取る必要があるクラスター上のノードを決定します。
KMM-Hub は、イメージのビルドや kmod 署名などの計算集約型タスクをすべて実行し、RHACM を介してスポークに転送されるようにトリミングされた Module
を準備します。
KMM-Hub を使用してハブクラスターにカーネルモジュールをロードすることはできません。カーネルモジュールをロードするには、KMM の通常版をインストールします。
4.14.2. KMM-Hub のインストール リンクのコピーリンクがクリップボードにコピーされました!
次のいずれかの方法を使用して、KMM-Hub をインストールできます。
- Operator Lifecycle Manager (OLM) の使用
- KMM リソースの作成
4.14.2.1. Operator Lifecycle Manager を使用した KMM-Hub のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift コンソールの Operators セクションを使用して、KMM-Hub をインストールします。
4.14.2.2. KMM リソースの作成による KMM-Hub のインストール リンクのコピーリンクがクリップボードにコピーされました!
手順
-
KMM-Hub をプログラムでインストールする場合は、次のリソースを使用して、
Namespace
リソース、OperatorGroup
リソース、およびSubscription
リソースを作成できます。
4.14.3. ManagedClusterModule CRD の使用 リンクのコピーリンクがクリップボードにコピーされました!
ManagedClusterModule
カスタムリソース定義 (CRD) を使用して、スポーククラスターでのカーネルモジュールのデプロイメントを設定します。この CRD はクラスタースコープであり、Module
仕様をラップし、次の追加フィールドを追加します。
ビルドまたは署名の命令が .spec.moduleSpec
に存在すると、その Pod はオペレーターの namespace のハブクラスター上で実行します。
.spec.selector
が 1 つ以上の ManagedCluster
リソースと一致すると、KMM-Hub は対応する namespace に ManifestWork
リソースを作成します。ManifestWork
には、カーネルマッピングは保持されていますが、すべての build
と sign
サブセクションが削除された、トリミングされた Module
リソースが含まれています。タグで終わるイメージ名を含む containerImage
フィールドは、同等のダイジェストに置き換えられます。
4.14.4. スポーク上で KMM の実行 リンクのコピーリンクがクリップボードにコピーされました!
Kernel Module Management (KMM) をスポークにインストールしたら、それ以上の操作は必要ありません。ハブから ManagedClusterModule
オブジェクトを作成して、スポーククラスターにカーネルモジュールをデプロイします。
手順
RHACM Policy
オブジェクトを通じて KMM をスポーククラスターにインストールできます。OperatorHub から KMM をインストールし、軽量スポークモードで実行することに加えて、Policy
は、RHACM エージェントが Module
リソースを管理できるようにするために必要な追加の RBAC を設定します。