Esta página fornece instruções para criar uma instância de máquina virtual (VM) através de uma imagem de disco de arranque ou de um instantâneo de disco de arranque.
Pode criar uma VM com um ou mais discos. Também pode adicionar discos à sua VM após a criação. O dispositivo isolado do Google Distributed Cloud (GDC) inicia automaticamente a instância de VM após a criação.
Pode adicionar scripts de arranque a uma VM, antes ou depois da criação. Para ler mais sobre scripts de arranque, consulte a página Use um script de arranque com uma instância de VM.
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 o dispositivo isolado do GDC 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:
Localize o nome do servidor da API Management ou pergunte ao administrador da plataforma (PA) qual é o nome do servidor.
Inicie sessão e gere o ficheiro kubeconfig para o servidor da API Management, se não tiver um.
Use o caminho para substituir
MANAGEMENT_API_SERVER{"</var>"}}
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 ou pedir ao administrador de IAM do projeto que lhe atribua 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 uma instância de VM a partir de uma imagem
Esta secção mostra como criar uma VM a partir de uma imagem do SO fornecida pelo GDC ou de uma imagem do SO personalizada.
Veja uma lista de imagens fornecidas pelo GDC
Antes de criar uma VM com uma imagem fornecida pelo GDC, reveja a lista de imagens disponíveis.
gdcloud
Liste todas as imagens disponíveis e o respetivo tamanho mínimo no disco:
gdcloud compute images list
Este comando inclui imagens fornecidas pelo GDC e imagens personalizadas. Escolha uma das imagens no namespace vm-system
.
API
Liste todas as imagens fornecidas pelo GDC disponíveis:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
Obtenha o
minimumDiskSize
para uma imagem específica fornecida pela GDC:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system \ BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
Substitua o seguinte:
MANAGEMENT_API_SERVER
com okubeconfig
para o servidor da API Management.BOOT_DISK_IMAGE_NAME
com o nome da imagem.
Crie uma instância de VM a partir de uma imagem fornecida pelo GDC
Por predefinição, todos os projetos do GDC podem criar VMs a partir de imagens de SO fornecidas pelo GDC.
gdcloud
Selecione uma imagem fornecida pelo GDC para criar a instância da VM:
gdcloud compute instances create VM_NAME \
--machine-type=MACHINE_TYPE \
--image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
--boot-disk-size=BOOT_DISK_SIZE \
--no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
Substitua o seguinte:
Variável | Definição |
---|---|
VM_NAME |
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. |
BOOT_DISK_IMAGE_NAME |
O nome da imagem a usar para o disco de arranque da nova VM. |
BOOT_DISK_SIZE |
O tamanho do disco de arranque, como 20G .Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque. |
NO_BOOT_DISK_AUTO_DELETE |
true ou false , indicando o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada. |
MACHINE_TYPE |
O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute este comando:
gdcloud compute machine-types list
|
API
Selecione uma imagem fornecida pelo dispositivo isolado do GDC para criar a instância da VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply -n PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: VM_BOOT_DISK_NAME spec: source: image: name: BOOT_DISK_IMAGE_NAME namespace: vm-system size: BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineType: MACHINE_TYPE disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true autoDelete: BOOT_DISK_AUTO_DELETE EOF
Substitua o seguinte:
Variável Definição MANAGEMENT_API_SERVER
O caminho do servidor da API Management. kubeconfig
PROJECT
O projeto do dispositivo isolado do GDC para criar a VM. VM_NAME
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. VM_BOOT_DISK_NAME
O nome do disco de arranque da nova VM. BOOT_DISK_IMAGE_NAME
O nome da imagem a usar para o disco de arranque da nova VM. BOOT_DISK_SIZE
O tamanho do disco de arranque, como 20G
.
Este valor tem de ser sempre igual ou superior aominimumDiskSize
da imagem do disco de arranque.BOOT_DISK_AUTO_DELETE
true
oufalse
, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.MACHINE_TYPE
O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute este comando:
gdcloud compute machine-types list
Verifique se a VM foi criada e aguarde até que a VM mostre que está no estado
Running
. O estadoRunning
não indica que o SO está totalmente pronto e acessível.kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
Substitua
VM_NAME
ePROJECT
pelo nome e projeto da VM.VM_NAME
só pode conter carateres alfanuméricos e travessões.Para adicionar um script de arranque à criação de instâncias de VMs, siga os passos indicados na página Use um script de arranque com uma instância de VM. Certifique-se de que encerra a VM antes de adicionar o script.
Crie uma instância de VM 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.
gdcloud
Listar todas as imagens personalizadas:
gdcloud compute images list --no-standard-images=true
Crie a instância de VM:
gdcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image=BOOT_DISK_IMAGE_NAME \ --boot-disk-size=BOOT_DISK_SIZE \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
Substitua o seguinte:
Variável Definição VM_NAME
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. BOOT_DISK_IMAGE_NAME
O nome da imagem a usar para o disco de arranque da nova VM. BOOT_DISK_SIZE
O tamanho do disco de arranque, como 20G
.
Este valor tem de ser sempre igual ou superior aominimumDiskSize
da imagem do disco de arranque.NO_BOOT_DISK_AUTO_DELETE
true
oufalse
, indicando o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.MACHINE_TYPE
O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute este comando:
gdcloud compute machine-types list
API
Listar todas as imagens personalizadas:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
Obtenha o
minimumDiskSize
de uma imagem específica para criar uma instância de VM:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT \ BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
Substitua o seguinte:
Variável Definição MANAGEMENT_API_SERVER
O caminho do servidor da API Management. kubeconfig
BOOT_DISK_IMAGE_NAME
O nome da imagem escolhida a partir do comando para listar todas as imagens personalizadas. PROJECT
O projeto da imagem. Crie a instância de VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply -n PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: VM_BOOT_DISK_NAME spec: source: image: name: BOOT_DISK_IMAGE_NAME size: BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineType: MACHINE_TYPE disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true autoDelete: BOOT_DISK_AUTO_DELETE EOF
Substitua as variáveis pelas seguintes definições:
Variável Definição MANAGEMENT_API_SERVER
O ficheiro kubeconfig
do servidor da API Management.PROJECT
O projeto do dispositivo isolado do GDC para criar a VM. VM_NAME
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. VM_BOOT_DISK_NAME
O nome do disco de arranque da nova VM. BOOT_DISK_IMAGE_NAME
O nome da imagem a usar para o disco de arranque da nova VM. BOOT_DISK_SIZE
O tamanho do disco de arranque, como 20G
.
Este valor tem de ser sempre igual ou superior aominimumDiskSize
da imagem do disco de arranque.BOOT_DISK_AUTO_DELETE
true
oufalse
, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.MACHINE_TYPE
O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute este comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
Verifique se a VM foi criada e aguarde até que a VM mostre que está no estado
Running
. O estadoRunning
não indica que o SO está totalmente pronto e acessível.kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
Substitua
VM_NAME
ePROJECT
pelo nome e projeto da VM.VM_NAME
só pode conter carateres alfanuméricos e travessões.
Crie uma instância de VM com discos não de arranque adicionais
Pode criar discos não de arranque quando cria uma VM. Cada disco adicional pode especificar uma origem de imagem ou não. O último caso destina-se à criação de um disco em branco.
gdcloud
Crie um disco a partir de uma imagem:
gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \ --size=NON_BOOT_DISK_SIZE \ --image=NON_BOOT_DISK_IMAGE_NAME \ --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
Crie um disco a partir de uma imagem em branco:
gdcloud compute disks create NON_BOOT_BLANK_DISK \ --size=NON_BOOT_BLANK_DISK_SIZE \
Crie uma instância com os discos do passo anterior:
gdcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \ --boot-disk-size=BOOT_DISK_SIZE \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \ --disk=name=NON_BOOT_DISK_FROM_IMAGE \ --disk=name=NON_BOOT_BLANK_DISK
Substitua o seguinte:
Variável Definição VM_NAME
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. BOOT_DISK_IMAGE_NAME
O nome da imagem a usar para o disco de arranque da nova VM. BOOT_DISK_IMAGE_NAMESPACE
O espaço de nomes da imagem a usar para o disco de arranque da nova VM. Use vm-system
para uma imagem fornecida pelo GDC ou deixe o campo em branco para uma imagem personalizada.BOOT_DISK_SIZE
O tamanho do disco de arranque, como 20G
.
Este valor tem de ser sempre igual ou superior aominimumDiskSize
da imagem do disco de arranque.NO_BOOT_DISK_AUTO_DELETE
true
oufalse
, indicando o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.MACHINE_TYPE
O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute este comando:
gdcloud compute machine-types list
Para discos adicionais, substitua o seguinte:
NON_BOOT_DISK_FROM_IMAGE
,NON_BOOT_BLANK_DISK
: o nome do disco adicional.NON_BOOT_DISK_SIZE
,NON_BOOT_BLANK_DISK_SIZE
: o tamanho dos discos adicionais, por exemplo,20G
.NON_BOOT_DISK_IMAGE_NAME
: o nome da imagem a usar como um disco não de arranque.NON_BOOT_DISK_IMAGE_NAMESPACE
: o espaço de nomes da imagem a usar como um disco não de arranque. Usevm-system
para uma imagem fornecida pelo GDC ou deixe o campo em branco para uma imagem personalizada.
API
- Crie uma VM com um disco que não seja de arranque:
kubectl --kubeconfig MANAGEMENT_API_SERVER \
apply -n PROJECT -f - <<EOF
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
name: NON_BOOT_DISK_FROM_IMAGE
spec:
source:
image:
name: NON_BOOT_DISK_IMAGE_NAME
namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
size: NON_BOOT_DISK_SIZE
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
name: NON_BOOT_BLANK_DISK
spec:
size: NON_BOOT_BLANK_DISK_SIZE
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
name: VM_BOOT_DISK_NAME
spec:
source:
image:
name: BOOT_DISK_IMAGE_NAME
namespace: BOOT_DISK_IMAGE_NAMESPACE
size: BOOT_DISK_SIZE
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachine
metadata:
name: VM_NAME
spec:
compute:
virtualMachineType: MACHINE_TYPE
disks:
- virtualMachineDiskRef:
name: VM_BOOT_DISK_NAME
boot: true
autoDelete: BOOT_DISK_AUTO_DELETE
- virtualMachineDiskRef:
name: NON_BOOT_DISK_FROM_IMAGE
- virtualMachineDiskRef:
name: NON_BOOT_BLANK_DISK
EOF
Substitua o seguinte:
Variável | Definição |
---|---|
MANAGEMENT_API_SERVER |
O caminho do servidor da API Management.kubeconfig |
PROJECT |
O projeto do GDC no qual quer criar a VM. |
VM_NAME |
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. |
VM_BOOT_DISK_NAME |
O nome do disco de arranque da nova VM. |
BOOT_DISK_IMAGE_NAME |
O nome da imagem a usar para o disco de arranque da nova VM. |
BOOT_DISK_IMAGE_NAMESPACE |
O espaço de nomes da imagem a usar para o disco de arranque da nova VM. Use o espaço de nomes vm-system para uma imagem fornecida pelo GDC ou deixe em branco para uma imagem personalizada. |
BOOT_DISK_SIZE |
O tamanho do disco de arranque, como 20G .Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque. |
BOOT_DISK_AUTO_DELETE |
true ou false , que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada. |
MACHINE_TYPE |
O tipo de máquina predefinido para a nova VM. Para selecionar um tipo de máquina disponível, execute este comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
Para discos adicionais, substitua o seguinte:
NON_BOOT_DISK_FROM_IMAGE
,NON_BOOT_BLANK_DISK
: o nome do disco adicional.NON_BOOT_DISK_SIZE
,NON_BOOT_BLANK_DISK_SIZE
: o tamanho dos discos adicionais, por exemplo,20G
.NON_BOOT_DISK_IMAGE_NAME
: o nome da imagem que quer usar como um disco não inicializável.NON_BOOT_DISK_IMAGE_NAMESPACE
: o espaço de nomes da imagem que quer usar como um disco não de arranque. Use o espaço de nomesvm-system
para uma imagem fornecida pelo GDC ou deixe em branco para uma imagem personalizada.
Formate e monte os discos antes de os usar.
Crie uma VM a partir de um instantâneo ou de uma cópia de segurança
Pode criar uma nova VM a partir de uma captura de ecrã das seguintes formas:
- Restaurar um disco de arranque de VM: se fez uma cópia de segurança de um disco de arranque de uma VM com um instantâneo, use esse instantâneo para criar uma nova VM. Consulte o artigo Restaure uma cópia instantânea.
- Restaurar um disco de não arranque: se fez uma cópia de segurança de um disco de não arranque com um instantâneo, também pode restaurar o instantâneo para um novo disco de não arranque quando cria uma VM, seguindo as mesmas instruções.
Para criar mais do que uma VM com o mesmo disco de arranque, faça o seguinte:
- Crie uma imagem personalizada.
- Crie VMs a partir dessa imagem sem usar um instantâneo.
Crie uma VM sem usar o tipo de máquina
O dispositivo isolado do GDC oferece tipos de máquinas predefinidos que pode usar quando cria uma instância da VM. Um tipo de máquina predefinido tem um número predefinido de vCPUs e uma quantidade de memória.
Se as VMs predefinidas não satisfizerem as suas necessidades, crie uma instância de VM com definições de hardware virtualizado personalizadas.
As VMs personalizadas são ideais nos seguintes cenários:
- Cargas de trabalho que não são aplicáveis aos tipos de VMs predefinidos.
Cargas de trabalho que requerem mais capacidade de processamento ou mais memória, mas não precisam de todas as atualizações que o tipo de máquina de nível seguinte oferece.
gdcloud
Crie uma VM com um tipo de máquina que definir:
gdcloud compute instances create VM_NAME \ --custom-cpu=NUM_VCPU \ --custom-memory=MEMORY --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \ --boot-disk-size=BOOT_DISK_SIZE \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
Substitua o seguinte:
Variável Definição VM_NAME
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. BOOT_DISK_IMAGE_NAME
O nome da imagem a usar para o disco de arranque da nova VM. BOOT_DISK_SIZE
O tamanho do disco de arranque, como 20G
.
Este valor tem de ser sempre igual ou superior aominimumDiskSize
da imagem do disco de arranque.NO_BOOT_DISK_AUTO_DELETE
true
oufalse
, indicando o inverso de se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.NUM_VCPU
O número de vCPUs. O número máximo de vCPUs suportadas é 192. MEMORY
O tamanho da memória, como 8G
. O tamanho máximo da memória é de um terabyte (TB).
API
Crie uma VM com um tipo de máquina que definir:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply -n PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: VM_BOOT_DISK_NAME spec: source: image: name: BOOT_DISK_IMAGE_NAME namespace: vm-system size: BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: vcpus: NUM_VCPU memory: MEMORY disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true autoDelete: BOOT_DISK_AUTO_DELETE EOF
Substitua o seguinte:
Variável Definição MANAGEMENT_API_SERVER
O caminho do servidor da API Management. kubeconfig
PROJECT
O projeto do dispositivo isolado do GDC para criar a VM. VM_NAME
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. VM_BOOT_DISK_NAME
O nome do disco de arranque da nova VM. BOOT_DISK_IMAGE_NAME
O nome da imagem a usar para o disco de arranque da nova VM. BOOT_DISK_SIZE
O tamanho do disco de arranque, como 20G
.
Este valor tem de ser sempre igual ou superior aominimumDiskSize
da imagem do disco de arranque.BOOT_DISK_AUTO_DELETE
true
oufalse
, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada.NUM_VCPU
O número de vCPUs. O número máximo de vCPUs suportadas é 192. MEMORY
O tamanho da memória, como 8G
. O tamanho máximo da memória é de 1 TB.