嵌套虚拟化
物理机: windows 10 专业版,
k8s node节点: virtualbox 6.1.22 虚拟机,使用嵌套虚拟化,ubuntu 18.04.5, k8s 1.18.20。
Dockerfile
进入 windows7下载目录(此目录应当只有一个iso)构建镜像
cd /media/sf_backup/dev/os/windows7
cat <<EOF | sudo tee Dockerfile
FROM scratch
ADD --chown=107:107 cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso /disk/
EOF
docker build -t w7:v1 .
w7-c.yaml
下面的配置,在安装时,鼠标有些飘,安装好后,恢复正常。
注意:安装好系统后,在设备管理中,把一些没有安装的驱动,安装好。
metadata:
name: w7-c
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstance
spec:
domain:
cpu:
sockets: 1
cores: 2
threads: 2
features:
acpi: {}
apic: {}
hyperv:
relaxed: {}
vapic: {}
vpindex: {}
spinlocks:
spinlocks: 8191
resources:
requests:
memory: 4096M
cpu: 4
devices:
#blockMultiQueue: true
#networkInterfaceMultiqueue: true
inputs:
- type: tablet
bus: usb
#bus: virtio
name: tablet1
disks:
- name: rootdisk
bootOrder: 1
disk:
bus: virtio
- name: containerdisk
bootOrder: 2
cdrom:
bus: sata
- name: virtiocontainerdisk
bootOrder: 3
cdrom:
bus: sata
interfaces:
- name: default
model: e1000
#bridge: {}
masquerade: {}
networks:
- name: default
pod: {}
volumes:
- name: containerdisk
containerDisk:
image: w7:v1
- name: rootdisk
hostDisk:
capacity: 60Gi
path: /data/vm/w701/disk.img
type: DiskOrCreate
- name: virtiocontainerdisk
containerDisk:
image: kubevirt/virtio-container-disk:v0.37.0
w7-h.yaml
按照 w7-c.yaml 安装好windows7后,可以使用 hostDisk 直接启动。
metadata:
name: w7-h
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstance
spec:
domain:
cpu:
sockets: 1
cores: 2
threads: 2
features:
acpi: {}
apic: {}
hyperv:
relaxed: {}
vapic: {}
vpindex: {}
spinlocks:
spinlocks: 8191
resources:
requests:
memory: 4096M
cpu: 4
devices:
#blockMultiQueue: true
#networkInterfaceMultiqueue: true
inputs:
- type: tablet
bus: usb
#bus: virtio
name: tablet1
disks:
- name: rootdisk
bootOrder: 1
disk:
bus: virtio
interfaces:
- name: default
model: e1000
#bridge: {}
masquerade: {}
networks:
- name: default
pod: {}
volumes:
- name: rootdisk
hostDisk:
capacity: 30Gi
path: /data/vm/w701/disk.img
type: DiskOrCreate