9.4. 汎用デバイスを使用するアプリケーションのデプロイ


MicroShift で Generic Device Plugin (GDP) が設定され、有効になったら、公開したホストデバイスへのアクセスを要求する Pod、デプロイメント、StatefulSets などの Kubernetes ワークロードをデプロイできます。デバイスは、Pod を昇格した特権で実行しなくても、コンテナー内で利用できるようになります。

前提条件

  • MicroShift をインストールしている。
  • GDP を有効にして設定した。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. Pod 仕様でデバイスリクエストを定義します。

    apiVersion: v1
    kind: Pod
    metadata:
      name: device-app
    spec:
      containers:
      - name: container
        image: <your_application_image> 
    1
    
        command: ["/path/to/your/app"] 
    2
    
        args: ["--device_path=/dev/video0"] 
    3
    
        resources:
          limits: 
    4
    
            device.microshift.io/video: 1 
    5
    
        securityContext: 
    6
    
          allowPrivilegeEscalation: false
          capabilities:
            drop: ["ALL"]
          runAsNonRoot: true
          seccompProfile:
            type: "RuntimeDefault"
    Copy to Clipboard Toggle word wrap
    1
    コンテナーイメージに置き換えます。
    2
    アプリケーションのコマンドに置き換えます。
    3
    たとえば、アプリケーションがデバイスをどのように使用するかなどです。
    4
    リソース名は、device.microshift.io/<device_name> のパターンに従う必要があります。この場合の <device_name> は、設定ファイルで指定した name と一致します。
    5
    video デバイスの 1 つのインスタンスのリクエスト。
    6
    コンテナーにデバイスファイルへのアクセスなどの必要な権限のみを持たせ、コンテナーのその他の機能を制限できるように、最小限の特権値で定義および設定します。
  2. 次のコマンドを実行して、マニフェストを MicroShift ノードに適用し、Kubernetes ワークロードをデプロイします。

    $ oc apply -f <your-workload-manifest.yaml> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <your_workload_manifest> は、ワークロードマニフェストの名前に置き換えます。

結果

Pod の実行後、指定されたホストデバイスは、コンテナー内の元のパス、または mountPath (指定されている場合) で使用できるようになります。アプリケーションは、ローカルデバイスであるかのように対話できるようになります。

たとえば、/dev/ttyUSB* にマッピングされる device.microshift.io/serial をリクエストした場合、アプリケーションは /dev/ttyUSB0 またはコンテナー内の同様のパスでデバイスを見つける可能性があります。

検証

  • 実行中の Pod 内で次のコマンドを実行して、デバイスアクセスを検証します。

    $ oc exec -it <pod_name> -- ls -l /dev/video0 
    1
    Copy to Clipboard Toggle word wrap
    1
    <pod_name> は、Pod の名前に置き換えます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat