En esta guía de inicio rápido se muestra cómo usar VM Runtime en GDC para crear una máquina virtual en Google Distributed Cloud. VM Runtime en GDC usa KubeVirt para orquestar máquinas virtuales en clústeres y te permite trabajar con tus aplicaciones y cargas de trabajo basadas en máquinas virtuales en un entorno de desarrollo uniforme.
Antes de empezar
Para completar esta guía de inicio rápido, necesitas acceso a un clúster de Google Distributed Cloud versión 1.12 (anthosBareMetalVersion: 1.12) o posterior. Puedes usar cualquier tipo de clúster que pueda 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.
Habilitar el entorno de ejecución de máquinas virtuales en GDC
VM Runtime en GDC se instala automáticamente en Google Distributed Cloud 1.10 o versiones posteriores, pero está inhabilitado de forma predeterminada. Para poder ejecutar recursos de VM en Google Distributed Cloud, debes habilitar el tiempo de ejecución de VM en GDC.
bmctl
Google Distributed Cloud versión 1.11 o posterior puede usar la herramienta de línea de comandos bmctl:
Para habilitar el tiempo de ejecución, usa la herramienta
bmctl:bmctl enable vmruntime --kubeconfig KUBECONFIG_PATHProporciona la ruta al archivo kubeconfig de tu clúster. Google Distributed Cloud genera el archivo kubeconfig en la estación de trabajo de administrador cuando creas un clúster. De forma predeterminada, la ruta es
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.Si el tiempo de ejecución de máquinas virtuales en GDC ya está habilitado, el comando devuelve un error.
Recurso personalizado
Google Distributed Cloud versión 1.10 o posterior puede usar una definición de recurso personalizado para habilitar el entorno de ejecución de máquinas virtuales en GDC. Este recurso personalizado se instala de forma predeterminada.
Edita el recurso personalizado
VMRuntime:kubectl edit vmruntimeDefine
enabled:trueen la especificación:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true # useEmulation defaults to "false" if not set. useEmulation: true # vmImageFormat defaults to "qcow2" if not set. vmImageFormat: qcow2En la sección
specanterior, se pueden definir los siguientes valores:enabled: se define como true para habilitar el tiempo de ejecución de máquinas virtuales en GDCuseEmulation: si tu nodo no admite la virtualización de hardware o no lo tienes claro, asigna el valor true. Si está disponible, la virtualización de hardware ofrece un mejor rendimiento que la emulación de software. Si no se especifica, el campouseEmulationtiene el valor predeterminadofalse.vmImageFormat: admite dos valores de formato de imagen de disco:rawyqcow2. Si no definesvmImageFormat, el tiempo de ejecución de VM en GDC usa el formato de imagen de discorawpara crear VMs. El formatorawpuede ofrecer un mejor rendimiento queqcow2, un formato de copia en escritura, pero puede usar más espacio en disco. Para obtener más información sobre los formatos de imagen de tu VM, consulta Formatos de archivo de imagen de disco en la documentación de QEMU.
Guarda el recurso personalizado en tu editor.
Verifica que el recurso personalizado
VMRuntimeesté habilitado:kubectl describe vmruntime vmruntimeLos detalles del recurso personalizado
VMRuntimeincluyen una secciónStatus. El entorno de ejecución de máquinas virtuales de GDC está habilitado y funciona cuandoVMRuntime.Status.Readyse muestra comotrue.
Instalar la herramienta de cliente virtctl
Para crear y gestionar VMs, instala la herramienta de cliente virtctl.
Instala la herramienta de cliente
virtctlcomo complementokubectl:export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctlLas credenciales te permiten autenticarte y descargar la herramienta de cliente
virtctl. A continuación, instálala en/usr/bin/kubectl-virten tu máquina local.Comprueba que el complemento
virtctlesté instalado:kubectl plugin listSi
kubectl-virtaparece en la respuesta, significa que el complemento se ha instalado correctamente.Si
kubectl-virtno aparece en la lista, comprueba el archivoinstall-virtctl.logcomo se indica en el resultado del comandobmctl installanterior, comobmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.
Crear VM
En esta guía de inicio rápido, usarás la CLI de kubectl para crear una VM que utilice una imagen de VM pública y credenciales predeterminadas.
Crea una VM en tu clúster. El complemento
virtctlse usa con el comandokubectl:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORDEste comando crea una VM Ubuntu 20.04 y los valores predeterminados de 2 CPU, 4 Gi de memoria y un disco de arranque de 20 Gi en modo ReadWriteOnce con la clase de almacenamiento local-shared. Sustituye los siguientes valores:
VM_NAME: nombre de la VM. Los nombres de las VMs solo pueden contener caracteres alfanuméricos en minúscula o guiones (-), deben empezar y terminar con un carácter alfanumérico y tener 63 caracteres como máximo. Para obtener más información, consulta Nombres de etiquetas RFC 1123 en la documentación de Kubernetes.USERNAME: nombre de usuario de la cuenta que se va a crear en la máquina virtual.PASSWORD: contraseña de la cuenta de usuario.
Si recibes un error sobre los parámetros de la CLI, comprueba que tu clúster tenga la versión
1.11.1o una posterior y que tengas la versión más reciente de la herramienta de clientevirtctl. Para obtener más información sobre los errores de la CLI, consulta el registro de la consola. Para consultar las reglas de nombres de usuario y contraseñas, consulta la documentación del sistema operativo invitado. Si algo no funciona como esperabas, consulta los problemas conocidos del tiempo de ejecución de VM en GDC.La creación de la VM puede tardar unos minutos. Consulta el estado de la máquina virtual con el comando
kubectl:kubectl get gvmEn el siguiente ejemplo de salida se muestra la máquina virtual en estado
Running:NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
Conectarse a una VM
Cuando la VM esté en funcionamiento, conéctate a su consola.
Para acceder a una VM desde la consola, usa
kubectl:kubectl virt console VM_NAMECuando se te solicite, introduce las credenciales de usuario que hayas especificado para crear la VM.
Una vez que te hayas conectado correctamente a la consola de la VM, sal de la sesión y de la consola de la VM:
Ctrl + ]
Limpieza
Para limpiar los recursos creados en esta guía de inicio rápido, sigue estos pasos.
Para eliminar la VM y el DataVolume asociado, usa
kubectl:kubectl virt delete vm VM_NAME --all
Siguientes pasos
- Gestionar el estado de la alimentación de una VM en Google Distributed Cloud.
- Edita una máquina virtual en Google Distributed Cloud.
- Consulta los registros de la consola de la VM en Google Distributed Cloud.