Crie e inicie uma instância de VM

Este documento fornece instruções para criar uma instância de máquina virtual (VM) através de uma imagem de disco de arranque ou de um instantâneo de disco de arranque.

Pode criar uma VM com um ou mais discos. Também pode adicionar discos à VM após a criação. A nuvem distribuída inicia automaticamente a instância da VM após a criação.

Pode adicionar scripts de arranque a uma VM antes ou depois da criação. Para ler mais sobre scripts de arranque, consulte a página Use um script de arranque com uma instância de VM.

Esta página destina-se a programadores em grupos de administradores da plataforma ou operadores de aplicações que criam e gerem VMs num ambiente isolado do Google Distributed Cloud (GDC). Para mais informações, consulte o artigo Públicos-alvo para a documentação isolada do GDC.

Antes de começar

Para usar os comandos da gdcloud interface de linhas de comando (CLI), certifique-se de que transferiu, instalou e configurou a CLI gdcloud. Todos os comandos para a nuvem distribuída usam a CLI gdcloud ou kubectl e requerem um ambiente de sistema operativo (SO).

Obtenha o caminho do ficheiro kubeconfig

Para executar comandos no servidor da API Management, certifique-se de que tem os seguintes recursos:

  1. Inicie sessão e gere o ficheiro kubeconfig para o servidor da API Management, se não tiver um.

  2. Use o caminho para o ficheiro kubeconfig do servidor da API de gestão para substituir MANAGEMENT_API_SERVER nestas instruções.

Pedir autorizações e acesso

Para realizar as tarefas indicadas nesta página, tem de ter as funções do IAM necessárias atribuídas:

  • Project VirtualMachine Admin: gere VMs no espaço de nomes do projeto.
  • Visualizador do projeto: tem acesso só de leitura a todos os recursos nos espaços de nomes do projeto.

Siga os passos para validar o seu acesso. Caso contrário, peça ao administrador de IAM do projeto para lhe atribuir as funções de administrador da máquina virtual do projeto (project-vm-admin) e visualizador do projeto (project-viewer) no espaço de nomes do projeto onde reside a VM.

Crie uma instância de VM a partir de uma imagem

Esta secção descreve como criar uma VM a partir de uma imagem do SO fornecida pelo GDC ou de uma imagem do SO personalizada.

Veja uma lista de imagens fornecidas pelo GDC

Antes de criar uma VM com uma imagem fornecida pelo GDC, reveja a lista de imagens disponíveis. Consulte as imagens de VMs suportadas para mais informações sobre as imagens fornecidas pelo GDC.

gdcloud

  • Liste todas as imagens disponíveis e o respetivo tamanho mínimo no disco:

    gdcloud compute images list
    

    Este comando inclui imagens fornecidas pelo GDC e imagens personalizadas. Escolha uma das imagens no namespace vm-system.

API

  1. Liste todas as imagens fornecidas pelo GDC disponíveis:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimage.virtualmachine.gdc.goog
    
  2. Obtenha o minimumDiskSize para uma imagem específica fornecida pela GDC:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Substitua o seguinte:

    • MANAGEMENT_API_SERVER: o ficheiro kubeconfig para o servidor da API Management.
    • BOOT_DISK_IMAGE_NAME: o nome da imagem.

Crie uma instância de VM a partir de uma imagem fornecida pelo GDC

Por predefinição, todos os projetos do GDC podem criar VMs a partir de imagens de SO fornecidas pelo GDC.

Consola

  1. No menu de navegação, selecione Máquinas virtuais > Instâncias.
  2. Clique em Criar instância.
  3. No campo Nome, especifique um nome para a VM.
  4. Selecione a zona na qual quer criar a VM.
  5. Opcional: clique em Adicionar etiquetas para atribuir etiquetas à MV. Isto ajuda a organizar as suas instâncias de VM.
  6. Selecione a configuração da máquina a usar para a VM:
    1. Utilização geral: certifique-se de que o tipo de máquina está alinhado com os requisitos da sua carga de trabalho.
    2. Personalizado: defina o número de núcleos e os requisitos de memória para a sua máquina.
  7. Clicar em Seguinte.
  8. Se quiser ativar o acesso externo, selecione Permitir acesso externo.
  9. Clicar em Seguinte.
  10. Na secção Disco de arranque, é adicionado automaticamente um disco de arranque com as configurações predefinidas. Pode manter esta configuração tal como está ou clicar em Alterar para modificar as configurações predefinidas:
    1. Na secção Detalhes do disco, modifique o Nome do disco.
    2. Na secção Definições do disco, modifique o valor do Tamanho.
    3. Na secção Imagem de origem, clique no menu Nome da imagem e selecione uma das imagens.
    4. Selecione ou desmarque a opção Ativar arranque seguro. Se usar uma imagem do Windows, tem de ter o arranque seguro ativado.
    5. Selecione Manter disco ou Eliminar disco para configurar a regra de eliminação do disco.
    6. Clique em Guardar.
  11. Clique em Criar para criar a instância de VM.

gdcloud

  1. Selecione uma imagem fornecida pelo GDC para criar a instância da VM:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --image-project=vm-system \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Substitua o seguinte:

    VariávelDefinição
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20GB.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true ou false, que indica o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute o seguinte comando:
    gdcloud compute machine-types list

API

  1. Selecione uma imagem fornecida pelo GDC para criar a instância da VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Substitua o seguinte:

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    PROJECT O projeto do GDC para criar a VM.
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    VM_BOOT_DISK_NAME O nome do disco de arranque da VM.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20Gi.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    BOOT_DISK_AUTO_DELETE true ou false, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute o seguinte comando:
    gdcloud compute machine-types list
  2. Verifique se a VM foi criada e aguarde que a VM apresente o estado Running. O estado Running não indica que o SO está totalmente pronto e acessível.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachine.virtualmachine.gdc.goog VM_NAME
    

    Substitua VM_NAME e PROJECT pelo nome e projeto da VM.

    Para adicionar um script de arranque à criação de instâncias de VMs, siga os passos indicados na página Use um script de arranque com uma instância de VM. Certifique-se de que encerra a VM antes de adicionar o script.

Crie uma instância de VM a partir de uma imagem personalizada

Uma imagem personalizada pertence exclusivamente ao seu projeto. Para criar uma VM com uma imagem personalizada, primeiro tem de criar uma imagem personalizada no mesmo projeto.

Consola

  1. No menu de navegação, selecione Máquinas virtuais > Instâncias.
  2. Clique em Criar instância.
  3. No campo Nome, especifique um nome para a VM.
  4. Selecione a zona na qual quer criar a VM.
  5. Opcional: clique em Adicionar etiquetas para atribuir etiquetas à MV. Isto ajuda a organizar as suas instâncias de VM.
  6. Selecione a configuração da máquina a usar para a VM:
    1. Utilização geral: certifique-se de que o tipo de máquina está alinhado com os requisitos da sua carga de trabalho.
    2. Personalizado: defina o número de núcleos e os requisitos de memória para a sua máquina.
  7. Clicar em Seguinte.
  8. Selecione a caixa de verificação Permitir acesso externo para ativar o acesso externo para a sua instância de VM.
  9. Clicar em Seguinte.
  10. Na secção Disco de arranque, é adicionado automaticamente um disco de arranque com as configurações predefinidas. Pode manter esta configuração tal como está ou clicar em Alterar para modificar as configurações predefinidas:
    1. Na secção Detalhes do disco, modifique o Nome do disco.
    2. Na secção Definições do disco, modifique o valor do Tamanho.
    3. Na secção Imagem de origem, clique no menu Nome da imagem e selecione uma das imagens com o subtexto Criada pelo cliente.
    4. Selecione ou desmarque a opção Ativar arranque seguro. Se usar uma imagem do Windows, tem de ter o arranque seguro ativado.
    5. Selecione Manter disco ou Eliminar disco para configurar a regra de eliminação do disco.
    6. Clique em Guardar.
  11. Clique em Criar para criar a instância de VM.

gdcloud

  1. Listar todas as imagens personalizadas:

    gdcloud compute images list --no-standard-images=true
    
  2. Crie a instância de VM:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Substitua o seguinte:

    VariávelDefinição
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20GB.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true ou false, que indica o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute o seguinte comando:
    gdcloud compute machine-types list

API

  1. Listar todas as imagens personalizadas:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimage.virtualmachine.gdc.goog
    

    Obtenha o minimumDiskSize de uma imagem específica para criar uma instância de VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Substitua o seguinte:

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    BOOT_DISK_IMAGE_NAME O nome da imagem escolhida a partir do comando para listar todas as imagens personalizadas.
    PROJECT O projeto da imagem.
  2. Crie a instância de VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Substitua o seguinte:

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    PROJECT O projeto do GDC para criar a VM.
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    VM_BOOT_DISK_NAME O nome do disco de arranque da VM.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20Gi.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    BOOT_DISK_AUTO_DELETE true ou false, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute o seguinte comando:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
  3. Verifique se a VM foi criada e aguarde até que a VM mostre que está no estado Running. Estar no estado Running não significa que o SO esteja totalmente pronto e acessível.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachine.virtualmachine.gdc.goog VM_NAME
    

    Substitua VM_NAME e PROJECT pelo nome e projeto da VM.

Crie uma instância de VM com discos não de arranque adicionais

Pode criar discos não de arranque quando cria uma VM. Cada disco adicional pode especificar uma origem de imagem ou não. O último caso destina-se à criação de um disco em branco.

Consola

  1. No menu de navegação, selecione Máquinas virtuais > Instâncias.
  2. Clique em Criar instância.
  3. No campo Nome, especifique um nome para a VM.
  4. Selecione a zona na qual quer criar a VM.
  5. Opcional: clique em Adicionar etiquetas para atribuir etiquetas à MV. Isto ajuda a organizar as suas instâncias de VM.
  6. Selecione a configuração da máquina a usar para a VM:
    1. Utilização geral: certifique-se de que o tipo de máquina está alinhado com os requisitos da sua carga de trabalho.
    2. Personalizado: defina o número de núcleos e os requisitos de memória para a sua máquina.
  7. Clicar em Seguinte.
  8. Selecione a caixa de verificação Permitir acesso externo para ativar o acesso externo para a sua instância de VM.
  9. Clicar em Seguinte.
  10. Na secção Disco de arranque, é adicionado automaticamente um disco de arranque com as configurações predefinidas. Pode manter esta configuração tal como está ou clicar em Alterar para modificar as configurações predefinidas:
    1. Na secção Detalhes do disco, modifique o Nome do disco.
    2. Na secção Definições do disco, modifique o valor do Tamanho.
    3. Na secção Imagem de origem, clique no menu Nome da imagem e selecione uma das imagens.
    4. Selecione ou desmarque a opção Ativar arranque seguro. Se usar uma imagem do Windows, tem de ter o arranque seguro ativado.
    5. Selecione Manter disco ou Eliminar disco para configurar a regra de eliminação do disco.
    6. Clique em Guardar.
  11. Para adicionar mais discos à sua instância de VM, selecione Adicionar novo disco:
    1. Atribua um nome ao disco da VM.
    2. Configure o tamanho do disco e as definições de anexos.
    3. Clique em Guardar.
  12. Clique em Criar para criar a instância de VM.

gdcloud

  1. Crie um disco a partir de uma imagem:

    gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \
      --size=NON_BOOT_DISK_SIZE \
      --image=NON_BOOT_DISK_IMAGE_NAME \
      --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
    
  2. Crie um disco a partir de uma imagem em branco:

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
      --size=NON_BOOT_BLANK_DISK_SIZE
    
  3. Crie uma instância com os discos do passo anterior:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \
      --disk=name=NON_BOOT_DISK_FROM_IMAGE \
      --disk=name=NON_BOOT_BLANK_DISK
    

    Substitua o seguinte:

    VariávelDefinição
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    BOOT_DISK_IMAGE_NAMESPACE O espaço de nomes da imagem a usar para o disco de arranque da nova VM. Use vm-system para uma imagem fornecida pelo GDC ou deixe o campo em branco para uma imagem personalizada.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20GB.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true ou false, que indica o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute o seguinte comando:
    gdcloud compute machine-types list

    Para discos adicionais, substitua o seguinte:

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: o nome do disco adicional.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: o tamanho dos discos adicionais, por exemplo, 20GB.
    • NON_BOOT_DISK_IMAGE_NAME: o nome da imagem a usar como um disco não de arranque.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: o espaço de nomes da imagem a usar como um disco não de arranque. Use vm-system para uma imagem fornecida pelo GDC ou deixe o campo em branco para uma imagem personalizada.

API

  1. Crie uma VM com um disco que não seja de arranque:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_DISK_FROM_IMAGE
    spec:
      source:
        image:
          name: NON_BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: NON_BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_BLANK_DISK
    spec:
      size: NON_BOOT_BLANK_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
      - virtualMachineDiskRef:
          name: NON_BOOT_DISK_FROM_IMAGE
      - virtualMachineDiskRef:
          name: NON_BOOT_BLANK_DISK
    EOF
    

    Substitua o seguinte:

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    PROJECT O projeto do GDC a criar na VM.
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    VM_BOOT_DISK_NAME O nome do disco de arranque da VM.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    BOOT_DISK_IMAGE_NAMESPACE O espaço de nomes da imagem a usar para o disco de arranque da nova VM. Use o espaço de nomes vm-system para uma imagem fornecida pelo GDC ou deixe em branco para uma imagem personalizada.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20Gi.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    BOOT_DISK_AUTO_DELETE true ou false, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute o seguinte comando:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system

    Para discos adicionais, substitua o seguinte:

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: o nome do disco adicional.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: o tamanho dos discos adicionais, por exemplo, 20Gi.
    • NON_BOOT_DISK_IMAGE_NAME: o nome da imagem que quer usar como um disco não inicializável.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: o espaço de nomes da imagem que quer usar como um disco não de arranque. Use o espaço de nomes vm-system para uma imagem fornecida pelo GDC ou deixe em branco para uma imagem personalizada.

    Formate e monte os discos antes de os usar.

Crie uma VM a partir de um instantâneo ou de uma cópia de segurança

Pode criar uma nova VM a partir de uma captura de ecrã das seguintes formas:

  • Restaurar um disco de arranque de VM: se fez uma cópia de segurança de um disco de arranque de uma VM com um instantâneo, use esse instantâneo para criar uma nova VM. Para mais informações, consulte o artigo Restaure um resumo.
    • Restaurar um disco não inicializável: se fez uma cópia de segurança de um disco não inicializável com um instantâneo, também pode restaurar o instantâneo para um novo disco não inicializável quando cria uma VM, seguindo as mesmas instruções.

Para criar mais do que uma VM com o mesmo disco de arranque, faça o seguinte:

  1. Crie uma imagem personalizada.
  2. Crie VMs a partir dessa imagem sem usar um instantâneo.

Crie uma VM sem usar o tipo de máquina

O Distributed Cloud oferece tipos de máquinas predefinidos que pode usar quando cria uma instância de VM. Um tipo de máquina predefinido tem um número predefinido de vCPUs e uma quantidade de memória.

Se as VMs predefinidas não satisfizerem as suas necessidades, crie uma instância de VM com definições de hardware virtualizado personalizadas.

As VMs personalizadas são ideais nos seguintes cenários:

  • Cargas de trabalho que não são aplicáveis aos tipos de VMs predefinidos.
  • Cargas de trabalho que requerem mais capacidade de processamento ou mais memória, mas não precisam de todas as atualizações que o tipo de máquina de nível seguinte oferece.

Consola

  1. No menu de navegação, selecione Máquinas virtuais > Instâncias.
  2. Clique em Criar instância.
  3. No campo Nome, especifique um nome para a VM.
  4. Selecione a zona na qual quer criar a VM.
  5. Opcional: clique em Adicionar etiquetas para atribuir etiquetas à MV. Isto ajuda a organizar as suas instâncias de VM.
  6. Clique em Personalizado e defina o número de núcleos e os requisitos de memória para a sua máquina.
  7. Clicar em Seguinte.
  8. Selecione a caixa de verificação Permitir acesso externo para ativar o acesso externo para a sua instância de VM.
  9. Clicar em Seguinte.
  10. Na secção Disco de arranque, é adicionado automaticamente um disco de arranque com as configurações predefinidas. Pode manter esta configuração tal como está ou clicar em Alterar para modificar as configurações predefinidas:
    1. Na secção Detalhes do disco, modifique o Nome do disco.
    2. Na secção Definições do disco, modifique o valor do Tamanho.
    3. Na secção Imagem de origem, clique no menu Nome da imagem e selecione uma das imagens com o subtexto Criada pelo cliente.
    4. Selecione ou desmarque a opção Ativar arranque seguro. Se usar uma imagem do Windows, tem de ter o arranque seguro ativado.
    5. Selecione Manter disco ou Eliminar disco para configurar a regra de eliminação do disco.
    6. Clique em Guardar.
  11. Se quiser adicionar mais discos à sua instância de VM, selecione Adicionar novo disco.
    1. Atribua um nome ao disco da VM.
    2. Configure o tamanho do disco e as definições de anexos.
    3. Clique em Guardar.
  12. Clique em Criar para criar a instância de VM.

gdcloud

  1. Crie uma VM com um tipo de máquina que definir:

    gdcloud compute instances create VM_NAME \
      --custom-cpu=NUM_VCPU \
      --custom-memory=MEMORY \
      --image=BOOT_DISK_IMAGE_NAME \
      --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Substitua o seguinte:

    VariávelDefinição
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20GB.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true ou false, que indica o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    NON_BOOT_DISK_IMAGE_NAMESPACE O espaço de nomes da imagem que quer usar como disco não de arranque. Use o espaço de nomes vm-system para uma imagem fornecida pelo GDC ou deixe em branco para uma imagem personalizada.
    NUM_VCPU O número de vCPUs. O número máximo de vCPUs suportadas é 192.
    MEMORY O tamanho da memória, como 8GB. O tamanho máximo da memória é de um terabyte (TB).

API

  1. Crie uma VM com um tipo de máquina que definir:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        vcpus: NUM_VCPU
        memory: MEMORY
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Substitua o seguinte:

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    PROJECT O projeto do Distributed Cloud para criar a VM.
    VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
    VM_BOOT_DISK_NAME O nome do disco de arranque da VM.
    BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
    NON_BOOT_DISK_IMAGE_NAMESPACE O espaço de nomes da imagem que quer usar como disco não de arranque. Use o espaço de nomes vm-system para uma imagem fornecida pelo GDC ou deixe em branco para uma imagem personalizada.
    BOOT_DISK_SIZE O tamanho do disco de arranque, como 20Gi.
    Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
    BOOT_DISK_AUTO_DELETE true ou false, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
    NUM_VCPU O número de vCPUs. O número máximo de vCPUs suportadas é 192.
    MEMORY O tamanho da memória, como 8GB. O tamanho máximo da memória é de 1 TB.

Crie uma instância de VM com um endereço IP e uma sub-rede especificados

Por predefinição, pode criar uma VM da Distributed Cloud sem a especificação da rede. Este tipo de VM é anexado à nuvem virtual privada (VPC) predefinida e atribui dinamicamente um IP da sub-rede predefinida. Para criar uma VM com as configurações predefinidas, consulte o artigo Crie uma VM com uma imagem fornecida pelo GDC.

Se não quiser usar a configuração de IP predefinida para a sua VM do Distributed Cloud, pode criar uma VM com um endereço IP dinâmico ou estático:

  • IP dinâmico de uma sub-rede personalizada: cria uma sub-rede com um intervalo de IP específico e cria uma VM com um IP atribuído dinamicamente a partir desse intervalo de IP.CIDRCIDR

  • IP estático de uma sub-rede personalizada: cria uma sub-rede com um intervalo de IPs específico e cria uma VM com um IP estático desse intervalo de IPs.CIDRCIDR

Esta secção mostra-lhe como criar uma VM com um endereço atribuído dinamicamente ou com um endereço IP estático.

Crie uma VM com um IP atribuído dinamicamente a partir de uma sub-rede personalizada

Crie uma VM com um IP atribuído dinamicamente a partir de um CIDR específico:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
     -n PROJECT \
     apply -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
     - virtualMachineDiskRef:
         name: VM_BOOT_DISK_NAME
       boot: true
       autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
   EOF

Substitua as seguintes variáveis:

VariávelDefinição
MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
PROJECT O projeto do Distributed Cloud para criar a VM.
VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, com um máximo de 53 carateres.
VM_BOOT_DISK_NAME O nome do disco de arranque da VM.
BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
BOOT_DISK_SIZE O tamanho do disco de arranque, como 20Gi.
Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
BOOT_DISK_AUTO_DELETE true ou false, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Selecione um tipo de máquina disponível:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME O nome da sub-rede personalizada.

Crie uma VM com um IP estático a partir de uma sub-rede

Crie uma VM com um IP estático a partir de uma sub-rede personalizada:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
     -n PROJECT \
     apply  -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
     - virtualMachineDiskRef:
         name: VM_BOOT_DISK_NAME
       boot: true
       autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
         ipAddresses:
         - address: IP_ADDRESS
   EOF

Substitua as seguintes variáveis:

VariávelDefinição
MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
PROJECT O projeto do Distributed Cloud para criar a VM.
VM_NAME O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres.
VM_BOOT_DISK_NAME O nome do disco de arranque da VM.
BOOT_DISK_IMAGE_NAME O nome da imagem a usar para o disco de arranque da nova VM.
BOOT_DISK_SIZE O tamanho do disco de arranque, como 20Gi.
Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque.
BOOT_DISK_AUTO_DELETE true ou false, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.
MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute o seguinte:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME O nome da sub-rede personalizada.
IP_ADDRESS O endereço IP. Este valor tem de estar dentro do intervalo da sub-rede escolhida. Só pode especificar um endereço IP no campo ipAddresses