10.7.2.2. CLI を使用した Linux ブリッジ NAD の作成
コマンドラインを使用してネットワークアタッチメント定義 (NAD) を作成し、Pod および仮想マシンに layer-2 ネットワークを提供できます。
NAD と仮想マシンは同じ namespace に存在する必要があります。
仮想マシンのネットワークアタッチメント定義での IP アドレス管理 (IPAM) の設定はサポートされていません。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
次の例のように、仮想マシンを
NetworkAttachmentDefinition設定に追加します。apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: bridge-network1 annotations: k8s.v1.cni.cncf.io/resourceName: bridge.network.kubevirt.io/br12 spec: config: | { "cniVersion": "0.3.1", "name": "bridge-network",3 "type": "bridge",4 "bridge": "br1",5 "macspoofchk": false,6 "vlan": 100,7 "disableContainerInterface": true, "preserveDefaultVlan": false8 }- 1
NetworkAttachmentDefinitionオブジェクトの名前。- 2
- オプション: 一部のノードに設定されたブリッジのノード選択に使用するアノテーションのキーと値のペア。このアノテーションをネットワークアタッチメント定義に追加すると、仮想マシンインスタンスが、定義されたブリッジが接続されているノード上でのみ実行されます。
- 3
- 設定の名前。設定名を network attachment definition の
name値に一致させることが推奨されます。 - 4
- この Network Attachment Definition のネットワークを提供する Container Network Interface (CNI) プラグインの実際の名前。異なる CNI を使用するのでない限り、このフィールドは変更しないでください。
- 5
- ノードに設定される Linux ブリッジの名前。この名前は、
NodeNetworkConfigurationPolicyマニフェストで定義されているインターフェイスブリッジ名と一致する必要があります。 - 6
- オプション: MAC スプーフィングチェックを有効にするフラグ。
trueに設定すると、Pod またはゲストインターフェイスの MAC アドレスを変更できません。この属性により、Pod から出ることができる MAC アドレスは 1 つだけになり、MAC スプーフィング攻撃に対するセキュリティーが確保されます。 - 7
- オプション: VLAN タグ。Node Network Configuration Policy では、追加の VLAN 設定は必要ありません。注記
IBM Z® 上の OSA インターフェイスは VLAN フィルタリングをサポートしていないため、VLAN タグ付きのトラフィックは破棄されます。OSA インターフェイスでは VLAN タグを使用する NAD を使用しないでください。
- 8
- オプション: 仮想マシンがデフォルト VLAN 経由でブリッジに接続するかどうかを示します。デフォルト値は
trueです。
オプション: 仮想マシンをネイティブネットワークに接続する場合は、VLAN を指定せずに Linux ブリッジ
NetworkAttachmentDefinitionマニフェストを設定します。apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: bridge-network annotations: k8s.v1.cni.cncf.io/resourceName: bridge.network.kubevirt.io/br1 spec: config: | { "cniVersion": "0.3.1", "name": "bridge-network", "type": "bridge", "bridge": "br1", "macspoofchk": false, "disableContainerInterface": true }Network Attachment Definition を作成します。
$ oc create -f network-attachment-definition.yaml1 - 1
- ここで、
network-attachment-definition.yamlは Network Attachment Definition マニフェストのファイル名です。
検証
次のコマンドを実行して、Network Attachment Definition が作成されたことを確認します。
$ oc get network-attachment-definition bridge-network