嵌套虚拟化

物理机: 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
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐