En este documento, se muestra cómo crear una máquina virtual (VM) de Windows que se inicia desde una ISO mediante Anthos VM Runtime. Cuando se inicia la VM, completa de forma manual 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 los clústeres de Anthos alojados en equipos físicos. Puedes usar cualquier tipo de clúster capaz de ejecutar cargas de trabajo. Si es necesario, prueba los clústeres de Anthos alojados en equipos físicos en Compute Engine o consulta la descripción general de la creación de clústeres. - La herramienta de cliente
virtctl
instalada como un complemento parakubectl
. Si es necesario, instala la herramienta cliente de virtctl.
Crea un disco virtual para la imagen ISO
Para crear con éxito una VM de Windows, 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 para este disco.
Crea un manifiesto
VirtualMachineDisk
, comowindows-iso.yaml
, en el editor que elijas:nano windows-iso.yaml
Copia 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: cdrom
Reemplaza
IMG_URL
por la ruta de acceso HTTP a la ISO de Windows. También puedes crear y usar credenciales para importar una ISO de Cloud Storage.Guarda y cierra el manifiesto en tu editor.
Crea
VirtualMachineDisk
mediantekubectl
:kubectl apply -f windows-iso.yaml
Crea un disco de controladores de VM
Para iniciar de forma correcta desde una 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.yaml
Copia 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: cdrom
Este manifiesto extrae los controladores
virtio
más recientes de un repositorio público de Docker y establecediskType
comocdrom
. La VM usa este disco durante el proceso de instalación.Guarda y cierra el manifiesto en tu editor.
Crea
VirtualMachineDisk
mediantekubectl
:kubectl apply -f virtio-driver.yaml
Crea una VM de Windows
Crea una VM que se inicie desde el VirtualMachineDisk
de Windows ISO y conecta el disco de los controladores virtio
:
Crea un manifiesto que defina un
VirtualMachineDisk
para el volumen de inicio y unVirtualMachine
, comowindows-vm.yaml
, en el editor que elijas:nano windows-vm.yaml
Copia 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 interfaces: - name: eth0 networkName: pod-network
Reemplaza
VM_NAME
por el nombre que deseas para la VM.Este manifiesto crea un volumen de inicio de 100 Gibibyte (GiB). Como este volumen de inicio está vacío cuando se inicia la VM por primera vez, la VM se inicia desde la ISO como un dispositivo de CD-ROM para iniciar la rutina de configuración. También se adjuntan los controladores
virtio
para completar el proceso de instalación.Guarda y cierra el manifiesto en tu editor.
Crea el
VirtualMachineDisk
yVirtualMachine
conkubectl
: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 en la sección anterior. Conéctate a la VM, completa el proceso de instalación de Windows y configura la VM:
Conéctate a tu VM de Windows:
kubectl virt vnc VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM de Windows.Cuando se te solicite, ingresa las credenciales de usuario de SO invitado de Windows para la VM.
Si deseas obtener más información sobre el uso de
kubectl virt vnc
para conectarte a la VM, consulta Conéctate directamente mediante VNC.En la configuración de Windows, elige realizar una instalación personalizada.
Selecciona Controlador de carga, navega hasta el directorio viostor en el disco
virtio
y, luego, selecciona el directorio que coincida con la versión de Windows que deseas instalar.Para obtener más información, consulta Controladores
virtio
de Windows Vibe.Con los controladores de almacenamiento y red de
virtio
disponibles, completa el resto del proceso de instalación de Windows.Te recomendamos habilitar el protocolo de escritorio remoto para poder conectarte directamente a la VM después de la instalación.
Desvincula la imagen ISO y el disco del controlador
Cuando finalice la instalación de Windows, quita el disco del controlador virtio
y la imagen ISO de Windows de la VM:
Detén tu VM de Windows:
kubectl virt stop VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM de Windows.Usa
kubectl
para editar la VM:kubectl edit gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM de Windows.En tu editor, actualiza la sección
spec.disks
para quitar los discos ISO yvirtio
de Windows, como se muestra en el siguiente ejemplo. El único disco que queda conectado 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_NAME
Reemplaza
VM_NAME
por el nombre de la VM de Windows.Verifica el
STATUS
de tu VM:kubectl get gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM de Windows.Asegúrate de que la VM tenga el estado
Running
. Si la VM no está en un estadoRunning
, revisa el manifiesto de recursosVirtualMachine
para asegurarte de que solo quitaste el disco ISO y el discovirtio
de Windows. Comprueba que el host tenga suficientes recursos de procesamiento para iniciar la VM.