Importe discos virtuais

Este documento descreve os passos para importar imagens de disco de máquinas virtuais (VMs) para o Google Distributed Cloud (GDC) isolado.

Importe os seus discos virtuais existentes, frequentemente denominados discos dourados ou imagens douradas, para a nuvem distribuída para poupar tempo e usar a imagem resultante para criar máquinas virtuais. A ferramenta de importação suporta os formatos de imagem RAW e QCOW.

Este documento destina-se a programadores em grupos de administradores da plataforma ou operadores de aplicações que criam imagens de VMs. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.

Antes de começar

Antes de continuar, certifique-se de que tem o seguinte:

  • A CLI gcloud foi transferida, instalada e configurada. Todos os comandos da CLI para o GDC usam a CLI gdcloud ou kubectl e requerem um ambiente de sistema operativo (SO).

Pedir autorizações e acesso

Para importar imagens e realizar as operações de VM indicadas nesta página, peça ao administrador do IAM do projeto para lhe conceder as seguintes funções do IAM no espaço de nomes do projeto onde a VM reside:

  • Project VirtualMachine Admin (project-vm-admin): gere VMs no espaço de nomes do projeto.

  • Project Viewer (project-viewer): tem acesso apenas de leitura a todos os recursos num espaço de nomes do projeto.

Siga os passos para validar o seu acesso.

Importe discos virtuais

Pode importar ficheiros de disco virtual diretamente da sua estação de trabalho. A ferramenta de importação carrega automaticamente o ficheiro para um contentor de armazenamento de objetos no seu projeto.

Para importar os seus discos virtuais, use a CLI gdcloud ou a API Virtual Machine Manager.

gdcloud

O comando import verifica se o disco tem os pacotes necessários para configurar credenciais para estabelecer ligação à instância através de Secure Shell (SSH) e do protocolo de ambiente de trabalho remoto (RDP). Isto inclui o ambiente do convidado.

O comando também instala pacotes para o protocolo de tempo de rede (NTP) e cloud-init para que a instância seja executada corretamente no GDC.

  • Para criar uma imagem de arranque, use o comando gdcloud compute images import:
gdcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE \
  --os=IMAGE_OS \
  --timeout=TIMEOUT

Substitua as seguintes variáveis:

  • IMAGE_NAME: o nome da imagem de destino. O nome não pode ter mais de 35 carateres.
  • SOURCE_FILE: o ficheiro de disco virtual. Este ficheiro é um ficheiro local na sua estação de trabalho. Pode fornecer um caminho absoluto ou relativo.
  • IMAGE_OS: o SO no disco a importar.
  • TIMEOUT: o tempo que uma importação pode durar antes de falhar com "TIMEOUT". Por exemplo, se especificar 2h, o processo falha após 2 horas. O tempo limite predefinido é 1h.

A operação de carregamento pode demorar um período prolongado, consoante o tamanho do disco virtual e a velocidade da ligação de rede. A operação de importação pode demorar dezenas de minutos a ser executada, consoante o tamanho do disco.

API

Para importar um disco virtual através da API, faça o seguinte:

  1. Crie um objeto VirtualMachineImageImport no servidor da API Management para iniciar o processo de importação de imagens:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT_ID \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineImageImport
    metadata:
      name: IMAGE_NAME
      namespace: PROJECT_ID
    spec:
      source:
        objectStorage:
          bucketRef:
            name: vm-images-bucket
          objectName: SOURCE_FILE
      imageMetadata:
        name: IMAGE_NAME
        operatingSystem: IMAGE_OS
        minimumDiskSize: DISK_SIZE
    EOF
    

    Substitua as seguintes variáveis:

    • IMAGE_NAME: o nome da imagem a importar. O nome não pode ter mais de 35 carateres.
    • PROJECT_ID: o ID do projeto onde quer importar a imagem.
    • SOURCE_FILE: o nome do ficheiro de origem que contém o carregamento do disco virtual para o armazenamento de objetos. Este valor é a secção do caminho de armazenamento de objetos após vm-images-bucket/.
    • IMAGE_OS: o SO no disco a importar.
    • DISK_SIZE: o tamanho mínimo que um disco tem de ter para ser criado com esta imagem. Recomendamos que use, pelo menos, um buffer de 20% além do tamanho do sistema de ficheiros da imagem original. Por exemplo, use, pelo menos, 12Gi para um disco virtual com um tamanho do sistema de ficheiros original de 10 Gi.
  2. Monitorize o progresso da importação consultando o estado do objeto VirtualMachineImageImport:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT_ID \
      get virtualmachineimageimport.virtualmachine.gdc.goog IMAGE_NAME \
      -o jsonpath='{.status}'
    

Limpe recursos

O processo de importação envolve o carregamento do ficheiro de disco virtual para o armazenamento de objetos. Se usar a CLI gcloud, o objeto é limpo quando o comando termina, quer tenha sido bem-sucedido ou não. Se o comando for interrompido ou se realizar a importação de imagens com a API, o ficheiro de disco virtual pode permanecer no contentor de armazenamento de objetos denominado vm-images-bucket até eliminar manualmente o ficheiro.

O que se segue?