Neste documento, descrevemos as etapas para importar imagens de disco de máquina virtual (VM) para o Google Distributed Cloud (GDC) isolado por air-gap.
Importe seus discos virtuais atuais, geralmente chamados de discos de ouro ou imagens de ouro, para o Distributed Cloud para economizar tempo e use a imagem resultante para criar máquinas virtuais. A ferramenta de importação é compatível com os formatos de imagem RAW e QCOW.
Este documento é destinado a desenvolvedores em grupos de administradores de plataforma ou operadores de aplicativos que criam imagens de VM. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.
Antes de começar
Antes de continuar, verifique se você tem o seguinte:
- A CLI gdcloud
baixada, instalada e configurada. Todos os comandos da CLI para
GDC usam a CLI
gdcloudoukubectle exigem um ambiente de sistema operacional (SO).
Solicitar permissões e acesso
Para importar imagens e realizar as operações de VM listadas nesta página, peça ao administrador do IAM do projeto para conceder a você os seguintes papéis do IAM no namespace do projeto em que a VM reside:
Administrador de máquinas virtuais do projeto (
project-vm-admin): gerencia VMs no namespace do projeto.Leitor do projeto (
project-viewer): tem acesso somente leitura a todos os recursos em um namespace de projeto.
Siga as etapas para verificar seu acesso.
Importar discos virtuais
É possível importar arquivos de disco virtual diretamente da sua estação de trabalho. A ferramenta de importação faz upload automático do arquivo para um bucket de armazenamento de objetos no seu projeto.
Para importar 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 de conexão à instância usando o Secure Shell (SSH)
e o protocolo da área de trabalho remota (RDP). Isso inclui o ambiente de convidado.
O comando também instala pacotes para o Network Time Protocol (NTP)
e o cloud-init para que a instância seja executada corretamente no GDC.
- Para criar uma imagem inicializável, 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 caracteres.
- SOURCE_FILE: o arquivo de disco virtual. Esse arquivo é um arquivo local na sua estação de trabalho. Você pode fornecer um caminho absoluto ou relativo.
- IMAGE_OS: o SO no disco a ser importado.
- TIMEOUT: o tempo que uma importação pode durar antes de falhar
com "TIMEOUT". Por exemplo, se você especificar
2h, o processo vai falhar após 2 horas. O tempo limite padrão é1h.
A operação de upload pode levar muito tempo, dependendo do tamanho do disco virtual e da velocidade da conexão de rede. A operação de importação pode levar dezenas de minutos para ser executada, dependendo do tamanho do disco.
API
Para importar um disco virtual usando a API, faça o seguinte:
Crie um objeto
VirtualMachineImageImportno 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 EOFSubstitua as seguintes variáveis:
- IMAGE_NAME: o nome da imagem a ser importada. O nome não pode ter mais de 35 caracteres.
- PROJECT_ID: o ID do projeto em que você quer importar a imagem.
- SOURCE_FILE: o nome do arquivo de origem que contém o upload do disco virtual para o armazenamento de objetos. Esse valor é a seção do caminho de armazenamento de objetos após
vm-images-bucket/. - IMAGE_OS: o SO no disco a ser importado.
- DISK_SIZE: o tamanho mínimo que um disco precisa ter para ser criado com essa imagem. Use um buffer de pelo menos 20% além do tamanho do sistema de arquivos da imagem original. Por exemplo, use pelo menos
12Gpara um disco virtual com um tamanho original de sistema de arquivos de 10G.
Monitore o progresso da importação consultando o status do objeto
VirtualMachineImageImport:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT_ID \ get virtualmachineimageimport.virtualmachine.gdc.goog IMAGE_NAME \ -o jsonpath='{.status}'
Limpar recursos
O processo de importação envolve o upload do arquivo de disco virtual para o armazenamento de objetos.
Se você usar a CLI gdcloud, o objeto será limpo quando o comando
for concluído, seja com sucesso ou não. Se o comando for interrompido ou
se você importar a imagem com a API, o arquivo de disco virtual poderá permanecer
no bucket de armazenamento de objetos chamado vm-images-bucket até que você exclua
o arquivo manualmente.
A seguir
- Confira as imagens compatíveis com o GDC.
- Crie e inicie uma instância de VM que use sua imagem.
- Crie um disco de inicialização para sua VM.