Este documento está dirigido a los propietarios de aplicaciones y a los administradores de plataformas que ejecutan Google Distributed Cloud. En este documento se explica cómo crear y usar tipos de VM o especificar manualmente los recursos de CPU y memoria al crear VMs que usen VM Runtime en GDC.
Antes de empezar
Para completar este documento, necesitas tener acceso a los siguientes recursos:
- Acceso a un clúster de Google Distributed Cloud versión 1.12.0 (
anthosBareMetalVersion: 1.12.0
) 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. - La herramienta de cliente
virtctl
instalada como complemento dekubectl
. Si es necesario, instala la herramienta de cliente virtctl.
Crear VM
Cuando creas una VM, puedes especificar manualmente los requisitos de CPU y memoria. Esta función te permite crear máquinas virtuales con los recursos de computación adecuados para satisfacer las necesidades de tu aplicación.
Para crear una VM y especificar manualmente los requisitos de CPU y memoria, sigue estos pasos.
CLI
Usa
kubectl
para crear una VM:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --cpu CPU_NUMBER \ --memory MEMORY_SIZE
Sustituye los siguientes valores:
VM_NAME
: el nombre de tu máquina virtual. Para obtener más información sobre las restricciones de nombres, consulta Nombres e IDs de objetos.CPU_NUMBER
: número de CPUs virtuales (vCPUs) que se asignarán a la VM.- Puedes asignar entre 1 y 96 vCPUs a una VM.
MEMORY_SIZE
: cantidad de memoria que se asignará a la máquina virtual.- Puedes asignar entre 1 M y 1 T de memoria a una VM. Para obtener más información, consulta Unidades de recursos de memoria.
Archivo de manifiesto
Crea un archivo de manifiesto
VirtualMachine
, como my-custom-vm.yaml, en el editor que quieras:nano my-custom-vm.yaml
Copia y pega el siguiente manifiesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
En este archivo YAML, define los siguientes ajustes:
VM_NAME
: el nombre de tu máquina virtual. Para obtener más información sobre las restricciones de nombres, consulta Nombres e IDs de objetos.VCPU_NUMBER
: número de vCPUs que se asignarán a la VM.- Puedes asignar entre 1 y 96 vCPUs a una VM.
MEMORY_SIZE
: cantidad de memoria que se asignará a la VM.- Puedes asignar entre 1 M y 1 T de memoria a una VM. Para obtener más información, consulta Unidades de recursos de memoria.
La VM se conecta
eth0
a la redpod-network
predeterminada.El disco de arranque llamado
VM_NAME-boot-dv
ya debe existir. Para obtener más información, consulta Crear y gestionar discos virtuales.Guarda y cierra el manifiesto de la VM en tu editor.
Crea la VM con
kubectl
:kubectl apply -f my-custom-vm.yaml
Crear y usar tipos de VM
Cuando habilitas VM Runtime en GDC, se dispone de una nueva definición de recurso personalizado VirtualMachineType. Esta definición se usa para especificar los recursos de CPU y memoria de una VM. Puedes crear tipos de máquinas virtuales para las diferentes cargas de trabajo que necesites y aplicar un conjunto coherente de recursos de computación a las máquinas virtuales en función de estos tipos.
Si el entorno de ejecución de máquinas virtuales en GDC está habilitado en Google Distributed Cloud, vm-controller-manager
instala un tipo de máquina virtual predefinido. La siguiente definición muestra el tipo de VM example-machinetype
predeterminado:
apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachineType
metadata:
name: "example-machinetype"
labels:
vm.cluster.gke.io/predefined-machinetype: "true"
spec:
cpu:
vcpus: 2
memory:
capacity: 4G
No puedes actualizar este tipo de VM predefinido. Este tipo de VM predefinido se vuelve a instalar si no existe en el clúster cada vez que se inicia o se reinicia el vm-controller-manager
, por ejemplo, si has eliminado el tipo de VM.
Crear un tipo de VM
Puedes crear tus propios tipos de máquinas virtuales para que se ajusten a las necesidades de computación de tus cargas de trabajo.
Crea un archivo de manifiesto
VirtualMachineType
, como my-vm-type.yaml, en el editor que prefieras:nano my-vm-type.yaml
Copia y pega el siguiente manifiesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: my-vm-type spec: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE
En este tipo de VM, se definen los siguientes ajustes:
VM_NAME
: el nombre de tu máquina virtual. Para obtener más información sobre las restricciones de nombres, consulta Nombres e IDs de objetos.VCPU_NUMBER
: número de vCPUs que se asignarán a la VM.- Puedes asignar entre 1 y 96 vCPUs a una VM.
MEMORY_SIZE
: cantidad de memoria que se asignará a la VM.- Puedes asignar entre 1 M y 1 T de memoria a una VM. Para obtener más información, consulta Unidades de recursos de memoria.
Guarda y cierra el manifiesto de tipo de VM en tu editor.
Crea el tipo de máquina con
kubectl
:kubectl apply -f my-vm-type.yaml
Crear una VM con un tipo de VM
Especifica un tipo de VM en tu archivo de manifiesto VirtualMachine
para aplicar ajustes predefinidoscompute
a tu VM.
Crea un archivo de manifiesto
VirtualMachine
, como my-custom-vm.yaml, en el editor que prefieras.nano my-custom-vm.yaml
Copia y pega el siguiente manifiesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineTypeName: my-vm-type interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
En este archivo YAML, especifica el nombre del tipo de VM personalizado que has creado en la sección anterior, como
my-vm-type
, como valor devirtualMachineTypeName
.La VM se conecta
eth0
a la redpod-network
predeterminada.El disco de arranque llamado
VM_NAME-boot-dv
ya debe existir. Para obtener más información, consulta Crear y gestionar discos virtuales.Guarda y cierra el manifiesto de la VM en tu editor.
Crea la VM con
kubectl
:kubectl apply -f my-custom-vm.yaml
Siguientes pasos
- Edita una máquina virtual en Google Distributed Cloud.
- Cuando ya no necesites las máquinas virtuales, elimina una máquina virtual en Google Distributed Cloud.