Este documento destina-se a proprietários de aplicações e administradores de plataformas que executam o Google Distributed Cloud. Este documento mostra-lhe como criar e usar tipos de VMs ou especificar manualmente recursos de CPU e memória quando cria VMs que usam o VM Runtime no GDC.
Antes de começar
Para preencher este documento, precisa de ter acesso aos seguintes recursos:
- Acesso à versão 1.12.0 do Google Distributed Cloud (
anthosBareMetalVersion: 1.12.0
) ou a um cluster superior. Pode usar qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário, experimente o Google Distributed Cloud no Compute Engine ou consulte a vista geral da criação de clusters. - A ferramenta de cliente
virtctl
instalada como um plug-in para okubectl
. Se necessário, instale a ferramenta de cliente virtctl.
Crie uma VM
Quando cria uma VM, pode especificar manualmente os requisitos de CPU e memória. Esta capacidade permite-lhe criar VMs com os recursos de computação adequados para corresponder às necessidades da sua aplicação.
Para criar uma VM e especificar manualmente os requisitos de CPU e memória, siga os passos seguintes.
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 sua 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 atribuir à VM.- Pode atribuir entre 1 e 96 vCPUs a uma VM.
MEMORY_SIZE
: a quantidade de memória a atribuir à VM.- Pode atribuir entre 1 MB e 1 TB de memória a uma VM. Para mais informações, consulte Unidades de recursos de memória.
Manifesto
Crie um
VirtualMachine
manifesto, como my-custom-vm.yaml, no editor da 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
Neste ficheiro YAML, defina as seguintes definições:
VM_NAME
: o nome da sua VM. Para mais informações sobre restrições de nomes, consulte Nomes e IDs de objetos.VCPU_NUMBER
: o número de vCPUs a atribuir à VM.- Pode atribuir entre 1 e 96 vCPUs a uma VM.
MEMORY_SIZE
: a quantidade de memória a atribuir à VM.- Pode atribuir entre 1 MB e 1 TB de memória a uma VM. Para mais informações, consulte Unidades de recursos de memória.
A VM liga-se
eth0
à redepod-network
predefinida.O disco de arranque com o nome
VM_NAME-boot-dv
já tem de existir. Para mais informações, consulte o artigo Crie e faça a gestão de discos virtuais.Guarde e feche o manifesto da VM no editor.
Crie a VM com
kubectl
:kubectl apply -f my-custom-vm.yaml
Crie e use tipos de VMs
Quando ativa o tempo de execução de VMs no GDC, fica disponível uma nova definição de recurso personalizado VirtualMachineType. Esta definição é usada para especificar os recursos de CPU e memória de uma VM. Pode criar tipos de VMs para as diferentes cargas de trabalho de que precisa e aplicar um conjunto consistente de recursos de computação às VMs com base nestes tipos.
Se o tempo de execução da VM no GDC estiver ativado no Google Distributed Cloud, o comando
vm-controller-manager
instala um tipo de VM predefinido. A seguinte definição
mostra o tipo de VM example-machinetype
predefinido:
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 pode atualizar este tipo de VM predefinido. Este tipo de VM predefinido é reinstalado se não existir no cluster sempre que o vm-controller-manager
é iniciado ou reiniciado, por exemplo, se tiver eliminado o tipo de VM.
Crie um tipo de VM
Pode criar os seus próprios tipos de VMs para se adequarem às necessidades de computação das suas cargas de trabalho.
Crie um manifesto
VirtualMachineType
, como my-vm-type.yaml, no editor da 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
Neste tipo de VM, define as seguintes definições:
VM_NAME
: o nome da sua VM. Para mais informações sobre restrições de nomes, consulte Nomes e IDs de objetos.VCPU_NUMBER
: o número de vCPUs a atribuir à VM.- Pode atribuir entre 1 e 96 vCPUs a uma VM.
MEMORY_SIZE
: a quantidade de memória a atribuir à VM.- Pode atribuir entre 1 MB e 1 TB de memória a uma VM. Para mais informações, consulte Unidades de recursos de memória.
Guarde e feche o manifesto do tipo de VM no editor.
Crie o tipo de VM com
kubectl
:kubectl apply -f my-vm-type.yaml
Crie uma VM através de um tipo de VM
Especifique um tipo de VM no seu VirtualMachine
manifesto para aplicar definições
compute
predefinidas à sua VM.
Crie um
VirtualMachine
manifesto, como my-custom-vm.yaml, no editor à 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
Neste ficheiro YAML, especifique o nome do tipo de VM personalizado que criou na secção anterior, como
my-vm-type
, como o valor devirtualMachineTypeName
.A VM liga-se
eth0
à redepod-network
predefinida.O disco de arranque com o nome
VM_NAME-boot-dv
já tem de existir. Para mais informações, consulte o artigo Crie e faça a gestão de discos virtuais.Guarde e feche o manifesto da VM no editor.
Crie a VM com
kubectl
:kubectl apply -f my-custom-vm.yaml
O que se segue?
- Edite uma VM no Google Distributed Cloud.
- Quando já não precisar de VMs, elimine uma VM no Google Distributed Cloud.