En este documento, se muestra cómo crear una máquina virtual (VM) de Windows que se inicie desde un ISO con el entorno de ejecución de VMs en GDC. Cuando se inicie la VM, completa manualmente la rutina de configuración de Windows.
También puedes crear una VM de Windows a partir de una imagen de disco preparada con una fuente HTTP o desde Cloud Storage.
Antes de comenzar
Para completar este documento, necesitas acceso a los siguientes recursos:
- Acceso a la versión 1.12.0 (
anthosBareMetalVersion: 1.12.0) o superior de Google Distributed Cloud. Puedes usar cualquier tipo de clúster capaz de ejecutar cargas de trabajo. Si es necesario, prueba Google Distributed Cloud en Compute Engine o consulta la descripción general de la creación de clústeres. - La herramienta de cliente
virtctlinstalada como un complemento parakubectl. Si es necesario, instala la herramienta cliente de virtctl.
Crea un disco virtual para la imagen ISO
Para crear una VM de Windows de forma correcta, sigue los pasos y las secciones de este documento en orden.
Para iniciar desde una imagen ISO de Windows, primero crea un VirtualMachineDisk con diskType de cdrom. Usa tu ISO de Windows como fuente de este disco.
Crea un manifiesto
VirtualMachineDisk, comowindows-iso.yaml, en el editor que elijas:nano windows-iso.yamlCopia y pega el siguiente manifiesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso spec: source: http: url: IMG_URL size: 10Gi diskType: cdromReemplaza
IMG_URLpor la ruta HTTP a tu ISO de Windows. También puedes crear y usar credenciales para importar un ISO desde Cloud Storage.Guarda y cierra el manifiesto en tu editor.
Crea
VirtualMachineDiskmediantekubectl:kubectl apply -f windows-iso.yaml
Crea un disco de controladores de VM
Para iniciarse correctamente desde un ISO de Windows y completar el proceso de instalación, la VM necesita acceso a los controladores virtio. Para proporcionar los controladores virtio a la VM, completa los siguientes pasos:
Crea un manifiesto
VirtualMachineDisk, comovirtio-driver.yaml, en el editor que elijas:nano virtio-driver.yamlCopia y pega el siguiente manifiesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: virtio-driver spec: size: 1Gi source: registry: url: docker://quay.io/kubevirt/virtio-container-disk:latest diskType: cdromEste manifiesto extrae los controladores
virtiomás recientes de un repositorio público de Docker y configuradiskTypecomocdrom. Tu VM usa este disco durante el proceso de instalación.Guarda y cierra el manifiesto en tu editor.
Crea
VirtualMachineDiskmediantekubectl:kubectl apply -f virtio-driver.yaml
Crea una VM de Windows
Crea una VM que se inicie desde el archivo ISO VirtualMachineDisk de Windows y conecta el disco de controladores virtio:
Crea un manifiesto que defina una
VirtualMachineDiskpara el volumen de arranque y unaVirtualMachine, comowindows-vm.yaml, en el editor que elijas:nano windows-vm.yamlCopia y pega el siguiente manifiesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: VM_NAME-boot-dv spec: size: 100Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: osType: Windows disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true - virtualMachineDiskName: windows-iso - virtualMachineDiskName: virtio-driver compute: cpu: vcpus: 2 memory: capacity: 4Gi interfaces: - name: eth0 networkName: pod-networkReemplaza
VM_NAMEpor el nombre que quieras para tu VM.Con este manifiesto, se crea un volumen de arranque de 100 gibibytes (GiB). Como este volumen de inicio está vacío cuando se inicia la VM por primera vez, esta se inicia desde ISO como un dispositivo de CD-ROM para iniciar la rutina de configuración. Los controladores
virtiotambién se adjuntan para completar el proceso de instalación.Guarda y cierra el manifiesto en tu editor.
Crea
VirtualMachineDiskyVirtualMachineconkubectl:kubectl apply -f windows-vm.yaml
Conéctate a la VM de Windows y completa la instalación del SO
La VM se inicia y se inicia desde el ISO de Windows de la sección anterior. Conéctate a tu VM, completa el proceso de instalación de Windows y configúrala:
Conéctate a tu VM de Windows:
kubectl virt vnc VM_NAMEReemplaza
VM_NAMEpor el nombre de tu VM de Windows.Cuando se te solicite, ingresa las credenciales de usuario del SO huésped de Windows para la VM.
Para obtener más información sobre el uso de
kubectl virt vncpara conectarte a tu VM, consulta Cómo conectarte directamente con VNC.En la configuración de Windows, elige realizar una instalación personalizada.
Selecciona Load driver, explora el directorio viostor en el disco
virtioy, luego, selecciona el directorio que coincida con la versión de Windows que deseas instalar.Para obtener más información, consulta Controladores
virtiode Windows de KubeVirt.Ahora que los controladores de almacenamiento y red de
virtioestán disponibles, completa el resto del proceso de instalación de Windows.Te recomendamos que habilites el protocolo de escritorio remoto para que puedas conectarte directamente a la VM después de la instalación.
Desconecta la imagen ISO y el disco de controladores
Una vez completada la instalación de Windows, quita el disco de controladores virtio y la imagen ISO de Windows de la VM:
Detén tu VM de Windows:
kubectl virt stop VM_NAMEReemplaza
VM_NAMEpor el nombre de tu VM de Windows.Usa
kubectlpara editar la VM:kubectl edit gvm VM_NAMEReemplaza
VM_NAMEpor el nombre de tu VM de Windows.En tu editor, actualiza la sección
spec.diskspara quitar los discos ISO yvirtiode Windows, como se muestra en el siguiente ejemplo. El único disco que queda adjunto a la VM debe serVM_NAME-boot-dv:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: windows-vm spec: osType: Windows disks: - virtualMachineDiskName: windows-vm-boot-dv boot: true interfaces: ...Guarda y cierra el manifiesto de la VM.
Inicia tu VM de Windows:
kubectl virt start VM_NAMEReemplaza
VM_NAMEpor el nombre de tu VM de Windows.Verifica el
STATUSde tu VM:kubectl get gvm VM_NAMEReemplaza
VM_NAMEpor el nombre de tu VM de Windows.Asegúrate de que tu VM esté en estado
Running. Si la VM no está en un estadoRunning, verifica el manifiesto de recursosVirtualMachinepara asegurarte de haber quitado solo el ISO de Windows y el discovirtio. Verifica que el host tenga recursos de procesamiento suficientes para iniciar la VM.