Crie um disco de arranque personalizado

Antes de começar

Para usar os comandos da gdcloud interface de linhas de comando (CLI), certifique-se de que transferiu, instalou e configurou a CLI gdcloud. Todos os comandos para a nuvem distribuída usam a CLI gdcloud ou kubectl e requerem um ambiente de sistema operativo (SO).

Obtenha o caminho do ficheiro kubeconfig

Para executar comandos no servidor da API Management, certifique-se de que tem os seguintes recursos:

  1. Inicie sessão e gere o ficheiro kubeconfig para o servidor da API Management, se não tiver um.

  2. Use o caminho para o ficheiro kubeconfig do servidor da API de gestão para substituir MANAGEMENT_API_SERVER nestas instruções.

Peça autorizações e acesso

Para realizar as tarefas indicadas nesta página, tem de ter a função de administrador da máquina virtual do projeto. Siga os passos para validar que tem a função de administrador de máquinas virtuais do projeto (project-vm-admin) no espaço de nomes do projeto onde a VM reside.

Para operações de VM que usam a consola do GDC ou a CLI gdcloud, peça ao administrador de IAM do projeto para lhe atribuir a função de administrador de máquinas virtuais do projeto e a função de visualizador do projeto (project-viewer).

Crie um disco de arranque

Quando cria uma instância de máquina virtual (VM), também tem de criar um disco de arranque para a VM. Pode usar uma imagem pública ou uma imagem personalizada.

O GDC cria automaticamente um disco persistente de arranque quando cria uma instância de VM. Se precisar de discos de armazenamento de dados adicionais para as suas instâncias, adicione um disco persistente à sua VM.

Use os procedimentos descritos nesta página para criar discos de arranque que pode usar mais tarde para criar VMs.

Crie um disco de arranque a partir de uma imagem

Pode criar um disco persistente de arranque autónomo fora da criação de instâncias e anexá-lo a uma instância posteriormente. Esta secção mostra como criar um disco de arranque a partir de uma imagem do SO fornecida pelo GDC ou de uma imagem do SO personalizada.

Crie um disco de arranque a partir de uma imagem fornecida pela GDC

Antes de criar um disco de arranque com uma imagem fornecida pelo GDC, reveja a lista de imagens disponíveis. Em seguida, crie um disco de arranque com a imagem fornecida.

gdcloud

  1. Liste todas as imagens disponíveis e o respetivo tamanho mínimo no disco:

    gdcloud compute images list
    

    Este comando inclui imagens fornecidas pela nuvem distribuída e imagens personalizadas. Escolha uma das opções no espaço de nomes vm-system.

  2. 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-system
    

    Substitua as variáveis pelas seguintes definições:

    VariávelDefinição
    BOOT_DISK_NAME O nome do disco de arranque.
    PROJECT O projeto do GDC no qual criar o disco de arranque.
    DISK_SIZE O tamanho do disco de arranque tem de ser, pelo menos, o minimumDiskSize da imagem.
    IMAGE_NAME O nome da imagem.

kubectl

  1. Liste todas as imagens fornecidas pelo GDC disponíveis:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
    
  2. Obtenha o minimumDiskSize de uma imagem específica fornecida pela GDC. O tamanho do disco de arranque personalizado criado tem de ser, pelo menos, o seguinte: minimumDiskSize

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Crie um objeto VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -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
    EOF
    

    Substitua as variáveis pelas seguintes definições:

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    IMAGE_NAME O nome da imagem.
    PROJECT O projeto do GDC no qual criar o disco de arranque.
    BOOT_DISK_NAME O nome do disco de arranque.
    DISK_SIZE O tamanho do disco de arranque tem de ser, pelo menos, o minimumDiskSize da imagem.

Crie um disco de arranque a partir de uma imagem personalizada

Uma imagem personalizada pertence exclusivamente ao seu projeto. Para criar uma VM com uma imagem personalizada, primeiro tem de criar uma imagem personalizada no mesmo projeto, se ainda não tiver uma.

Configure as funções de IAM necessárias para aceder a imagens personalizadas no seu projeto, se ainda não o tiver feito. Depois, siga estas instruções.

gdcloud

  1. Apresente todas as imagens personalizadas e o respetivo tamanho mínimo no disco:

    gdcloud compute images list \
        --project=PROJECT \
    
  2. 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=PROJECT
    

    Substitua as variáveis pelas seguintes definições:

    VariávelDefinição
    BOOT_DISK_NAME O nome do disco de arranque.
    PROJECT O projeto do GDC no qual criar o disco de arranque.
    DISK_SIZE O tamanho do disco de arranque tem de ser, pelo menos, o minimumDiskSize da imagem.
    IMAGE_NAME O nome da imagem.

API

  1. Listar todas as imagens personalizadas:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
    
  2. Obtenha o minimumDiskSize de uma imagem personalizada específica. O tamanho do disco de arranque personalizado criado tem de ser, pelo menos, minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Crie um objeto VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply --namespace PROJECT -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
    EOF
    

    Substitua as variáveis com as seguintes definições:

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    IMAGE_NAME O nome da imagem escolhida no comando list all custom images.
    PROJECT O projeto do GDC no qual criar o disco de arranque.
    BOOT_DISK_NAME O nome do disco de arranque.
    DISK_SIZE O tamanho do disco de arranque tem de ser, pelo menos, o minimumDiskSize da imagem.

Para substituir um disco de arranque, consulte a página Substitua um disco de arranque.