Nesta página, descrevemos quais propriedades de máquina virtual (VM) podem ser atualizadas em uma VM atual e como fazer essa atualização.
Antes de começar
Para usar os comandos da interface de linha de comando (CLI) gdcloud
, verifique se você baixou, instalou
e configurou a CLI gdcloud
.
Todos os comandos do Distributed Cloud usam a CLI gdcloud
ou kubectl
e exigem um ambiente de sistema operacional (SO).
Extrair 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_SERVER
nestas instruções.
Solicitar permissões e acesso
Para executar as tarefas listadas nesta página, você precisa ter o papel de administrador de máquina virtual do projeto. Siga as etapas para
verificar
se você tem o papel de administrador de máquina virtual do projeto (project-vm-admin
) no namespace
do projeto em que a VM reside.
Para operações de VM usando o console do GDC ou a CLI gdcloud,
peça ao administrador do IAM do projeto para atribuir a você os papéis de
administrador de máquina virtual do projeto e leitor do projeto (project-viewer
).
Propriedades atualizáveis
Só é possível mudar as propriedades que estão no 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 Virtual Machines > Instâncias.
Na lista de VMs, clique no nome de uma delas para conferir as propriedades.
As propriedades editáveis têm um ícone edit Editar.
kubectl
Confira a lista de propriedades da VM
spec
e os valores válidos correspondentes a cada propriedade:kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec
O 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. ...
Confira recursivamente as subpropriedades de cada propriedade. Estes exemplos mostram o retorno das subpropriedades
compute
evcpus
:Este comando de exemplo retorna os campos da subpropriedade
compute
:kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec.compute
O 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.vcpus
O 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
As 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 a kubectl
.
Console
No menu de navegação, clique em Virtual Machines > Instâncias.
Na lista de VMs, clique no nome de uma delas para conferir as propriedades.
Clique em edit Editar ao lado da propriedade que você quer mudar e faça as alterações.
Se você quiser substituir o disco de inicialização ou adicionar um novo disco, 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 \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Substitua as variáveis conforme definido na tabela a seguir.
Variável Definição MANAGEMENT_API_SERVER
O arquivo kubeconfig do servidor da API Management. VM_NAME
O nome da VM. PROJECT
O nome do projeto. Edite o
spec
para atualizar os campos e valores obrigatórios das propriedades atualizáveis.Salve o arquivo.
Se a atualização da propriedade exigir a reinicialização da VM, use as instruções de Reiniciar uma VM.