En esta guía de inicio rápido, se muestra cómo usar el entorno de ejecución de VM en GDC para crear una máquina virtual (VM) en Google Distributed Cloud. El entorno de ejecución de VM en GDC usa KubeVirt para organizar las VMs en los clústeres, lo que te permite trabajar con tus apps y cargas de trabajo basadas en VMs en un entorno de desarrollo uniforme.
Antes de comenzar
Para completar esta guía de inicio rápido, necesitas acceso a un clúster de la versión 1.12 (anthosBareMetalVersion: 1.12) 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.
Habilita el entorno de ejecución de VM en GDC.
El entorno de ejecución de VM en GDC se instala automáticamente en Google Distributed Cloud versión 1.10 o posterior, pero está inhabilitado de forma predeterminada. Antes de ejecutar recursos de VM en tu Google Distributed Cloud, debes habilitar el entorno de ejecución de VM en GDC.
bmctl
La versión 1.11 o posterior de Google Distributed Cloud puede usar la herramienta de línea de comandos de bmctl:
Para habilitar el entorno de ejecución, usa la herramienta de
bmctl:bmctl enable vmruntime --kubeconfig KUBECONFIG_PATHProporciona la ruta de acceso al archivo kubeconfig del 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 de acceso es
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.Si el entorno de ejecución de VM en GDC ya está habilitado, el comando muestra un error.
Recurso personalizado
La versión 1.10 o posterior de Google Distributed Cloud puede usar una definición de recurso personalizado para habilitar el entorno de ejecución de VM en GDC. Este recurso personalizado se instala de forma predeterminada.
Edita el recurso personalizado
VMRuntime:kubectl edit vmruntimeEstablece
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 establecer los siguientes valores:enabled: Se establece como verdadero para habilitar el entorno de ejecución de VM en GDC.useEmulation: Si tu nodo no admite la virtualización de hardware, o no estás seguro, establece el valor en verdadero. Si está disponible, la virtualización de hardware proporciona un mejor rendimiento que la emulación de software. El campouseEmulationse configura de forma predeterminada enfalse, si no se especifica.vmImageFormat: Admite dos valores de formato de imagen de disco:rawyqcow2. Si no configurasvmImageFormat, el entorno de ejecución de VM en GDC usa el formato de imagen de discorawpara crear VMs. El formatorawpuede proporcionar un rendimiento mejorado sobreqcow2, una copia en formato de escritura, pero puede usar más capacidad de disco. Si deseas obtener más información sobre los formatos de imagen para 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 vmruntimeEn los detalles del recurso personalizado
VMRuntime, se incluye una secciónStatus. El entorno de ejecución de VM en GDC está habilitado y funciona cuandoVMRuntime.Status.Readyse muestra comotrue.
Instala la herramienta de cliente virtctl
Para crear y administrar las VMs, instala la herramienta de cliente virtctl.
Instala la herramienta de cliente
virtctlcomo un complementokubectl:export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctlLas credenciales te permiten autenticar y descargar la herramienta cliente
virtctly, luego, instalarla en/usr/bin/kubectl-virten tu máquina local.Verifica que el complemento
virtctlesté instalado:kubectl plugin listSi
kubectl-virtaparece en la respuesta, el complemento se instaló correctamente.Si
kubectl-virtno aparece en la lista, verifica el archivoinstall-virtctl.logcomo se indica en el resultado del comandobmctl installanterior, comobmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.
Crea una VM
En esta guía de inicio rápido, usarás la CLI de kubectl para crear una VM que use una imagen de VM pública y las 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 de Ubuntu 20.04 y valores predeterminados de 2 CPU, 4Gi de memoria y un disco de arranque de 20Gi en modo ReadWriteOnce con la clase de almacenamiento local-shared. Reemplaza los siguientes valores:
VM_NAME: el nombre de tu VM. Los nombres de las VMs deben contener solo caracteres alfanuméricos en minúscula o “-”, comenzar y terminar con un carácter alfanumérico y contener 63 caracteres como máximo. Para obtener más información, consulta Nombres de etiquetas RFC 1123 en la documentación de Kubernetes.USERNAME: el nombre de usuario de la cuenta que se creará en la VM.PASSWORD: la contraseña de la cuenta de usuario.
Si recibes un error sobre los parámetros de la CLI, verifica que tu clúster esté en la versión
1.11.1o superior 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 conocer las reglas de nombres de usuario y contraseñas, consulta la documentación del sistema operativo (SO) invitado. Si algo no funciona como debería, consulta los problemas conocidos del entorno de ejecución de VM en GDC.La creación de la VM puede tomar unos minutos. Verifica el estado de la VM con el comando
kubectl:kubectl get gvmEn el siguiente resultado de ejemplo, se muestra la VM en un estado
Running:NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
Conéctate a tu VM
Cuando tu VM esté en ejecución, conéctate a su consola.
Para acceder a una VM desde la consola, usa
kubectl.kubectl virt console VM_NAMECuando se te solicite, ingresa las credenciales de usuario que especificaste para crear la VM.
Después de conectarte correctamente a la consola de la VM, sal de la sesión de la VM y de la consola:
Ctrl + ]
Libera espacio
Para limpiar los recursos creados en esta guía de inicio rápido, sigue estos pasos.
Para borrar la VM y el DataVolume asociado, usa
kubectl:kubectl virt delete vm VM_NAME --all
¿Qué sigue?
- Administra el estado de energía de una VM en Google Distributed Cloud.
- Edita una VM en Google Distributed Cloud.
- Consulta los registros de la consola de VM en Google Distributed Cloud.