Se você tiver discos virtuais no ambiente local com o software e as configurações necessárias, às vezes chamados de discos dourados ou imagens douradas, poderá economizar tempo importando esses discos virtuais para o appliance isolado do GDC e usando a imagem resultante para criar máquinas virtuais. A ferramenta de importação é compatível com os formatos de imagem RAW e QCOW para Linux e ISO para Windows.
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 Linux.
Acesso ao servidor da API Management. Siga as etapas da CLI em Fazer login para fazer login no servidor da API Management.
Solicitar permissões e acesso
Para executar as tarefas listadas nesta página, você precisa ter os papéis de administrador de máquinas virtuais do projeto e administrador de imagens de máquinas virtuais do projeto. Siga as etapas para verificar ou peça ao administrador do IAM do projeto para atribuir a você os papéis de administrador de máquinas virtuais do projeto (project-vm-admin) e administrador de imagens de máquinas virtuais do projeto (project-vm-image-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 listados no parágrafo
anterior e o papel Leitor do projeto (project-viewer).
Sistemas operacionais compatíveis
Esta seção detalha os sistemas operacionais compatíveis com as VMs do GDC.
Suporte ao SO Linux
Só é possível importar imagens do Linux de discos inicializáveis. Para inicializar seus discos virtuais no GDC, eles precisam executar um dos sistemas operacionais compatíveis:
- Ubuntu 20.04
- Ubuntu 22.04
- RHEL 8
Suporte ao SO Windows
O GDC também é compatível com os sistemas operacionais Windows 10 e Windows Server 2019 Datacenter Edition.
É possível importar imagens do Windows de uma mídia de instalação ISO. O GDC instala o Windows e cria uma imagem inicializável do disco resultante.
A importação de imagens exige que a ISO não solicite entrada ao ser inicializada com a Unified Extensible Firmware Interface (UEFI). Para criar uma ISO sem solicitação, comece com um arquivo ISO atual. Siga estas etapas:
Extraia o conteúdo do ISO usando a ferramenta de gerenciamento de arquivos 7Zip:
7z x windows-installation.iso -oiso-unpackCrie uma nova ISO com base na ISO extraída usando
mkisofs, substituindo o binário EFI "sem solicitação":mkisofs -b boot/etfsboot.com -no-emul-boot -c BOOT.CAT -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -v -V "Custom" -udf -boot-info-table -eltorito-alt-boot -eltorito-boot efi/microsoft/boot/efisys_noprompt.bin -no-emul-boot -o ISO_NAME.iso -allow-limited-size iso-unpackSubstitua ISO_NAME por um nome para a ISO sem solicitação. Por exemplo,
noprompt-install.
Importar discos virtuais
É possível importar discos virtuais usando a CLI gdcloud ou a API Virtual Machine Manager.
Para receber as permissões necessárias para importar imagens, peça ao administrador do IAM da organização para conceder a você o papel de administrador de imagens de máquinas virtuais do projeto (project-vm-image-admin).
gdcloud
Use o comando gdcloud compute images import para criar uma imagem inicializável.
O comando import garante que o disco tenha os pacotes necessários, incluindo o ambiente de convidado, que é necessário para configurar credenciais de conexão com a instância usando o Secure Shell (SSH) no Linux e o protocolo da área de trabalho remota (RDP) no Windows.
No Linux, o comando também instala pacotes para o Network Time Protocol (NTP)
e cloud-init para que a instância seja executada corretamente no
GDC.
É 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 projeto.
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. Você precisa inserir o sistema operacional como
ubuntu-2004,ubuntu-2204.rhel-8,windows-10ouwindows-2019. - 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.
No exemplo a seguir, importamos um disco virtual chamado ubuntu_server.img armazenado
no diretório inicial da estação de trabalho:
gdcloud compute images import imported-image \
--source-file=~/ubuntu_server.img \
--os=ubuntu-2004
API
Antes de iniciar o processo de importação com a API, faça upload do disco virtual para um bucket de armazenamento de objetos chamado vm-images-bucket. Para criar
um bucket de armazenamento de objetos, consulte
Criar buckets de armazenamento para projetos.
Para importar um disco virtual pela 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_KUBECONFIG \ apply -n PROJECT_ID -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: OPERATING_SYSTEM minimumDiskSize: DISK_SIZE EOFSubstitua as seguintes variáveis:
Variável Descrição 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/.OPERATING_SYSTEM O SO no disco a ser importado. Esse valor precisa ser ubuntu-2004,ubuntu-2204,rhel-8,windows-10ouwindows-2019.DISK_SIZE O tamanho mínimo que um disco precisa ter para ser criado com essa imagem. Recomendamos usar um buffer de pelo menos 20% além do tamanho do sistema de arquivos da imagem original. Por exemplo, use pelo menos 12 GiB para um disco virtual com tamanho original de 10 GiB. Monitore o progresso da importação consultando o status do objeto
VirtualMachineImageImport:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get virtualmachineimageimport --namespace PROJECT_ID \ 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
a importação de imagens for feita 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
Crie uma instância de VM que use sua imagem na página Criar e iniciar uma VM.