Este documento é destinado a proprietários de aplicativos e administradores de plataforma que executam o GKE em Bare Metal. Neste documento, mostramos como criar e usar tipos de VM ou especificar manualmente os recursos de CPU e memória ao criar VMs que usam o VM Runtime no Google Distributed Cloud.
Antes de começar
Para concluir este documento, você precisa de acesso aos seguintes recursos:
- Acesso ao GKE em um cluster Bare Metal versão 1.12.0 (
anthosBareMetalVersion: 1.12.0
) ou superior. Use qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário, teste o GKE em Bare Metal no Compute Engine ou consulte a visão geral da criação de clusters. - A ferramenta do cliente
virtctl
instalada como um plug-in para okubectl
. Se necessário, instale a ferramenta de cliente virtctl.
Criar uma VM
Ao criar uma VM, é possível especificar manualmente os requisitos de CPU e memória. Esse recurso permite criar VMs com os recursos de computação apropriados para atender às necessidades do seu aplicativo.
Para criar uma VM e especificar manualmente os requisitos de CPU e memória, siga as etapas abaixo.
CLI
Use
kubectl
para criar uma VM:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --cpu CPU_NUMBER \ --memory MEMORY_SIZE
Substitua os seguintes valores:
VM_NAME
: o nome da VM. Para mais informações sobre restrições de nomes, consulte Nomes e IDs de objetos.CPU_NUMBER
: o número de CPUs virtuais (vCPUs) a ser atribuído à VM.- É possível atribuir de 1 a 96 vCPUs a uma VM.
MEMORY_SIZE
: a quantidade de memória a ser atribuída à VM.- É possível atribuir entre 1M e 1T de memória a uma VM. Para mais informações, consulte Unidades de recurso de memória.
Manifesto
Crie um manifesto
VirtualMachine
, como my-custom-vm.yaml, no editor de sua escolha:nano my-custom-vm.yaml
Copie e cole o seguinte manifesto 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
Nesse arquivo YAML, defina as seguintes configurações:
VM_NAME
: o nome da VM. Para mais informações sobre restrições de nomes, consulte Nomes e IDs de objetos.VCPU_NUMBER
: o número de vCPUs a serem atribuídas à VM.- É possível atribuir de 1 a 96 vCPUs a uma VM.
MEMORY_SIZE
: a quantidade de memória a ser atribuída à VM.- É possível atribuir entre 1M e 1T de memória a uma VM. Para mais informações, consulte Unidades de recurso de memória.
A VM conecta
eth0
à redepod-network
padrão.O disco de inicialização chamado
VM_NAME-boot-dv
já precisa existir. Para mais informações, consulte Criar e gerenciar discos virtuais.Salve e feche o manifesto da VM no editor.
Crie a VM usando
kubectl
:kubectl apply -f my-custom-vm.yaml
Criar e usar tipos de VM
Quando você ativa o ambiente de execução de VMs no Google Distributed Cloud, uma nova definição de recurso personalizado do VirtualMachineType fica disponível. Essa definição é usada para especificar os recursos de CPU e memória de uma VM. É possível criar tipos de VM para as diferentes cargas de trabalho e aplicar um conjunto consistente de recursos de computação às VMs com base nesses tipos.
Se o ambiente de execução de VM no Google Distributed Cloud estiver ativado no GKE em Bare Metal, o
vm-controller-manager
vai instalar um tipo de VM predefinido. A definição a seguir
mostra o tipo de VM padrão example-machinetype
:
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
Não é possível atualizar este tipo de VM predefinido. Esse tipo de VM predefinido será
reinstalado se não existir no cluster sempre que o
vm-controller-manager
for iniciado ou reiniciado, como se você tiver excluído o tipo
de VM.
Criar um tipo de VM
É possível criar seus próprios tipos de VM para atender às necessidades de computação das cargas de trabalho.
Crie um manifesto de
VirtualMachineType
, como my-vm-type.yaml, no editor de sua escolha:nano my-vm-type.yaml
Copie e cole o seguinte manifesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: my-vm-type spec: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE
Nesse tipo de VM, você define as seguintes configurações:
VM_NAME
: o nome da VM. Para mais informações sobre restrições de nomes, consulte Nomes e IDs de objetos.VCPU_NUMBER
: o número de vCPUs a serem atribuídas à VM.- É possível atribuir de 1 a 96 vCPUs a uma VM.
MEMORY_SIZE
: a quantidade de memória a ser atribuída à VM.- É possível atribuir entre 1M e 1T de memória a uma VM. Para mais informações, consulte Unidades de recurso de memória.
Salve e feche o manifesto do tipo de VM no editor.
Crie o tipo de VM usando
kubectl
:kubectl apply -f my-vm-type.yaml
Criar uma VM usando um tipo de VM
Especifique um tipo de VM no manifesto VirtualMachine
para aplicar configurações
predefinidas de compute
à VM.
Crie um manifesto
VirtualMachine
, como my-custom-vm.yaml, no editor de sua escolha.nano my-custom-vm.yaml
Copie e cole o seguinte manifesto 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
Nesse arquivo YAML, especifique o nome do tipo de VM personalizado que você criou na seção anterior, como
my-vm-type
, como o valor devirtualMachineTypeName
.A VM conecta
eth0
à redepod-network
padrão.O disco de inicialização chamado
VM_NAME-boot-dv
já precisa existir. Para mais informações, consulte Criar e gerenciar discos virtuais.Salve e feche o manifesto da VM no editor.
Crie a VM usando
kubectl
:kubectl apply -f my-custom-vm.yaml
A seguir
- Editar uma VM no GKE em Bare Metal.
- Quando não precisar mais de VMs, exclua a VM no GKE em Bare Metal.