9.4. 汎用デバイスを使用するアプリケーションのデプロイ
MicroShift で Generic Device Plugin (GDP)を設定して有効にした後、公開されたホストデバイスへのアクセスを要求する Pod、デプロイメント、または StatefulSet などの Kubernetes ワークロードをデプロイできます。デバイスはコンテナー内で使用可能になり、Pod を昇格した権限で実行します。
前提条件
- MicroShift をインストールしている。
- GDP を有効にして設定している。
-
OpenShift CLI (
oc) がインストールされている。
手順
Pod仕様でデバイス要求を定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、マニフェストを MicroShift ノードに適用して Kubernetes ワークロードをデプロイします。
oc apply -f <your-workload-manifest.yaml>
$ oc apply -f <your-workload-manifest.yaml>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- < ;your_workload_manifest> をワークロードマニフェストの名前に置き換えます。
結果
Pod の実行後に、指定されたホストデバイスはコンテナー内の元のパスまたは指定される場合は mountPath で利用できます。アプリケーションは、ローカルデバイスであるかのように対話できます。
たとえば、/dev/ttyUSB* にマップする device.microshift.io/serial を要求した場合、アプリケーションは /dev/ttyUSB0 またはコンテナー内の同様のパスにある可能性があります。
検証
実行中の Pod 内で次のコマンドを実行して、デバイスアクセスを確認します。
oc exec -it <pod_name> -- ls -l /dev/video0
$ oc exec -it <pod_name> -- ls -l /dev/video01 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- < ;pod_name> を Pod の名前に置き換えます。