6.13. 仮想マシンのネットワーク
6.13.1. 仮想マシンのデフォルト Pod ネットワークの使用
Container-native Virtualization でデフォルトの Pod ネットワークを使用できます。これを実行するには、masquerade
バインディングメソッドを使用する必要があります。これは、デフォルトの Pod ネットワークを使用する場合にのみ推奨されるバインディングメソッドです。デフォルト以外のネットワークには、masquerade
モードを使用しないでください。
セカンダリーネットワークの場合は、 bridge
バインディングメソッドを使用します。
6.13.1.1. コマンドラインでのマスカレードモードの設定
マスカレードモードを使用し、仮想マシンの送信トラフィックを Pod IP アドレスの背後で非表示にすることができます。マスカレードモードは、ネットワークアドレス変換 (NAT) を使用して仮想マシンを Linux ブリッジ経由で Pod ネットワークバックエンドに接続します。
仮想マシンの設定ファイルを編集して、マスカレードモードを有効にし、トラフィックが仮想マシンに到達できるようにします。
前提条件
- 仮想マシンは、IPv4 アドレスを取得するために DHCP を使用できるように設定される必要がある。以下の例では、DHCP を使用するように設定されます。
6.13.1.2. バインディング方法の選択
Container-native Virtualization Web コンソールウィザード から仮想マシンを作成する場合、Networking 画面で必要なバインディングメソッドを選択します。
6.13.1.2.1. ネットワークフィールド
名前 | 説明 |
---|---|
名前 | ネットワークインターフェイスの名前。 |
Model | ネットワークインターフェイスカードのモデルを示します。サポートされる値は、e1000、 e1000e、ne2k_pci、pcnet, rtl8139、および virtIO です。 |
Network | 利用可能な NetworkAttachmentDefinition オブジェクトの一覧。 |
Type |
利用可能なバインディングメソッドの一覧。デフォルトの Pod ネットワークについては、 |
MAC Address | ネットワークインターフェイスの MAC アドレス。MAC アドレスが指定されていない場合、セッションの一時アドレスが生成されます。 |
6.13.1.3. デフォルトネットワーク用の仮想マシン設定の例
6.13.1.3.1. テンプレート: 仮想マシンの設定ファイル
apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachine metadata: name: example-vm namespace: default spec: running: false template: spec: domain: devices: disks: - name: containerdisk disk: bus: virtio - name: cloudinitdisk disk: bus: virtio interfaces: - masquerade: {} name: default resources: requests: memory: 1024M networks: - name: default pod: {} volumes: - name: containerdisk containerDisk: image: kubevirt/fedora-cloud-container-disk-demo - name: cloudinitdisk cloudInitNoCloud: userData: | #!/bin/bash echo "fedora" | passwd fedora --stdin
6.13.1.3.2. テンプレート: Windows 仮想マシンインスタンスの設定ファイル
apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachineInstance metadata: labels: special: vmi-windows name: vmi-windows spec: domain: clock: timer: hpet: present: false hyperv: {} pit: tickPolicy: delay rtc: tickPolicy: catchup utc: {} cpu: cores: 2 devices: disks: - disk: bus: sata name: pvcdisk interfaces: - masquerade: {} model: e1000 name: default features: acpi: {} apic: {} hyperv: relaxed: {} spinlocks: spinlocks: 8191 vapic: {} firmware: uuid: 5d307ca9-b3ef-428c-8861-06e72d69f223 machine: type: q35 resources: requests: memory: 2Gi networks: - name: default pod: {} terminationGracePeriodSeconds: 0 volumes: - name: pvcdisk persistentVolumeClaim: claimName: disk-windows