Este documento é destinado a proprietários de aplicativos que executam clusters do Anthos em bare metal. Neste documento, mostramos como editar máquinas virtuais (VMs) executadas com o Anthos VM Runtime. Por exemplo, é possível editar a alocação de recursos, como CPU e memória, ou alterar a rede a que uma VM se conecta.
É possível modificar qualquer campo na seção spec
de um recurso VirtualMachine
.
Também é possível editar os rótulos de uma VM. Outros campos, como o nome da VM
(metadata.name
), não podem ser editados. A VM precisa estar no estado Stopped
antes
de editar o recurso.
Se as edições no recurso VirtualMachine
tiverem erros quando você as salvar,
as mudanças serão recusadas, e você verá uma notificação. Corrija os erros e tente salvar o recurso VirtualMachine
novamente. Se a VM não
iniciar depois que você fizer alterações, use o
comando kubectl describe gvm VM_NAME
para
ver informações de solução de problemas e corrigir os erros.
Antes de começar
Para concluir este documento, você precisa de acesso aos seguintes recursos:
- Uma VM executada em um dos clusters. Se necessário, crie uma VM em clusters do Anthos em bare metal.
- A ferramenta do cliente
virtctl
instalada como um plug-in para okubectl
. Se necessário, instale a ferramenta de cliente virtctl.
Editar recursos de computação
Se as demandas de carga de trabalho de computação mudarem, será possível atualizar o número de CPUs virtuais e a quantidade de memória virtual atribuída às VMs. Para editar suas cargas de trabalho de computação, siga as seguintes etapas:
Pare a VM que você quer editar:
kubectl virt stop VM_NAME
Substitua
VM_NAME
pelo nome da VM que você quer interromper.Use
kubectl
para editar a VM:kubectl edit gvm VM_NAME
Substitua
VM_NAME
pelo nome da VM que você quer iniciar.No editor, atualize os valores dos recursos de computação que você quer alterar.
Por exemplo, o manifesto de amostra
VirtualMachine
a seguir mostra que o recurso da VM tem2
vCPUs atribuídas:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 2 ...
Se você quiser atualizar o número de vCPUs atribuídas, altere o valor no editor, como mostrado no exemplo a seguir:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 4 ...
Salve e feche o manifesto da VM.
Inicie a VM que você editou:
kubectl virt start VM_NAME
Substitua
VM_NAME
pelo nome da VM que você editou.Verifique o
STATUS
da sua VM:kubectl get gvm VM_NAME
Verifique se a VM está no estado
Running
. Se a VM solicitar mais recursos de computação do que o host pode fornecer, a VM não poderá ser iniciada. Se a VM não estiver no estadoRunning
, verifique o manifesto do recursoVirtualMachine
e a disponibilidade do recurso de computação no host.O exemplo de saída a seguir mostra a VM em um estado
Running
NAME STATUS AGE IP vm1 Running 1m 192.168.2.72
Veja informações detalhadas sobre uma VM usando
kubectl describe gvm
:kubectl describe gvm VM_NAME
Substitua
VM_NAME
pelo nome da VM que você editou.O exemplo de saída a seguir mostra as informações condensadas de uma VM, com uma alteração no número de vCPUs aplicadas:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Cpu: Vcpus: 4 ...
Para mais informações, veja como criar VMs com configurações específicas de computação de vCPU e memória.
Editar recursos de disco
Se os requisitos de armazenamento mudarem, será possível adicionar ou remover discos virtuais de uma VM. Para editar os discos anexados à sua VM, siga estas etapas:
Pare a VM que você quer editar:
kubectl virt stop VM_NAME
Substitua
VM_NAME
pelo nome da VM que você quer interromper.Use
kubectl
para editar a VM:kubectl edit gvm VM_NAME
Substitua
VM_NAME
pelo nome da VM que você quer iniciar.No editor, atualize a seção
spec.disks
para anexar ou desanexar discos.Por exemplo, o exemplo de manifesto
VirtualMachine
a seguir mostra que apenas um disco de inicialização está anexado à VM:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv ...
Se você quiser adicionar um disco vazio, atualize a configuração do disco no editor, conforme mostrado no exemplo a seguir:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv - virtualMachineDiskName: DISK_NAME ...
Substitua
DISK_NAME
pelo nome do disco a ser anexado.Salve e feche o manifesto da VM.
Inicie a VM que você editou:
kubectl virt start VM_NAME
Substitua
VM_NAME
pelo nome da VM que você editou.Verifique o
STATUS
da sua VM:kubectl get gvm VM_NAME
Verifique se a VM está no estado
Running
. Se a VM solicitar umaStorageClass
ou atribuição de disco que o host não possa fornecer, a VM não será iniciada. Se a VM não estiver no estadoRunning
, verifique os manifestos de recursos deVirtualMachine
eVirtualMachineDisk
e o suporte ao armazenamento do host.Veja informações detalhadas sobre uma VM usando
kubectl describe gvm
:kubectl describe gvm VM_NAME
Substitua
VM_NAME
pelo nome da VM que você editou.O exemplo de saída a seguir mostra as informações condensadas de uma VM, com uma alteração nos discos anexados aplicados com êxito:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Disks: Name: vm1-boot-dv Name: data-disk-01 ...
Para mais informações, veja como criar e gerenciar discos.
Editar recursos de rede
À medida que sua infraestrutura é alterada, talvez seja necessário alterar a configuração de rede de uma VM. Por exemplo, é possível conectar a VM a uma rede virtual diferente ou atribuir manualmente um endereço IP. Para editar a configuração de rede de uma VM, siga estas etapas:
Pare a VM que você quer editar:
kubectl virt stop VM_NAME
Substitua
VM_NAME
pelo nome da VM que você quer interromper.Use
kubectl
para editar a VM:kubectl edit gvm VM_NAME
Substitua
VM_NAME
pelo nome da VM que você quer iniciar.No editor, atualize as configurações de rede que você quer mudar.
Por exemplo, o manifesto de amostra
VirtualMachine
a seguir mostra que a VM se conecta a uma rede chamadabackend-vlan100
e usa DHCP porque nenhum endereço IP está definido:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: backend-vlan100 default: true ...
Se você quiser alterar a rede a que a VM se conecta ou atribuir um endereço IP manual, atualize a configuração de rede no editor, conforme mostrado no exemplo a seguir:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: NETWORK_NAME ipAddresses: - IP_ADDRESS default: true ...
Substitua
NETWORK_NAME
pelo nome da rede a que se conectar ou adicione a seçãoipAddresses
e especifique oIP_ADDRESS
a ser usado pela VM.Salve e feche o manifesto da VM.
Inicie a VM que você editou:
kubectl virt start VM_NAME
Substitua
VM_NAME
pelo nome da VM que você editou.Verifique o
STATUS
da sua VM:kubectl get gvm VM_NAME
Verifique se a VM está no estado
Running
. Se a VM solicitar uma conexão de rede que o host não possa fornecer, a VM não será iniciada. Se a VM não estiver no estadoRunning
, verifique o manifesto do recurso deVirtualMachine
e o suporte à rede do host.Veja informações detalhadas sobre uma VM usando
kubectl describe gvm
:kubectl describe gvm VM_NAME
Substitua
VM_NAME
pelo nome da VM que você editou.O exemplo de saída a seguir mostra as informações condensadas de uma VM, com uma mudança na configuração de rede e endereço IP aplicada com sucesso:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Interfaces: Name: eth0 Network Name: backend-vlan200 ... Status: ... Interfaces: Dns Config: Nameservers: 8.8.8.8 gateway4: 10.200.0.9 Ip Addresses: 10.200.0.22/24 Mac Address: 22:b4:e3:d2:ef:fb Name: eth0 Resource Name: vm1-eth0-f2468 ...
Para saber mais, veja como criar e gerenciar redes virtuais.
A seguir
- Crie VMs com configurações específicas de computação de vCPU e memória em clusters do Anthos em bare metal.
- Crie e gerencie discos em clusters do Anthos em bare metal.
Crie e gerencie redes virtuais em clusters do Anthos em bare metal.