Se você tem discos virtuais no ambiente local com o software e as configurações necessárias, às vezes chamados de discos dourados ou imagens douradas, é possível economizar tempo importando esses discos virtuais para o Distributed Cloud 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 de login ao cluster do Kubernetes. Siga as etapas da CLI em Fazer login para fazer login no cluster do Kubernetes.
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 listados no parágrafo
anterior e o papel de leitor do projeto (project-viewer).
Sistemas operacionais compatíveis
Consulte Imagens de VM compatíveis para uma lista de sistemas operacionais compatíveis com VMs do GDC.
Importar discos virtuais
É possível importar discos virtuais usando a gcloud CLI 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ê a função 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 \ -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: 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 12Gipara um disco virtual com tamanho original do sistema de arquivos de 10 Gi.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
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.