1.8.6. 例: 仮想機能のノードネットワーク設定ポリシー
NodeNetworkConfigurationPolicy マニフェストを適用することで、既存クラスター内の Single Root I/O Virtualization (SR-IOV) ネットワーク Virtual Function (VF) のホストネットワーク設定を更新できます。
NodeNetworkConfigurationPolicy マニフェストを既存のクラスターに適用して、次のタスクを完了できます。
- VF の QoS ホストネットワークを設定して、パフォーマンスを最適化します。
- ネットワークインターフェイスの VF を追加、削除、または更新します。
- VF ボンディング設定を管理します。
SR-IOV Network Operator によっても管理されている Physical Function 上で、NMState を使用して SR-IOV VF のホストネットワーク設定を更新するには、関連する SriovNetworkNodePolicy リソースの externallyManaged パラメーターを true に設定する必要があります。詳細は、関連情報 セクションを参照してください。
次の YAML ファイルは、VF の QoS ポリシーを定義するマニフェストの例です。この YAML には、独自の情報に置き換える必要があるサンプル値が含まれています。
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: qos
spec:
nodeSelector:
node-role.kubernetes.io/worker: ""
desiredState:
interfaces:
- name: ens1f0
description: Change QOS on VF0
type: ethernet
state: up
ethernet:
sr-iov:
total-vfs: 3
vfs:
- id: 0
max-tx-rate: 200
- 1
- ポリシーの名前。
- 2
- オプション:
nodeSelectorパラメーターを含めない場合、ポリシーはクラスター内のすべてのノードに適用されます。 - 3
- この例は、
workerロールを持つすべてのノードに適用されます。 - 4
- 物理機能 (PF) ネットワークインターフェイスの名前。
- 5
- オプション: 人間が判読できるインターフェイスの説明。
- 6
- インターフェイスのタイプ。
- 7
- 設定後のインターフェイスの要求された状態。
- 8
- VF の総数。
- 9
- ID
0を持つ VF を識別します。 - 10
- VF の最大伝送速度 (Mbps) を設定します。このサンプル値は、200 Mbps のレートを設定します。
以下の YAML ファイルは、ネットワークインターフェイスに VF を追加するマニフェストの例です。
この設定例では、ens1f1v0 VF が ens1f1 物理インターフェイス上に作成され、この VF はボンディングされたネットワークインターフェイス bond0 に追加されます。ボンディングは、冗長性に active-backup モードを使用します。この例では、VF は、ハードウェアオフロードを使用して物理インターフェイス上の VLAN を直接管理するように設定されています。
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: addvf
spec:
nodeSelector:
node-role.kubernetes.io/worker: ""
maxUnavailable: 3
desiredState:
interfaces:
- name: ens1f1
type: ethernet
state: up
ethernet:
sr-iov:
total-vfs: 1
vfs:
- id: 0
trust: true
vlan-id: 477
- name: bond0
description: Attach VFs to bond
type: bond
state: up
link-aggregation:
mode: active-backup
options:
primary: ens1f0v0
port:
- ens1f0v0
- ens1f1v0
- 1
- ポリシーの名前。
- 2
- オプション:
nodeSelectorパラメーターを含めない場合、ポリシーはクラスター内のすべてのノードに適用されます。 - 3
- この例は、
workerロールを持つすべてのノードに適用されます。 - 4
- VF ネットワークインターフェイスの名前。
- 5
- 作成する VF の数。
- 6
- アクティブな VF とバックアップ VF の間のフェイルオーバーボンディングを許可する設定。
- 7
- VLAN の ID。この例では、ハードウェアオフロードを使用して、VF 上で直接 VLAN を定義します。
- 8
- ボンディングネットワークインターフェイスの名前。
- 9
- オプション: 人間が判読できるインターフェイスの説明。
- 10
- インターフェイスのタイプ。
- 11
- 設定後のインターフェイスの要求された状態。
- 12
- ボンディングのボンディングポリシー。
- 13
- 割り当てられたプライマリーボンディングポート。
- 14
- ボンディングされたネットワークインターフェイスのポート。
- 15
- この例では、VLAN ネットワークインターフェイスが、ボンディングされたネットワークインターフェイスへの追加インターフェイスとして追加されます。