Quando você cria uma instância de VM, o Distributed Cloud cria automaticamente um disco permanente de inicialização com configurações padrão. Você também precisa criar um disco de inicialização para a VM. É possível usar uma imagem pública ou personalizada.
Se você precisar de mais discos de armazenamento de dados para as instâncias, adicione um disco permanente à VM.
Este documento é destinado a desenvolvedores em grupos de administradores de plataforma ou operadores de aplicativos que criam discos de inicialização personalizados para VMs. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.
Antes de começar
Para usar os comandos da interface de linha de comando (CLI) gdcloud, verifique se você baixou, instalou
e configurou a CLI gdcloud.
Todos os comandos do Distributed Cloud usam a CLI gdcloud ou kubectl e exigem um ambiente de sistema operacional (SO).
Extrair o caminho do arquivo kubeconfig
Para executar comandos no servidor da API Management, verifique se você tem os seguintes recursos:
Faça login e gere o arquivo kubeconfig para o servidor da API Management se você não tiver um.
Use o caminho para o arquivo kubeconfig do servidor da API Management para substituir
MANAGEMENT_API_SERVERnestas instruções.
Solicitar papéis do IAM
Entre em contato com o administrador do IAM do projeto para solicitar as seguintes funções no projeto:
Administrador do projeto de máquina virtual (
project-vm-admin): cria, modifica, lista e exclui VMs padrão e de alta performance no namespace do projeto.Leitor do projeto(
project-viewer): confira todos os recursos no namespace do projeto.
Todas as funções de VM precisam ser vinculadas ao namespace do projeto em que a VM reside. Siga as etapas para verificar seu acesso.
Criar um disco de inicialização
Use os procedimentos descritos nesta página para criar discos de inicialização que podem ser usados posteriormente para criar VMs.
Criar um disco de inicialização com base em uma imagem
Crie um disco permanente de inicialização autônomo, separado do processo de criação da instância, e anexe-o posteriormente à instância. Nesta seção, mostramos como criar um disco de inicialização com uma imagem do SO fornecida pelo GDC ou uma imagem do SO personalizada.
Criar um disco de inicialização com base em uma imagem fornecida pelo GDC
Antes de criar um disco de inicialização usando uma imagem fornecida pelo GDC, revise a lista de imagens disponíveis. Em seguida, crie um disco de inicialização com a imagem fornecida.
gdcloud
Liste todas as imagens disponíveis e o tamanho mínimo do disco:
gdcloud compute images listEsse comando inclui imagens fornecidas pelo Distributed Cloud e personalizadas. Escolha um deles no namespace
vm-system.Selecione uma imagem fornecida pela Distributed Cloud para criar o disco da VM:
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=vm-systemSubstitua as variáveis usando as seguintes definições:
Variável Definição BOOT_DISK_NAMEO nome do disco de inicialização. PROJECTO projeto do GDC em que o disco de inicialização será criado. DISK_SIZEO tamanho do disco de inicialização precisa ser pelo menos minimumDiskSizeda imagem.IMAGE_NAMEO nome da imagem.
kubectl
Liste todas as imagens fornecidas pelo GDC disponíveis:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.googRecebe o
minimumDiskSizede uma imagem específica fornecida pelo GDC. O tamanho do disco de inicialização personalizado criado precisa ser pelo menos ominimumDiskSize:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'Crie um objeto
VirtualMachineDisk:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: vm-system size: DISK_SIZE EOFSubstitua as variáveis usando as seguintes definições:
Variável Definição MANAGEMENT_API_SERVERO arquivo kubeconfig do servidor da API Management. IMAGE_NAMEO nome da imagem. PROJECTO projeto do GDC em que o disco de inicialização será criado. BOOT_DISK_NAMEO nome do disco de inicialização. DISK_SIZEO tamanho do disco de inicialização precisa ser pelo menos minimumDiskSizeda imagem.
Criar um disco de inicialização com base em uma imagem personalizada
Uma imagem personalizada pertence exclusivamente ao seu projeto. Para criar uma VM com uma imagem personalizada, primeiro crie uma imagem personalizada no mesmo projeto, se você ainda não tiver uma.
Configure os papéis do IAM necessários para acessar imagens personalizadas no seu projeto, se ainda não tiver feito isso. Depois, siga estas instruções.
gdcloud
Liste todas as imagens personalizadas e o tamanho mínimo do disco:
gdcloud compute images list \ --project=PROJECT \Selecione uma imagem personalizada para criar o disco da VM:
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=PROJECTSubstitua as variáveis usando as seguintes definições:
Variável Definição BOOT_DISK_NAMEO nome do disco de inicialização. PROJECTO projeto do GDC em que o disco de inicialização será criado. DISK_SIZEO tamanho do disco de inicialização precisa ser pelo menos minimumDiskSizeda imagem.IMAGE_NAMEO nome da imagem.
API
Listar todas as imagens personalizadas:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimages.virtualmachine.gdc.googReceba o
minimumDiskSizede uma imagem personalizada específica. O tamanho do disco de inicialização personalizado criado precisa ser pelo menosminimumDiskSize:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'Crie um objeto
VirtualMachineDisk:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: PROJECT size: DISK_SIZE EOFSubstitua as variáveis usando as seguintes definições:
Variável Definição MANAGEMENT_API_SERVERO arquivo kubeconfig do servidor da API Management. IMAGE_NAMEO nome da imagem escolhida no comando listar todas as imagens personalizadas. PROJECTO projeto do GDC em que o disco de inicialização será criado. BOOT_DISK_NAMEO nome do disco de inicialização. DISK_SIZEO tamanho do disco de inicialização precisa ser pelo menos minimumDiskSizeda imagem.