更新时间:2025-04-27 GMT+08:00

创建虚拟机

使用manifest创建虚拟机

  1. 使用以下命令创建虚拟机:

    kubectl create -f - <<EOF
    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: testvm
    spec:
      runStrategy: Halted
      template:
        metadata:
          labels:
            kubevirt.io/size: small
            kubevirt.io/domain: testvm
        spec:
          domain:
            devices:
              disks:
                - name: containerdisk
                  disk:
                    bus: virtio
                - name: cloudinitdisk
                  disk:
                    bus: virtio
              interfaces:
              - name: default
                masquerade: {}
            resources:
              requests:
                memory: 64M
          networks:
          - name: default
            pod: {}
          volumes:
            - name: containerdisk
              containerDisk:
                image: quay.io/kubevirt/cirros-container-disk-demo
            - name: cloudinitdisk
              cloudInitNoCloud:
                userDataBase64: SGkuXG4=
    EOF

    命令执行成功,您将看到以下输出:

    virtualmachine.kubevirt.io/testvm created

  2. 由于配置了runStrategy为Halted,虚拟机当前处于停止状态。您可以通过以下命令查看虚拟机的状态:

    kubectl get vms
    输出示例:
    NAME     AGE   STATUS    READY
    testvm   73s   Stopped   False

结合virtctl创建特定资源的虚拟机

virtctl的子命令create vm允许您通过命令行轻松创建VirtualMachine资源清单。该命令默认利用实例类型、偏好设置以及推断功能,并提供了多个标志来控制创建的虚拟机的详细设置。您可以使用以下命令查看所有可用的配置选项:

virtctl create vm -h

例如,要创建名为vm-cirros、4GB内存的虚拟机,可以使用以下命令:

virtctl create vm --name vm-cirros --memory "4Gi" | kubectl create -f -

更多关于创建虚拟机的信息,请参考:https://kubevirt.io/user-guide/user_workloads/lifecycle/