7.14.2.3.2. CLI での Linux ブリッジ NetworkAttachmentDefinition の作成
ネットワーク管理者は、タイプ cnv-bridge
の NetworkAttachmentDefinition を、レイヤー 2 ネットワークを Pod および仮想マシンに提供するように設定できます。
NetworkAttachmentDefinition は Pod または仮想マシンと同じ namespace にある必要があります。
手順
任意のローカルディレクトリーで NetworkAttachmentDefinition の新規ファイルを作成します。このファイルには、お使いの設定に合わせて変更された以下の内容が含まれる必要があります。
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: a-bridge-network annotations: k8s.v1.cni.cncf.io/resourceName: bridge.network.kubevirt.io/br0 1 spec: config: '{ "cniVersion": "0.3.1", "name": "a-bridge-network", 2 "plugins": [ { "type": "cnv-bridge", 3 "bridge": "br0", 4 "vlan": 1 5 }, { "type": "cnv-tuning" 6 } ] }'
- 1
- このアノテーションを NetworkAttachmentDefinition に追加する場合、仮想マシンインスタンスは
br0
ブリッジが接続されているノードでのみ実行されます。 - 2
- 必須。ConfigMap の名前を入力します。設定名を NetworkAttachmentDefinition の
name
値に一致させることが推奨されます。 - 3
- この NetworkAttachmentDefinition のネットワークを提供する Container Network Interface (CNI) プラグインの実際の名前。異なる CNI を使用するのでない限り、このフィールドは変更しないでください。
- 4
- ブリッジの名前が
br0
でない場合、ブリッジの実際の名前に置き換える必要があります。 - 5
- オプション: VLAN タグ。
- 6
- 必須。これにより、MAC プールマネージャーが接続に固有の MAC アドレスを割り当てます。
$ oc create -f <resource_spec.yaml>
ブリッジネットワークに接続する必要のある仮想マシンまたは仮想マシンインスタンスの設定を編集します。
apiVersion: v1 kind: VirtualMachine metadata: name: example-vm spec: domain: devices: interfaces: - masquerade: {} name: default - bridge: {} name: bridge-net 1 ... networks: - name: default pod: {} - name: bridge-net 2 multus: networkName: a-bridge-network 3 ...
注記仮想マシンインスタンスは、
default
Pod ネットワーク、およびa-bridge-network
という名前の NetworkAttachmentDefinition によって定義されるbridge-net
の両方に接続されます。設定ファイルをリソースに適用します。
$ oc create -f <local/path/to/network-attachment-definition.yaml>
次のセクションで vNIC を定義する際に、NETWORK の値が直前のセクションで作成した NetworkAttachmentDefinition のブリッジネットワーク名であることを確認します。