Atualizar propriedades da VM

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:

  1. Faça login e gere o arquivo kubeconfig para o servidor da API Management se você não tiver um.

  2. 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

  1. No menu de navegação, clique em Virtual Machines > Instâncias.

  2. Na lista de VMs, clique no nome de uma delas para conferir as propriedades.

  3. As propriedades editáveis têm um ícone Editar.

kubectl

  1. 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.
    
       ...
    
  2. Confira recursivamente as subpropriedades de cada propriedade. Estes exemplos mostram o retorno das subpropriedades compute e vcpus:

    • 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:

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

  1. No menu de navegação, clique em Virtual Machines > Instâncias.

  2. Na lista de VMs, clique no nome de uma delas para conferir as propriedades.

  3. Clique em Editar ao lado da propriedade que você quer mudar e faça as alterações.

  4. 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.

  5. Clique em Salvar.

kubectl

  1. 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ávelDefinição
    MANAGEMENT_API_SERVERO arquivo kubeconfig do servidor da API Management.
    VM_NAMEO nome da VM.
    PROJECTO nome do projeto.
  2. Edite o spec para atualizar os campos e valores obrigatórios das propriedades atualizáveis.

  3. Salve o arquivo.

  4. Se a atualização da propriedade exigir a reinicialização da VM, use as instruções de Reiniciar uma VM.