Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

6.4. ホストデバイスを使用した追加インターフェースの設定

ホストデバイスプラグインは、既存のネットワークデバイスを Pod に直接接続します。

以下のコードは、ダミーモジュールを使用してダミーデバイスを作成し、仮想デバイスをサポートし、ダミーデバイス nameexampledevice0 に割り当てます。

$ modprobe dummy
$ lsmod | grep dummy
$ ip link add exampledevice0 type dummy

手順

  1. ダミーネットワークデバイスを Pod に接続するには、Pod をデバイスがあるノードに割り当てられるようホストにラベルを付けます。

    $ oc label nodes <your-worker-node-name> exampledevice=true
    $ oc get nodes --show-labels
  2. この設定を参照するために、カスタムリソースの hostdevice-example.yaml という YAML ファイルを作成します。

    apiVersion: "k8s.cni.cncf.io/v1"
    kind: NetworkAttachmentDefinition
    metadata:
      name: hostdevice-example
    spec:
      config: '{
          "cniVersion": "0.3.0",
          "type": "host-device",
          "device": "exampledevice0"
        }'
  3. 以下のコマンドを実行して hostdevice-example CR を作成します。

    $ oc create -f hostdevice-example.yaml
  4. アノテーションでこの名前を参照する Pod の YAML ファイルを作成します。Pod をエイリアスを作成したマシンに割り当てるために nodeSelector を組み込みます。

    apiVersion: v1
    kind: Pod
    metadata:
      name: hostdevicesamplepod
      annotations:
        k8s.v1.cni.cncf.io/networks: hostdevice-example
    spec:
      containers:
      - name: hostdevicesamplepod
        command: ["/bin/bash", "-c", "sleep 2000000000000"]
        image: centos/tools
      nodeSelector:
        exampledevice: "true"
  5. 以下のコマンドを実行して hostdevicesamplepod Pod を作成します。

    $ oc create -f hostdevicesamplepod.yaml
  6. 作成した追加インターフェースを表示します。

    $ oc exec hostdevicesamplepod -- ip a
重要

SR-IOV 複数ネットワークサポートはテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。

Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、https://access.redhat.com/ja/support/offerings/techpreview/ を参照してください。