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_SERVER
nestas instruções.
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 de
administrador de máquina virtual do projeto e leitor do projeto (project-viewer
).
Criar um disco de inicialização
Ao criar uma instância de máquina virtual (VM), também é necessário criar um disco de inicialização para a VM. É possível usar uma imagem pública ou personalizada.
O GDC cria automaticamente um disco permanente de inicialização quando você cria uma instância de VM. Se você precisar de mais discos de armazenamento de dados para as instâncias, adicione um disco permanente à VM.
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 list
Esse comando inclui imagens fornecidas pelo Distributed Cloud e personalizadas. Escolha um deles no namespace
vm-system
.Selecione uma imagem fornecida pela nuvem distribuída 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 usando as seguintes definições:
Variável Definição BOOT_DISK_NAME
O nome do disco de inicialização. PROJECT
O projeto do GDC em que o disco de inicialização será criado. DISK_SIZE
O tamanho do disco de inicialização precisa ser pelo menos minimumDiskSize
da imagem.IMAGE_NAME
O nome da imagem.
kubectl
Liste todas as imagens fornecidas pelo GDC disponíveis:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
Recebe o
minimumDiskSize
de 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 \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
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 usando as seguintes definições:
Variável Definição MANAGEMENT_API_SERVER
O arquivo kubeconfig do servidor da API Management. IMAGE_NAME
O nome da imagem. PROJECT
O projeto do GDC em que o disco de inicialização será criado. BOOT_DISK_NAME
O nome do disco de inicialização. DISK_SIZE
O tamanho do disco de inicialização precisa ser pelo menos minimumDiskSize
da 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=PROJECT
Substitua as variáveis usando as seguintes definições:
Variável Definição BOOT_DISK_NAME
O nome do disco de inicialização. PROJECT
O projeto do GDC em que o disco de inicialização será criado. DISK_SIZE
O tamanho do disco de inicialização precisa ser pelo menos minimumDiskSize
da imagem.IMAGE_NAME
O nome da imagem.
API
Listar todas as imagens personalizadas:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
Receba o
minimumDiskSize
de uma imagem personalizada específica. O tamanho do disco de inicialização personalizado criado precisa ser pelo menosminimumDiskSize
:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
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 usando as seguintes definições:
Variável Definição MANAGEMENT_API_SERVER
O arquivo kubeconfig do servidor da API Management. IMAGE_NAME
O nome da imagem escolhida no comando listar todas as imagens personalizadas. PROJECT
O projeto do GDC em que o disco de inicialização será criado. BOOT_DISK_NAME
O nome do disco de inicialização. DISK_SIZE
O tamanho do disco de inicialização precisa ser pelo menos minimumDiskSize
da imagem.
Para substituir um disco de inicialização, consulte a página Substituir um disco de inicialização.