En esta página, se describe cómo administrar máquinas virtuales en Google Distributed Cloud que ejecutan VM Runtime en Google Distributed Cloud. Antes de completar los pasos de esta página, debes conocer el entorno de ejecución de VM en GDC. Para obtener una lista de los sistemas operativos invitados compatibles, consulta Sistemas operativos invitados verificados para el entorno de ejecución de VM en GDC.
Para obtener información sobre cómo las máquinas virtuales son un componente esencial de la plataforma de Distributed Cloud, consulta Extiende GKE Enterprise para administrar VMs perimetrales locales.
Los clústeres del plano de control local admiten webhooks de máquina virtual. Esto permite que Distributed Cloud valide las solicitudes de los usuarios realizadas al servidor de la API de Kubernetes local. Las solicitudes rechazadas generan información detallada sobre el motivo del rechazo.
Habilita la compatibilidad con el entorno de ejecución de VM en GDC en Distributed Cloud
De forma predeterminada, la compatibilidad con máquina virtual del entorno de ejecución de VM en GDC está inhabilitada en Distributed Cloud. Para habilitarlo, completa los pasos de esta sección. En las instrucciones de esta sección, se supone que tienes un clúster de Distributed Cloud que funciona correctamente.
El recurso VMRuntime que configura la compatibilidad con el entorno de ejecución de VM en GDC en Distributed Cloud también configura la compatibilidad con GPU en tu clúster con el parámetro enableGPU. Asegúrate de configurar los dos parámetros según las necesidades de tu carga de trabajo. No es necesario que habilites la compatibilidad con GPU para habilitar la compatibilidad con el entorno de ejecución de VM en GDC en tu clúster de Distributed Cloud.
En la siguiente tabla, se describen los parámetros de configuración disponibles:
Valor enable |
Valor enableGPU |
Configuración resultante |
|---|---|---|
false |
false |
Las cargas de trabajo solo se ejecutan en contenedores y no pueden usar recursos de GPU. |
false |
true |
Las cargas de trabajo solo se ejecutan en contenedores y pueden usar recursos de GPU. |
true |
true |
Las cargas de trabajo se pueden ejecutar en máquinas virtuales y en contenedores. Ambos tipos de cargas de trabajo pueden usar recursos de GPU. |
true |
false |
Las cargas de trabajo se pueden ejecutar en máquinas virtuales y en contenedores. Ninguno de los tipos de cargas de trabajo puede usar recursos de GPU. |
Si ya habilitaste la compatibilidad con GPU, modifica el recurso VMRuntime para agregar el parámetro enable, establece su valor en true y, luego, aplícalo a tu clúster de Distributed Cloud.
Habilita el subsistema de la máquina virtual del entorno de ejecución de VM en GDC
Según el tipo de clúster en el que quieras habilitar VM Runtime en el subsistema de máquina virtual de GDC, realiza una de las siguientes acciones:
- En el caso de los clústeres del plano de control de Cloud, debes crear el recurso
VMRuntimede forma manual. - En el caso de los clústeres con plano de control local, debes editar el recurso
VMRuntimeexistente.
Para habilitar el entorno de ejecución de VM en el subsistema de máquina virtual de GDC, completa los siguientes pasos:
Según el tipo de clúster de destino, crea o modifica el recurso personalizado
VMRuntimecon el siguiente contenido y aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Enable Anthos VM Runtime support enabled: true # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
No cambies el valor del parámetro
vmImageFormat. Distributed Cloud no admite ningún otro formato de disco virtual.Este proceso suele tardar varios minutos en completarse.
Usa el siguiente comando para verificar que el recurso personalizado
VMRuntimese haya aplicado a tu clúster:kubectl get vmruntime -o yaml
El comando muestra un resultado similar al siguiente ejemplo:
- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime ... spec: enabled: true vmImageFormat: raw status: ... ready: true ...Usa el siguiente comando para verificar que se haya habilitado la compatibilidad con máquina virtual del entorno de ejecución de VM en GDC en tu clúster:
kubectl get pods -n vm-system
El comando devuelve un resultado que muestra los Pods del subsistema de VM Runtime en GDC que se ejecutan en tu clúster, similar al siguiente ejemplo:
NAME READY STATUS RESTARTS AGE cdi-apiserver-6c76c6cf7b-n68wn 1/1 Running 0 132m cdi-deployment-f78fd599-vj7tv 1/1 Running 0 132m cdi-operator-65c4df9647-fcb9d 1/1 Running 0 134m cdi-uploadproxy-7765ffb694-6j7bf 1/1 Running 0 132m macvtap-fjfjr 1/1 Running 0 134m virt-api-77dd99dbbb-bs2fb 1/1 Running 0 132m virt-api-77dd99dbbb-pqc27 1/1 Running 0 132m virt-controller-5b44dbbbd7-hc222 1/1 Running 0 132m virt-controller-5b44dbbbd7-p8xkk 1/1 Running 0 132m virt-handler-n76fs 1/1 Running 0 132m virt-operator-86565697d9-fpxqh 2/2 Running 0 134m virt-operator-86565697d9-jnbt7 2/2 Running 0 134m vm-controller-controller-manager-7844d5fb7b-72d8m 2/2 Running 0 134m vmruntime-controller-manager-845649c847-m78r9 2/2 Running 0 175m
Otorga acceso al espacio de nombres de destino al registro de Distributed Cloud
Los pasos de esta sección solo se aplican a los clústeres del plano de control de Cloud. Si configuras el subsistema de máquina virtual del entorno de ejecución de VM en GDC en un clúster de plano de control local, omite esta sección.
Antes de crear una máquina virtual en un espacio de nombres, debes otorgarle acceso al registro de Distributed Cloud. El registro contiene los componentes necesarios para crear y, luego, implementar tus máquinas virtuales en el espacio de nombres de destino. Ten en cuenta que no puedes ejecutar máquinas virtuales en espacios de nombres reservados para la administración del sistema de Distributed Cloud. Para obtener más información, consulta Restricciones del espacio de nombres de administración.
Completa los siguientes pasos para otorgar acceso a tu espacio de nombres de destino al registro de Distributed Cloud:
Aplica parches a la cuenta de servicio predeterminada en el espacio de nombres de destino con la clave
imagePullSecretllamadagcr-pull:kubectl patch sa default -p "{\"imagePullSecrets\": [{\"name\": \"gcr-pull\"}]}" -n NAMESPACE
Reemplaza
NAMESPACEpor el nombre del espacio de nombres de destino.Actualiza el secreto asociado en el espacio de nombres de destino:
# Delete existing secret. kubectl delete secret gcr-pull -n NAMESPACE --ignore-not-found # Copy the new secret to the target namespace. kubectl get secret gcr-pull -n vm-system -o yaml | sed "s/namespace: vm-system/namespace: NAMESPACE/g" | kubectl apply -f -
Reemplaza
NAMESPACEpor el nombre del espacio de nombres de destino.El secreto vence después de una hora. Debes actualizarlo manualmente después de que venza.
Instala la herramienta de administración de virtctl
Necesitas la herramienta cliente virtctl para administrar máquinas virtuales en tu clúster de Distributed Cloud. Para instalar la herramienta, completa los siguientes pasos:
Instala la herramienta de cliente
virtctlcomo un complementokubectl:export VERSION=v0.49.0-anthos1.12-gke.7 gcloud storage cp gs://anthos-baremetal-release/virtctl/${VERSION}/linux-amd64/virtctl /usr/local/bin/virtctl cd /usr/local/bin sudo ln -s virtctl kubectl-virt sudo chmod a+x virtctl cd -
Verifica que el complemento
virtesté instalado:kubectl plugin list
Si el complemento se instaló correctamente, el resultado del comando mostrará
kubectl-virtcomo uno de los complementos.
Aprovisiona una máquina virtual en Distributed Cloud con almacenamiento en bloque sin procesar
En esta sección, se proporcionan ejemplos de configuración que ilustran cómo aprovisionar una máquina virtual de Linux y una máquina virtual de Windows en un clúster de Distributed Cloud con almacenamiento de bloques sin procesar. En los ejemplos, se usa el almacenamiento en bloque creado como un PersistentVolume.
Limitaciones del uso del almacenamiento en bloque sin procesar
Se aplican las siguientes limitaciones cuando se ejecutan máquinas virtuales con almacenamiento en bloque sin procesar en Distributed Cloud:
- El campo
OSTypeno se admite en las especificaciones de recursosVirtualMachineen los clústeres del plano de control de Cloud. Por este motivo, solo se admiten los métodosconsoleyvncpara acceder a las máquinas virtuales que se ejecutan en clústeres del plano de control de Cloud. - No puedes crear una máquina virtual en un clúster de Distributed Cloud directamente con el comando
kubectl virtporque Distributed Cloud no proporciona almacenamiento del sistema de archivos a las máquinas virtuales. - Los recursos de almacenamiento en bloque
PersistenVolumeClaimno admiten el formato de imagen de discoqcow2. - El complemento Containerized Data Importer (CDI) no admite recursos
DataVolumeen el almacenamiento en bloque porque el espacio de trabajo del complemento solo funciona en el almacenamiento del sistema de archivos. Para obtener más información, consulta Espacio de trabajo.
Aprovisiona una máquina virtual de Linux en Distributed Cloud con almacenamiento en bloque sin procesar
En el siguiente ejemplo, se ilustra cómo aprovisionar una máquina virtual de Linux con almacenamiento en bloque sin procesar que ejecuta Ubuntu Server 22.04. La fuente de instalación es la imagen ISO del disco de Ubuntu Server 22.04.
Crea un recurso
PersistentVolumeClaimcon el siguiente contenido para la imagen de disco de instalación de Ubuntu Server y, luego, aplícalo a tu clúster:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: iso-ubuntu annotations: cdi.kubevirt.io/storage.import.endpoint: "https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 5Gi
Crea un recurso
PersistentVolumeClaimcon el siguiente contenido para el disco duro virtual de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ubuntuhd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para la imagen de disco de instalación de Ubuntu Server y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-iso-disk" spec: persistentVolumeClaimName: iso-ubuntu diskType: cdrom
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para el disco duro virtual de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: persistentVolumeClaimName: ubuntuhd
Crea un recurso
VirtualMachineTypecon el siguiente contenido que especifica la configuración de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea un recurso
VirtualMachinecon el siguiente contenido que crea una instancia de la máquina virtual y la inicia en el clúster, y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
El campo
osTypesolo se aplica a los clústeres con plano de control local. Es obligatorio en los clústeres del plano de control local para configurar las siguientes funciones:Instala Ubuntu Server en la máquina virtual:
- Espera a que el Pod
importerdescargue la imagen de disco de instalación de Ubuntu Server. Verifica el estado de la máquina virtual:
kubectl get gvm VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Accede a la máquina virtual:
kubectl virt vnc VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Completa los pasos de instalación de Ubuntu Linux.
- Espera a que el Pod
Limpieza:
Detén la máquina virtual:
kubectl virt stop VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Edita el archivo YAML de la máquina virtual para quitar la referencia a la imagen del disco de instalación:
kubectl edit gvm VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Inicia la máquina virtual:
kubectl virt start VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Borra los recursos
VirtualMachineDiskyPersistentVolumeClaimde la imagen del disco de instalación:kubectl delete virtualmachinedisk ubuntu-iso-disk kubectl delete pvc iso-ubuntu
Aprovisiona una máquina virtual de Windows en Distributed Cloud con almacenamiento en bloque sin procesar
En el siguiente ejemplo, se ilustra cómo aprovisionar una máquina virtual de Windows con almacenamiento en bloque sin procesar. Los pasos son similares a los del aprovisionamiento de una máquina virtual de Linux, con la adición de la imagen de disco del controlador virtio, que se requiere para instalar Windows.
Obtén una copia con licencia de Windows y su imagen de medios de instalación.
Crea un recurso
PersistentVolumeClaimcon el siguiente contenido para la imagen del disco de instalación de Windows y, luego, aplícalo a tu clúster. Para obtener instrucciones, consulta Desde imagen.Crea un recurso
PersistentVolumeClaimcon el siguiente contenido para el controladorvirtioy, luego, aplícalo a tu clúster:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: virtio-driver annotations: cdi.kubevirt.io/storage.import.endpoint: "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 1Gi
Crea un recurso
PersistentVolumeClaimcon el siguiente contenido para el disco duro virtual de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: windowshd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para la imagen de disco de instalación de Windows y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-iso-disk" spec: persistentVolumeClaimName: iso-windows diskType: cdrom
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para el controladorvirtioy, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "win-virtio-driver" spec: persistentVolumeClaimName: virtio-driver diskType: cdrom
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para el disco duro virtual de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-main-disk" spec: persistentVolumeClaimName: windowshd
Crea un recurso
VirtualMachineTypecon el siguiente contenido que especifica la configuración de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea un recurso
VirtualMachinecon el siguiente contenido que instancia y, luego, inicia la máquina virtual en el clúster, y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
El campo
osTypesolo se aplica a los clústeres con plano de control local. Es obligatorio en los clústeres del plano de control local para configurar las siguientes funciones:Instala Windows en la máquina virtual:
- Espera a que el Pod
importerdescargue la imagen del disco de instalación de Windows. Verifica el estado de la máquina virtual:
kubectl get gvm VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,win-vmen este ejemplo.Completa la instalación de Windows siguiendo los pasos que se indican en Conéctate a la VM de Windows y completa la instalación del SO.
- Espera a que el Pod
Limpieza:
Detén la máquina virtual:
kubectl virt stop VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,win-vmen este ejemplo.Completa los pasos en Desconecta la imagen ISO y el disco de controladores.
Aprovisiona una máquina virtual en Distributed Cloud con Symcloud Storage
En esta sección, se proporcionan ejemplos de configuración que ilustran cómo aprovisionar una máquina virtual de Linux y una máquina virtual de Windows en un clúster de Distributed Cloud con la capa de abstracción de Symcloud Storage.
Antes de completar los pasos de esta sección, primero debes completar los pasos en Configura Distributed Cloud para Symcloud Storage. Si más adelante inhabilitas Symcloud Storage en el clúster, fallarán las máquinas virtuales configuradas para usar Symcloud Storage.
Aprovisiona una máquina virtual de Linux en Distributed Cloud con Symcloud Storage
En el siguiente ejemplo, se muestra cómo aprovisionar una máquina virtual de Linux con Symcloud Storage que ejecuta Ubuntu Server 22.04. La fuente de instalación es la imagen ISO del disco de Ubuntu Server 22.04.
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para la imagen de disco de instalación de Ubuntu Server y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: ubuntu-iso-disk spec: size: 20Gi storageClassName: robin diskType: cdrom source: http: url: https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para el disco duro virtual de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: size: 200Gi storageClassName: robin
Crea un recurso
VirtualMachineTypecon el siguiente contenido que especifica la configuración de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea un recurso
VirtualMachinecon el siguiente contenido que crea una instancia de la máquina virtual y la inicia en el clúster, y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
El campo
osTypesolo se aplica a los clústeres con plano de control local. Es obligatorio en los clústeres del plano de control local para configurar las siguientes funciones:Instala Ubuntu Server en la máquina virtual:
- Espera a que el Pod
importerdescargue la imagen de disco de instalación de Ubuntu Server. Verifica el estado de la máquina virtual:
kubectl get gvm VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Accede a la máquina virtual:
kubectl virt vnc VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Completa los pasos de instalación de Ubuntu Linux.
- Espera a que el Pod
Limpieza:
Detén la máquina virtual:
kubectl virt stop VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Edita el archivo YAML de la máquina virtual para quitar la referencia a la imagen del disco de instalación:
kubectl edit gvm VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Inicia la máquina virtual:
kubectl virt start VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,ubu-vmen este ejemplo.Borra el recurso
VirtualMachineDiskde la imagen del disco de instalación:kubectl delete virtualmachinedisk ubuntu-iso-disk
Aprovisiona una máquina virtual de Windows en Distributed Cloud con Symcloud Storage
En el siguiente ejemplo, se ilustra cómo aprovisionar una máquina virtual de Windows con Symcloud Storage. Los pasos son similares a los del aprovisionamiento de una máquina virtual de Linux, con la adición de la imagen de disco del controlador virtio, que se requiere para instalar Windows.
Obtén una copia con licencia de Windows y su imagen de medios de instalación.
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para la imagen de disco de instalación de Windows y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso-disk namespace: default spec: size: 5Gi storageClassName: robin diskType: cdrom source: http: url: WINDOWS_ISO_URL
Reemplaza
NAT_GATEWAYpor la URL completa de la imagen ISO del disco de instalación de Windows de destino.Crea un recurso
VirtualMachineDiskcon el siguiente contenido para el controladorvirtioy, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-virtio-driver namespace: default spec: size: 1Gi storageClassName: robin diskType: cdrom source: http: url: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Crea un recurso
VirtualMachineDiskcon el siguiente contenido para el disco duro virtual de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-main-disk namespace: default spec: size: 15Gi storageClassName: robin
Crea un recurso
VirtualMachineTypecon el siguiente contenido que especifica la configuración de la máquina virtual y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea un recurso
VirtualMachinecon el siguiente contenido que instancia y, luego, inicia la máquina virtual en el clúster, y, luego, aplícalo a tu clúster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
El campo
osTypesolo se aplica a los clústeres con plano de control local. Es obligatorio en los clústeres del plano de control local para configurar las siguientes funciones:Instala Windows en la máquina virtual:
- Espera a que el Pod
importerdescargue la imagen del disco de instalación de Windows. Verifica el estado de la máquina virtual:
kubectl get gvm VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,win-vmen este ejemplo.Completa la instalación de Windows siguiendo los pasos que se indican en Conéctate a la VM de Windows y completa la instalación del SO.
- Espera a que el Pod
Limpieza:
Detén la máquina virtual:
kubectl virt stop VM_NAME
Reemplaza
VM_NAMEpor el nombre de la máquina virtual,win-vmen este ejemplo.Completa los pasos en Desconecta la imagen ISO y el disco de controladores.
Aprovisiona una máquina virtual en Distributed Cloud con virtctl
Si no necesitas la personalización que se proporciona al escribir tus propias especificaciones de recursos para tus máquinas virtuales, puedes aprovisionar una máquina virtual en Distributed Cloud con la herramienta de línea de comandos virtctl, como se describe en Crea una VM.
Administra máquinas virtuales que se ejecutan en Distributed Cloud
Para obtener instrucciones sobre cómo administrar máquinas virtuales que se ejecutan en Distributed Cloud, consulta la siguiente documentación del entorno de ejecución de VM en GDC:
- Conéctate a las VMs
- Enumera y visualiza las VMs
- Administrar el estado de energía
- Edita una VM
- Borra una VM
- Visualiza los registros de la consola de VM
Para administrar las máquinas virtuales que se ejecutan en clústeres de plano de control local, primero debes configurar la conectividad de kubectl.
Configura el dispositivo ttyS0 para acceder a la consola en serie de las máquinas virtuales Linux
Si planeas acceder a tus máquinas virtuales de Linux con la consola en serie (kubectl virt console), asegúrate de que el dispositivo de consola en serie ttyS0 se haya configurado en el sistema operativo invitado. Para configurar este dispositivo, completa los siguientes pasos:
Crea una instancia del dispositivo serial
ttyS0en el sistema:setserial -g /dev/ttyS0
Configura el bootloader
grubpara que use el dispositivo serialttyS0. Para ello, agrega las siguientes líneas al archivo de configuración/etc/default/grub. La primera línea reemplaza tu variableGRUB_CMDLINE_LINUXexistente.GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,19200n8' GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"
Aplica la nueva configuración de
gruba tu sector de arranque:update-grub
Reinicia la máquina virtual.
Inhabilita el entorno de ejecución de VM en GDC en Distributed Cloud
Sigue los pasos que se indican en esta sección para inhabilitar el entorno de ejecución de VM en GDC en Distributed Cloud. Antes de inhabilitar el entorno de ejecución de VM en GDC en Distributed Cloud, debes detener y borrar todas las máquinas virtuales en tu clúster de Distributed Cloud, como se describe en Borra una VM.
Para inhabilitar el entorno de ejecución de VM en GDC en Distributed Cloud, modifica el recurso personalizado VMRuntime configurando el parámetro de especificación enabled en false de la siguiente manera y, luego, aplícalo a tu clúster:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Disable Anthos VM Runtime enabled: false # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
¿Qué sigue?
- Implementa cargas de trabajo en Distributed Cloud
- Administra cargas de trabajo de GPU
- Administrar zonas
- Administrar máquinas
- Administrar clústeres
- Administra grupos de nodos