4.3. Kernel Module Management Operator の設定


ほとんどの場合、Kernel Module Management (KMM) Operator のデフォルト設定を変更する必要はありません。ただし、次の手順を使用して、環境に合わせて Operator 設定を変更できます。

Operator 設定は、Operator namespace の kmm-operator-manager-config ConfigMap に設定されています。

手順

  1. 設定を変更するには、次のコマンドを入力して ConfigMap データを編集します。

    $ oc edit configmap -n "$namespace" kmm-operator-manager-config
    Copy to Clipboard Toggle word wrap

    出力例

    healthProbeBindAddress: :8081
    job:
      gcDelay: 1h
    leaderElection:
      enabled: true
      resourceID: kmm.sigs.x-k8s.io
    webhook:
      disableHTTP2: true  # CVE-2023-44487
      port: 9443
    metrics:
      enableAuthnAuthz: true
      disableHTTP2: true  # CVE-2023-44487
      bindAddress: 0.0.0.0:8443
      secureServing: true
    worker:
      runAsUser: 0
      seLinuxType: spc_t
      setFirmwareClassPath: /var/lib/firmware
    Copy to Clipboard Toggle word wrap

    Expand
    表4.1 Operator 設定パラメーター
    パラメーター説明

    healthProbeBindAddress

    Operator が kubelet ヘルスプローブを監視するアドレスを定義します。推奨値は :8081 です。

    job.gcDelay

    成功したビルド Pod を削除するまでの保持期間を定義します。この設定に推奨値はありません。この設定の有効な値は、ParseDuration を参照してください。

    leaderElection.enabled

    leader election を使用して KMM Operator のレプリカが常に 1 つだけ実行されるようにするか決定します。詳細は、リース を参照してください。推奨値は true です。

    leaderElection.resourceID

    leader election がリーダーロックを保持するために使用するリソースの名前を決定します。推奨値は kmm.sigs.x-k8s.io です。

    webhook.disableHTTP2

    true の場合、cve-2023-44487 の緩和策として、webhook サーバーの HTTP/2 が無効になります。推奨値は true です。

    webhook.port

    Operator が webhook リクエストを監視するポートを定義します。推奨値は 9443 です。

    metrics.enableAuthnAuthz

    メトリクスの認証に TokenReviews を使用し、認可に kube-apiserver で SubjectAccessReviews を使用するか決定します。

    認証と認可のために、コントローラーには次のルールを持つ ClusterRole が必要です。

    • apiGroups: authentication.k8s.io, resources: tokenreviews, verbs: create
    • apiGroups: authorization.k8s.io, resources: subjectaccessreviews, verbs: create

    たとえば、Prometheus を使用してメトリクスをスクレイピングするには、クライアントに次のルールを持つ ClusterRole が必要です。

    • nonResourceURLs: "/metrics", verbs: get

    推奨値は true です。

    metrics.disableHTTP2

    true の場合、CVE-2023-44487 の緩和策として、メトリクススサーバーの HTTP/2 が無効になります。推奨値は true です。

    metrics.bindAddress

    メトリクスサーバーのバインドアドレスを決定します。指定しない場合、デフォルトは :8080 です。メトリクスサーバーを無効にするには、0 に設定します。推奨値は 0.0.0.0:8443 です。

    metrics.secureServing

    メトリクスが HTTP ではなく HTTPS 経由で提供されるかどうかを決定します。推奨値は true です。

    worker.runAsUser

    ワーカーコンテナーのセキュリティーコンテキストの runAsUser フィールド値を決定します。詳細は、SecurityContext を参照してください。推奨値は 9443 です。

    worker.seLinuxType

    ワーカーコンテナーのセキュリティーコンテキストの seLinuxOptions.type フィールド値を決定します。詳細は、SecurityContext を参照してください。推奨値は spc_t です。

    worker.setFirmwareClassPath

    カーネルのファームウェア検索パスをノード上の /sys/module/firmware_class/parameters/path ファイルに設定します。ワーカーアプリケーションを通じて値を設定する必要がある場合、推奨値は /var/lib/firmware です。それ以外の場合は設定しません。

  2. 設定を変更したら、次のコマンドでコントローラーを再起動します。

    $ oc delete pod -n "<namespace>" -l app.kubernetes.io/component=kmm
    Copy to Clipboard Toggle word wrap
    注記

    <namespace> の値は、元のインストール方法によって異なります。

4.3.1. カーネルモジュールのアンロード

新しいバージョンに移行する場合、またはカーネルモジュールがノードに望ましくない作用をもたらす場合は、カーネルモジュールをアンロードする必要があります。

手順

  • KMM でロードされたモジュールをノードからアンロードするには、対応する Module リソースを削除します。次に、KMM が必要に応じてワーカー Pod を作成し、modprobe -r を実行してノードからカーネルモジュールをアンロードします。

    警告

    ワーカー Pod をアンロードする場合、KMM はカーネルモジュールをロードするときに使用するすべてのリソースを必要とします。これには、Module で参照される ServiceAccount と、特権付き KMM ワーカー Pod の実行を許可するために定義された RBAC が含まれます。また、.spec.imageRepoSecret で参照されるプルシークレットも含まれます。

    KMM がノードからカーネルモジュールをアンロードできない状況を回避するには、Module リソースが Terminating などの任意の状態でクラスター内に存在している間は、それらのリソースが削除されないようにしてください。KMM には、少なくとも 1 つの Module リソースを含む namespaces の削除を拒否する検証アドミッション Webhook が含まれています。

4.3.2. カーネルファームウェア検索パスの設定

ファームウェアの検索パス で説明されているとおり、Linux カーネルは firmware_class.path パラメーターをファームウェアの検索パスとして受け入れます。

KMM ワーカー Pod は、kmods のロードを試みる前に sysfs に書き込むことで、ノードにこの値を設定できます。

手順

  • ファームウェア検索パスを定義するには、Operator 設定で worker.setFirmwareClassPath/var/lib/firmware に設定します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat