Este documento está dirigido a propietarios de aplicaciones y administradores de plataformas que ejecutan GKE en Bare Metal. En este documento, se muestra cómo crear y usar tipos de VM o especificar de forma manual los recursos de CPU y memoria cuando creas VM que usan el entorno de ejecución de VM en GDC.
Antes de comenzar
Para completar este documento, necesitas acceso a los siguientes recursos:
- Acceso al clúster de GKE en Bare Metal versión 1.12.0 (
anthosBareMetalVersion: 1.12.0
) 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. - La herramienta de cliente
virtctl
instalada como un complemento parakubectl
. Si es necesario, instala la herramienta cliente de virtctl.
Cree una VM
Cuando creas una VM, puedes especificar manualmente los requisitos de CPU y memoria. Esta capacidad te permite crear VM con los recursos de procesamiento 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
Reemplaza los siguientes valores:
VM_NAME
: el nombre de tu VM. Para obtener más información sobre las restricciones de nombres, consulta ID y nombres de objetos.CPU_NUMBER
: La cantidad de CPU virtuales (vCPU) que se asignarán a la VM.- Puedes asignar entre 1 y 96 CPU virtuales a una VM.
MEMORY_SIZE
: La cantidad de memoria que se asigna a la VM.- Puedes asignar entre 1M y 1T de memoria a una VM. Para obtener más información, consulta Unidades de recursos de memoria.
Manifest
Crea un manifiesto
VirtualMachine
, como my-custom-vm.yaml, en el editor que elijas: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 la siguiente configuración:
VM_NAME
: el nombre de tu VM. Para obtener más información sobre las restricciones de nombres, consulta ID y nombres de objetos.VCPU_NUMBER
: la cantidad de CPU virtuales que se asignan a la VM.- Puedes asignar entre 1 y 96 CPU virtuales a una VM.
MEMORY_SIZE
: la cantidad de memoria que se asigna a la VM.- Puedes asignar entre 1M y 1T de memoria a una VM. Para obtener más información, consulta Unidades de recursos de memoria.
La VM conecta
eth0
a la redpod-network
predeterminada.El disco de arranque llamado
VM_NAME-boot-dv
ya debe existir. Si deseas obtener más información, consulta Crea y administra discos virtuales.Guarda y cierra el manifiesto de la VM en el editor.
Crea la VM mediante
kubectl
:kubectl apply -f my-custom-vm.yaml
Crea y usa tipos de VM
Cuando habilitas el entorno de ejecución de VM en GDC, hay una definición de recurso personalizada nueva de VirtualMachineType disponible. Esta definición se usa para especificar los recursos de CPU y memoria de una VM. Puedes crear tipos de VM para las diferentes cargas de trabajo que necesites y aplicar un conjunto coherente de recursos de procesamiento a las VM según estos tipos.
Si el entorno de ejecución de VM en GDC está habilitado en GKE en Bare Metal, vm-controller-manager
instala un tipo de VM predefinido. En la siguiente definición, se 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 vm-controller-manager
, por ejemplo, si borraste el tipo de VM.
Crea un tipo de VM
Puedes crear tus propios tipos de VM para que se adapten a las necesidades de procesamiento de tus cargas de trabajo.
Crea un manifiesto
VirtualMachineType
como my-vm-type.yaml, en el editor que elijas: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, defines la siguiente configuración:
VM_NAME
: el nombre de tu VM. Para obtener más información sobre las restricciones de nombres, consulta ID y nombres de objetos.VCPU_NUMBER
: la cantidad de CPU virtuales que se asignan a la VM.- Puedes asignar entre 1 y 96 CPU virtuales a una VM.
MEMORY_SIZE
: la cantidad de memoria que se asigna a la VM.- Puedes asignar entre 1M y 1T de memoria a una VM. Para obtener más información, consulta Unidades de recursos de memoria.
Guarda y cierra el manifiesto del tipo de VM en el editor.
Crea el tipo de VM mediante
kubectl
:kubectl apply -f my-vm-type.yaml
Crea una VM con un tipo de VM
Especifica un tipo de VM en tu manifiesto VirtualMachine
para aplicar la configuración predefinida compute
a tu VM.
Crea un manifiesto
VirtualMachine
, como my-custom-vm.yaml, en el editor que elijas.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 de tu tipo de VM personalizado que creaste en la sección anterior, como
my-vm-type
, como el valor paravirtualMachineTypeName
.La VM conecta
eth0
a la redpod-network
predeterminada.El disco de arranque llamado
VM_NAME-boot-dv
ya debe existir. Si deseas obtener más información, consulta Crea y administra discos virtuales.Guarda y cierra el manifiesto de la VM en el editor.
Crea la VM mediante
kubectl
:kubectl apply -f my-custom-vm.yaml
¿Qué sigue?
- Edita una VM en GKE en Bare Metal.
- Cuando ya no necesites VMs, borra una VM de GKE en Bare Metal.