Este documento explica como atualizar as propriedades da instância de máquina virtual (VM) no Google Distributed Cloud (GDC) com isolamento físico.
É possível atualizar as propriedades da VM para alinhar a infraestrutura virtual às demandas em constante mudança das cargas de trabalho em execução em uma instância. Você pode aumentar ou diminuir as vCPUs ou a memória física (RAM) para redistribuir recursos em outro lugar do projeto.
Em vez de destruir uma VM, recriá-la e migrar seus dados, você pode atualizar as propriedades dela. Embora a atualização das propriedades geralmente exija uma reinicialização rápida, essa abordagem pode economizar horas de tempo de configuração.
Este documento é destinado a desenvolvedores em grupos de administradores de plataforma ou operadores de aplicativos que visualizam e atualizam as propriedades da VM em um ambiente do Distributed Cloud. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.
Antes de começar
Para usar os comandos da interface de linha de comando (CLI) gdcloud, faça o download, instale,
e configure a gdcloud CLI.
Todos os comandos do Distributed Cloud usam a CLI gdcloud ou kubectl e exigem um ambiente de sistema operacional (SO).
Receber o caminho do arquivo kubeconfig
Para executar comandos no servidor da API Management, verifique se você tem os seguintes recursos:
Faça login e gere o arquivo kubeconfig para o servidor da API Management, se você não tiver um.
Use o caminho para o arquivo kubeconfig do servidor da API Management para substituir
MANAGEMENT_API_SERVERnestas instruções.
Solicitar papéis do IAM
Entre em contato com o administrador do IAM do projeto para solicitar os seguintes papéis no projeto:
Administrador do projeto de máquina virtual (
project-vm-admin): cria, modifica, lista e exclui VMs no namespace do projeto.Leitor do projeto(
project-viewer): visualiza todos os recursos nos namespaces do projeto.
Todos os papéis da VM precisam ser vinculados ao namespace do projeto em que a VM reside. Siga as etapas para verificar seu acesso.
Propriedades atualizáveis
Só é possível mudar as propriedades que estão na spec da VM.
Ver propriedades atualizáveis
Encontre as propriedades que você quer mudar usando o console do GDC ou kubectl.
Console
No menu de navegação, clique em Máquinas virtuais > Instâncias.
Na lista de VMs, clique no nome de uma VM para conferir as propriedades dela.
As propriedades editáveis têm um edit Editar ícone.
kubectl
Confira a lista de propriedades da
specda VM e os valores válidos correspondentes a cada propriedade:kubectl --kubeconfig MANAGEMENT_API_SERVER \ explain virtualmachines.virtualmachine.gdc.goog.specO resultado será assim:
KIND: VirtualMachine VERSION: virtualmachine.gdc.goog/v1 RESOURCE: spec <Object> DESCRIPTION: Defines the specification of the Virtual Machine. FIELDS: compute <Object> Specifies the CPU and Memory of the VM. CPU and Memory can be defined directly or through the VirtualMachineType. Changes to Compute require a reboot to take effect. Compute is immutable when the VM is in `Unknown` state. disks <[]Object> -required- Specifies the list of disks attached to this vm. There must be exactly one boot disk. Changes to disk attachments require a reboot to take effect. ...Visualize recursivamente as subpropriedades de cada propriedade. Estes exemplos mostram o retorno das subpropriedades
computeevcpus:Este comando de exemplo retorna os campos da subpropriedade
compute:kubectl --kubeconfig MANAGEMENT_API_SERVER \ explain virtualmachines.virtualmachine.gdc.goog.spec.computeO resultado será assim:
KIND: VirtualMachine VERSION: virtualmachine.gdc.goog/v1 RESOURCE: compute <Object> DESCRIPTION: Specifies the CPU and Memory of the VM. CPU and Memory can be defined directly or through the VirtualMachineType. Changes to Compute require a reboot to take effect. Compute is immutable when the VM is in `Unknown` state. FIELDS: memory <> Specifies the amount of physical memory available to the instance. memory must have a minimum value of `1G`, and can be up to (including) `400G`. vcpus <integer> Specifies the number of VCPUs that are available to the instance. Specify `vcpus` as an integer. This value must be a multiple of 2, with 2 as the minimum and 128 as the maximum allowed. ...Este comando de exemplo retorna os campos da subpropriedade
vcpus:kubectl --kubeconfig MANAGEMENT_API_SERVER \ explain virtualmachines.virtualmachine.gdc.goog.spec.compute.vcpusO resultado será assim:
KIND: VirtualMachine VERSION: virtualmachine.gdc.goog/v1 FIELD: vcpus <integer> DESCRIPTION: Specifies the number of VCPUs that are available to the instance. Specify `vcpus` as an integer. This value must be a multiple of 2, with 2 as the minimum and 128 as the maximum allowed.
Todas as propriedades podem ser atualizadas em uma VM em execução, mas geralmente exigem que a VM seja reiniciada para entrar em vigor.
Essas atualizações de propriedade exigem que a VM seja reiniciada para que as mudanças entrem em vigor:
- compute
- discos
- firmware
- startupScripts
Essas atualizações de propriedade entram em vigor imediatamente:
- guestEnvironment
- runningState
Atualizar propriedades da VM
Atualize as propriedades da VM usando o console do GDC ou kubectl.
Console
No menu de navegação, clique em Máquinas virtuais > Instâncias.
Na lista de VMs, clique no nome de uma VM para conferir as propriedades dela.
Clique em edit Editar ao lado da propriedade que você quer editar e faça as mudanças.
Se você quiser substituir o disco de inicialização ou adicionar um novo, consulte Substituir um disco de inicialização ou Adicionar um disco a uma VM.
Clique em Salvar.
kubectl
Execute este comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMESubstitua as variáveis conforme definido na tabela a seguir.
Variável Definição MANAGEMENT_API_SERVERO arquivo kubeconfig do servidor da API Management. VM_NAMEO nome da VM. PROJECTO nome do projeto. Edite a
specpara atualizar os campos e valores necessários para as propriedades atualizáveis.Salve o arquivo.
Se a atualização da propriedade exigir que a VM seja reiniciada, use as instruções Reiniciar uma VM para reiniciar a VM.