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 GKE en Bare Metal. El entorno de ejecución de VM en GDC usa KubeVirt para organizar las VM en los clústeres y te permite trabajar con tus apps y cargas de trabajo basadas en VM en un entorno de desarrollo uniforme.
Antes de comenzar
Para completar esta guía de inicio rápido, debes tener acceso al clúster de GKE en Bare Metal versión 1.12 (anthosBareMetalVersion: 1.12
) o superior. Puedes usar cualquier tipo de clúster capaz de ejecutar cargas de trabajo. Si es necesario, prueba GKE en Bare Metal en Compute Engine o consulta la descripción general de la creación de clústeres.
Habilita el entorno de ejecución de la VM en GDC
El entorno de ejecución de VM en GDC se instala de forma automática en GKE en Bare Metal versión 1.10 o superior, pero está inhabilitado de forma predeterminada. Antes de poder ejecutar los recursos de VM en GKE en Bare Metal, debes habilitar el entorno de ejecución de VM en GDC.
bmctl
GKE en Bare Metal versión 1.11 o posterior 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_PATH
Proporciona la ruta de acceso al archivo kubeconfig del clúster. GKE en Bare Metal 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
GKE en Bare Metal versión 1.10 o posterior puede usar una definición de recurso personalizada 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 vmruntime
Establece
enabled:true
en 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: qcow2
En la sección
spec
anterior, se pueden establecer los siguientes valores:enabled
: Se establece como verdadero para habilitar el entorno de ejecución de la 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 campouseEmulation
se configura de forma predeterminada enfalse
, si no se especifica.vmImageFormat
: Admite dos valores de formato de imagen de disco:raw
yqcow2
. Si no configurasvmImageFormat
, el entorno de ejecución de VM en GDC usa el formato de imagen de discoraw
para crear VM. El formatoraw
puede 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
VMRuntime
esté habilitado:kubectl describe vmruntime vmruntime
En 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.Ready
se 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
virtctl
como un complementokubectl
:export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctl
Las credenciales te permiten autenticar y descargar la herramienta cliente
virtctl
y, luego, instalarla en/usr/bin/kubectl-virt
en tu máquina local.Verifica que el complemento
virtctl
esté instalado:kubectl plugin list
Si
kubectl-virt
aparece en la respuesta, el complemento se instaló correctamente.Si
kubectl-virt
no aparece en la lista, verifica el archivoinstall-virtctl.log
como se indica en el resultado del comandobmctl install
anterior, 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 credenciales predeterminadas.
Crea una VM en tu clúster. El complemento
virtctl
se usa con el comandokubectl
:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORD
Este 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.1
o 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 nombre de usuario y contraseña, consulta la documentación del sistema operativo (SO) invitado. Si algo no funciona como se espera, 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 gvm
En 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_NAME
Cuando 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 + ]
Limpia
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 GKE en Bare Metal.
- Edita una VM en GKE en Bare Metal.
- Visualiza los registros de la consola de VM en GKE en Bare Metal.