9.3. 汎用デバイスプラグインの設定


重要

MicroShift の汎用デバイスプラグインは、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

Generic Device Plugin (GDP)は、MicroShift ではデフォルトで無効になっています。GDP を使用するには、これを有効にして、Kubernetes アプリケーションがアクセスできるホストデバイスを指定する必要があります。GDP を有効にするには、MicroShift config.yaml ファイルを変更するか、設定スニペットファイルを作成する必要があります。たとえば、/etc/microshift/config.d/10-gdp.yaml です。

前提条件

  • MicroShift をインストールしている。
  • /etc/microshift ディレクトリーにカスタムの config.yaml ファイルを作成している。
  • OpenShift CLI (oc) がインストールされている。
  • MicroShift ホストで sudo 権限がある。
  • MicroShift ノードに公開する特定のホストデバイスを特定している。たとえば、/dev/video0/dev/ttyUSB*、USB Vendor/Product ID などです。

手順

  1. sudo 権限を使用して CLI から、テキストエディターで /etc/microshift/config.yaml を開きます。
  2. genericDevicePlugin セクションを見つけます。存在しない場合は追加します。
  3. status パラメーターを Enabled に設定し、公開する必要のある デバイス を定義します。各デバイス定義には、1 つ以上の グループ が必要です。各グループは、glob パターンを含むファイルベースのデバイスに対して、Vendor/Product ID を使用する USB デバイス パス を使用してデバイスを指定できます。同じデバイスグループ内 パス と USB を 混在させることはできません。

    デフォルト値を持つ GDP フィールド

    apiServer:
    # ...
    genericDevicePlugin:
      devices:
      - groups:
        - paths:
          - path: /dev/ttyUSB* 
    1
    
          - path: /dev/ttyACM* 
    2
    
        name: serial
      - groups:
        - paths:
          - path: /dev/fuse 
    3
    
        name: fuse 
    4
    
      - groups:
        - usbs: 
    5
    
          - product: "0x7523" 
    6
    
            serial: ""
            vendor: "0x1a86" 
    7
    
        name: converter
      domain: device.microshift.io 
    8
    
      status: Enabled
    Copy to Clipboard Toggle word wrap

    1
    この glob で一致するすべての USB シリアルデバイスを公開します。
    2
    この glob で一致したすべての ACM シリアルデバイスを公開します。
    3
    たとえば、Fuse デバイスのファイルパス。
    4
    たとえば、デバイスの名前です。
    5
    ベンダー ID と製品 ID によって特定の USB デバイスを公開します。
    6
    たとえば、CH340 シリアルコンバーターの製品 ID です。
    7
    たとえば、CH340 シリアルコンバーターのベンダー ID などです。
    8
    GDP のデフォルトドメイン。
    重要
    • microshift show-config パラメーターの出力には、config.yaml で明示的に設定していない場合でも、シリアルデバイスの事前設定されたデフォルトパスが含まれる場合があります。これらのパスは、Generic Device プラグインが特定のユーザー設定なしで有効になっている場合にデフォルトの検出設定を表します。
    • 一貫性と正確なデバイスターゲットについては、特に同様のデバイスを処理する場合は、/dev/ttyUSB* などの幅広い glob パターンの代わりに、/dev/serial/by-id/ や特定の USB ベンダー、製品、または Serial ID などの安定したデバイスパスを使用することを検討してください。
    • デバイスグループの count パラメーターにより、単一デバイスまたはグロブで一致するデバイスのセットを同時に、異なる Pod に複数回割り当てることができます。省略されている場合、count はデフォルトで 1 に設定されます。
  4. config.yaml ファイルを保存します。
  5. MicroShift サービスを再起動して、変更を適用します。

    $ sudo systemctl restart microshift
    Copy to Clipboard Toggle word wrap

    MicroShift が再起動するまでしばらく、GDP がそのデバイスを Kubelet に登録できるようにします。

検証

  • 次のコマンドを実行して、ノードで使用可能なデバイスを確認できます。

    $ oc describe node <microshift_node_name> | grep "device.microshift.io" 
    1
    Copy to Clipboard Toggle word wrap
    1
    &lt ;microshift_node_name> は、ノード名に置き換えます。
  • 設定に応じて、デバイスが MicroShift ノード内で検出およびスケジュール可能であることを示す出力。

    出力例

    Capacity:
     cpu:                                2
     device.microshift.io/audio:         0
     device.microshift.io/capture:       0
     device.microshift.io/custom-device: 1
     device.microshift.io/dummy-video:   0
     device.microshift.io/fuse:          0
     device.microshift.io/serial:        5
     device.microshift.io/video:         0
    Allocatable:
     cpu:                                2
     device.microshift.io/audio:         0
     device.microshift.io/capture:       0
     device.microshift.io/custom-device: 1
     device.microshift.io/dummy-video:   0
     device.microshift.io/fuse:          0
     device.microshift.io/serial:        5
     device.microshift.io/video:         0
    Allocated resources:
     (Total limits may be over 100 percent, i.e., overcommitted.)
     Resource                           Requests     Limits
     --------                           --------     ------
     cpu                                450m (22%)   500m (25%)
     memory                             1550Mi (42%) 500Mi (13%)
     ephemeral-storage                  0 (0%)       0 (0%)
     hugepages-1Gi                      0 (0%)       0 (0%)
     hugepages-2Mi                      0 (0%)       0 (0%)
     device.microshift.io/audio         0            0
     device.microshift.io/capture       0            0
     device.microshift.io/custom-device 1            1
     device.microshift.io/dummy-video   1            1
     device.microshift.io/fuse          0            0
     device.microshift.io/serial        0            0
     device.microshift.io/video         0            0
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat