Guía de inicio rápido: Crea una VM en GKE en clústeres de Bare Metal

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.

  1. Edita el recurso personalizado VMRuntime:

    kubectl edit vmruntime
    
  2. 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 campo useEmulation se configura de forma predeterminada en false, si no se especifica.
    • vmImageFormat: Admite dos valores de formato de imagen de disco: raw y qcow2. Si no configuras vmImageFormat, el entorno de ejecución de VM en GDC usa el formato de imagen de disco raw para crear VM. El formato raw puede proporcionar un rendimiento mejorado sobre qcow2, 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.
  3. Guarda el recurso personalizado en tu editor.

  4. Verifica que el recurso personalizado VMRuntime esté habilitado:

    kubectl describe vmruntime vmruntime
    

    En los detalles del recurso personalizado VMRuntime, se incluye una sección Status. El entorno de ejecución de VM en GDC está habilitado y funciona cuando VMRuntime.Status.Ready se muestra como true.

Instala la herramienta de cliente virtctl

Para crear y administrar las VMs, instala la herramienta de cliente virtctl.

  1. Instala la herramienta de cliente virtctl como un complemento kubectl:

    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.

  2. 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 archivo install-virtctl.log como se indica en el resultado del comando bmctl install anterior, como bmctl-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.

  1. Crea una VM en tu clúster. El complemento virtctl se usa con el comando kubectl:

    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 cliente virtctl. 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.

  2. 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.

  1. Para acceder a una VM desde la consola, usa kubectl.

    kubectl virt console VM_NAME
    
  2. Cuando se te solicite, ingresa las credenciales de usuario que especificaste para crear la VM.

  3. 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.

  1. Para borrar la VM y el DataVolume asociado, usa kubectl:

    kubectl virt delete vm VM_NAME --all
    

¿Qué sigue?