En esta guía de inicio rápido, se muestra cómo usar el entorno de ejecución de VM de Anthos para crear una máquina virtual (VM) en clústeres de Anthos en equipos físicos. El entorno de ejecución de VM de Anthos usa KubeVirt para organizar las VM en los clústeres, lo que 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, necesitas acceso a la versión 1.12 (anthosBareMetalVersion: 1.12
) o superior de los clústeres de Anthos alojados en equipos físicos. Puedes usar cualquier tipo de clúster capaz de ejecutar cargas de trabajo. Si es necesario, prueba los clústeres de Anthos alojados en equipos físicos en Compute Engine o consulta la descripción general de la creación de clústeres.
Habilita el entorno de ejecución de VM de Anthos
El entorno de ejecución de VM de Anthos se instala de forma automática en los clústeres de Anthos en la versión 1.10 o superior de equipos físicos, pero está inhabilitado de forma predeterminada. Antes de ejecutar recursos de VM en los clústeres de Anthos en el equipo físico, debes habilitar el entorno de ejecución de VM de Anthos.
bmctl
La versión 1.11 o superior de los clústeres de Anthos alojados en equipos físicos 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. Los clústeres de Anthos en equipos físicos generan 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 de Anthos ya está habilitado, el comando muestra un error.
Recurso personalizado
La versión 1.10 o superior de los clústeres de Anthos alojados en equipos físicos puede usar una definición de recurso personalizado para habilitar el entorno de ejecución de VM de Anthos. 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 VM de Anthos.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 de Anthos 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 de Anthos 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, crearás una VM que use una imagen de VM pública y las 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 ver las reglas de nombre de usuario y contraseña, consulta la documentación del sistema operativo invitado (SO). Si algo no funciona como se espera, verifica los problemas conocidos del entorno de ejecución de VM de Anthos.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 los clústeres de Anthos alojados en equipos físicos.
- Edita una VM en clústeres de Anthos en equipos físicos.
- Visualiza registros de la consola de VM en clústeres de Anthos en equipos físicos.