apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: windows-demo namespace: k8s-vm-windows-demo spec: runStrategy: Manual # la arrancas tú con "virtctl start windows-demo" template: metadata: labels: kubevirt.io/domain: windows-demo spec: # --- REDES --- # NIC #1 (admin): pod network (Flannel) con NAT (masquerade). No necesita NAD. # NIC #2 (servicios): tu NAD Multus "default/br-srv" networks: - name: admin pod: {} - name: servicios multus: networkName: default/br-srv domain: machine: type: q35 cpu: cores: 2 resources: requests: memory: 4Gi devices: # Interfaces de red interfaces: # Para que Windows tenga red "out of the box" en la NIC de admin, # ponemos e1000e. (Luego puedes cambiar a virtio para rendimiento) - name: admin masquerade: {} model: e1000e # En servicios dejamos virtio (requerirá instalar los drivers VirtIO) - name: servicios bridge: {} model: virtio # Discos disks: # 1) ISO de Windows como CD-ROM y primer boot - name: cdromiso cdrom: bus: sata readonly: true bootOrder: 1 # 2) Drivers VirtIO para Windows como CD-ROM - name: virtiocontainerdisk cdrom: bus: sata readonly: true # 3) Disco del sistema (virtio) como segundo boot - name: harddrive disk: bus: virtio bootOrder: 2 volumes: - name: cdromiso dataVolume: name: windows-iso - name: harddrive persistentVolumeClaim: claimName: winhd - name: virtiocontainerdisk # ISO de drivers VirtIO empaquetada como containerDisk # (si lo prefieres, puedes servir un virtio-win.iso tuyo desde el isoserver) containerDisk: image: kubevirt/virtio-container-disk # alternativa habitual: # image: quay.io/kubevirt/virtio-container-disk