7.2. SR-IOV 対応ワークロードの QinQ サポートの設定
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - SR-IOV Network Operator がインストールされている。
手順
次の内容を使用して、
sriovnetpolicy-810-sriov-node-network.yaml
という名前のファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
SriovNetworkNodePolicy
オブジェクトを作成します。oc create -f sriovnetpolicy-810-sriov-node-network.yaml
$ oc create -f sriovnetpolicy-810-sriov-node-network.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 別のターミナルウィンドウを開き、次のコマンドを実行して、
openshift-sriov-network-operator
namespace で指定されたノードの SR-IOV ネットワークノード状態の同期ステータスを監視します。watch -n 1 'oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath="{.status.syncStatus}"'
$ watch -n 1 'oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath="{.status.syncStatus}"'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同期ステータスが
InProgress
からSucceeded
に変更されたことを示します。SriovNetwork
オブジェクトを作成し、インフラストラクチャーに属する S-tag またはService Tag
と呼ばれる外部 VLAN を設定します。重要スイッチのトランクインターフェイスで VLAN を設定する必要があります。さらに、QinQ タグ付けをサポートするために、一部のスイッチをさらに設定することを推奨します。
次の内容を使用して、
nad-sriovnetwork-1ad-810.yaml
という名前のファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行してオブジェクトを作成します。
oc create -f nad-sriovnetwork-1ad-810.yaml
$ oc create -f nad-sriovnetwork-1ad-810.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
内部 VLAN を使用して
NetworkAttachmentDefinition
オブジェクトを作成します。内部 VLAN はネットワーク機能に属しているため、多くの場合、C-tag またはCustomer Tag
と呼ばれます。次の内容を使用して、
nad-cvlan100.yaml
という名前のファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Pod 内の VF インターフェイスを指定します。Pod アノテーションに名前が設定されていないため、デフォルト名は
net1
になります。
以下のコマンドを実行して、YAML ファイルを適用します。
oc apply -f nad-cvlan100.yaml
$ oc apply -f nad-cvlan100.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次の手順に従って、ノード上で QinQ がアクティブであることを確認します。
次の内容を使用して、
test-qinq-pod.yaml
という名前のファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行してテスト Pod を作成します。
oc create -f test-qinq-pod.yaml
$ oc create -f test-qinq-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod が存在するターゲットノードでデバッグセッションに入り、次のコマンドを実行してネットワークインターフェイス
ens5f0
に関する情報を表示します。oc debug node/my-cluster-node -- bash -c "ip link show ens5f0"
$ oc debug node/my-cluster-node -- bash -c "ip link show ens5f0"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力の
vlan protocol 802.1ad
ID は、インターフェイスがプロトコル 802.1ad (QinQ) による VLAN タグ付けをサポートしていることを示します。VLAN ID は 171 です。