Questa pagina fornisce istruzioni per creare un'istanza di macchina virtuale (VM) utilizzando un'immagine disco di avvio o uno snapshot del disco di avvio.
Puoi creare una VM con uno o più dischi. Puoi anche aggiungere dischi alla tua VM dopo la creazione. L'appliance con air gap di Google Distributed Cloud (GDC) avvia automaticamente l'istanza VM dopo la creazione.
Puoi aggiungere script di avvio a una VM, prima o dopo la creazione. Per scoprire di più sugli script di avvio, consulta la pagina Utilizzare uno script di avvio con un'istanza VM.
Prima di iniziare
Per utilizzare i comandi dell'interfaccia a riga di comando (CLI) gdcloud
, assicurati di aver scaricato, installato e configurato la CLI gdcloud
.
Tutti i comandi per l'appliance GDC air-gapped utilizzano la CLI gdcloud
o
kubectl
e richiedono un ambiente del sistema operativo (OS).
Recupera il percorso del file kubeconfig
Per eseguire comandi sul server API Management, assicurati di disporre delle seguenti risorse:
Individua il nome del server dell'API Management o chiedi all'amministratore della piattaforma (PA) qual è il nome del server.
Accedi e genera il file kubeconfig per il server API Management se non ne hai uno.
Utilizza il percorso per sostituire
MANAGEMENT_API_SERVER{"</var>"}}
in queste istruzioni.
Richiedere autorizzazioni e accesso
Per eseguire le attività elencate in questa pagina, devi disporre del ruolo Amministratore
macchina virtuale progetto. Segui i passaggi per verificare o chiedere all'amministratore IAM progetto di assegnarti il ruolo Amministratore VirtualMachine progetto (project-vm-admin
) nello spazio dei nomi del progetto in cui si trova la VM.
Per le operazioni sulle VM che utilizzano la console GDC o gcloud CLI,
chiedi all'amministratore IAM del progetto di assegnarti sia il ruolo
Project VirtualMachine Admin sia il ruolo Project Viewer (project-viewer
).
Crea un'istanza VM da un'immagine
Questa sezione mostra come creare una VM da un'immagine sistema operativo fornita da GDC o da un'immagine sistema operativo personalizzata.
Visualizza un elenco di immagini fornite da GDC disponibili
Prima di creare una VM utilizzando un'immagine fornita da GDC, esamina l'elenco delle immagini disponibili.
gdcloud
Elenca tutte le immagini disponibili e la relativa dimensione minima del disco:
gdcloud compute images list
Questo comando include sia le immagini fornite da GDC sia quelle personalizzate. Scegli una delle due immagini nello spazio dei nomi vm-system
.
API
Elenca tutte le immagini fornite da GDC disponibili:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
Ottieni l'
minimumDiskSize
per una determinata immagine fornita da GDC:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system \ BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
Sostituisci quanto segue:
MANAGEMENT_API_SERVER
conkubeconfig
per il server dell'API Management.BOOT_DISK_IMAGE_NAME
con il nome dell'immagine.
Crea un'istanza VM da un'immagine fornita da GDC
Per impostazione predefinita, tutti i progetti GDC possono creare VM da immagini sistema operativo fornite da GDC.
gdcloud
Seleziona un'immagine fornita da GDC per creare l'istanza 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
Sostituisci quanto segue:
Variabile | Definizione |
---|---|
VM_NAME |
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. |
BOOT_DISK_IMAGE_NAME |
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. |
BOOT_DISK_SIZE |
Le dimensioni del disco di avvio, ad esempio 20G .Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio. |
NO_BOOT_DISK_AUTO_DELETE |
true o false , che indica l'inverso
dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM. |
MACHINE_TYPE |
Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina
disponibile, esegui questo comando:
gdcloud compute machine-types list
|
API
Seleziona un'immagine fornita dall'appliance GDC air-gapped per creare l'istanza 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
Sostituisci quanto segue:
Variabile Definizione MANAGEMENT_API_SERVER
Il percorso del server API Management kubeconfig
.PROJECT
Il progetto dell'appliance GDC air-gapped per creare la VM. VM_NAME
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. VM_BOOT_DISK_NAME
Il nome del nuovo disco di avvio della VM. BOOT_DISK_IMAGE_NAME
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. BOOT_DISK_SIZE
Le dimensioni del disco di avvio, ad esempio 20G
.
Questo valore deve essere sempre maggiore o uguale aminimumDiskSize
dell'immagine del disco di avvio.BOOT_DISK_AUTO_DELETE
true
ofalse
, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.MACHINE_TYPE
Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui questo comando:
gdcloud compute machine-types list
Verifica che la VM sia stata creata e attendi che mostri lo stato
Running
. Lo statoRunning
non indica che il sistema operativo è completamente pronto e accessibile.kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
Sostituisci
VM_NAME
ePROJECT
con il nome e il progetto della VM.VM_NAME
deve contenere solo caratteri alfanumerici e trattini.Per aggiungere uno script di avvio alla creazione dell'istanza VM, segui i passaggi forniti nella pagina Utilizzare uno script di avvio con un'istanza VM. Assicurati di arrestare la VM prima di aggiungere lo script.
Crea un'istanza VM da un'immagine personalizzata
Un'immagine personalizzata appartiene esclusivamente al tuo progetto. Per creare una VM con un'immagine personalizzata, devi prima creare un'immagine personalizzata nello stesso progetto, se non ne hai già una.
gdcloud
Elenca tutte le immagini personalizzate:
gdcloud compute images list --no-standard-images=true
Crea l'istanza 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
Sostituisci quanto segue:
Variabile Definizione VM_NAME
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. BOOT_DISK_IMAGE_NAME
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. BOOT_DISK_SIZE
Le dimensioni del disco di avvio, ad esempio 20G
.
Questo valore deve essere sempre maggiore o uguale aminimumDiskSize
dell'immagine del disco di avvio.NO_BOOT_DISK_AUTO_DELETE
true
ofalse
, che indica l'inverso dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM.MACHINE_TYPE
Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui questo comando:
gdcloud compute machine-types list
API
Elenca tutte le immagini personalizzate:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
Recupera
minimumDiskSize
di un'immagine specifica per creare un'istanza VM:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT \ BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
Sostituisci quanto segue:
Variabile Definizione MANAGEMENT_API_SERVER
Il percorso del server API Management kubeconfig
.BOOT_DISK_IMAGE_NAME
Il nome dell'immagine scelta dal comando per elencare tutte le immagini personalizzate. PROJECT
Il progetto dell'immagine. Crea l'istanza 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
Sostituisci le variabili utilizzando le seguenti definizioni:
Variabile Definizione MANAGEMENT_API_SERVER
Il file kubeconfig
del server API Management.PROJECT
Il progetto dell'appliance GDC air-gapped per creare la VM. VM_NAME
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. VM_BOOT_DISK_NAME
Il nome del nuovo disco di avvio della VM. BOOT_DISK_IMAGE_NAME
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. BOOT_DISK_SIZE
Le dimensioni del disco di avvio, ad esempio 20G
.
Questo valore deve essere sempre maggiore o uguale aminimumDiskSize
dell'immagine del disco di avvio.BOOT_DISK_AUTO_DELETE
true
ofalse
, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.MACHINE_TYPE
Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui questo comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
Verifica che la VM sia stata creata e attendi che mostri lo stato
Running
. Lo statoRunning
non indica che il sistema operativo è completamente pronto e accessibile.kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
Sostituisci
VM_NAME
ePROJECT
con il nome e il progetto della VM.VM_NAME
deve contenere solo caratteri alfanumerici e trattini.
Crea un'istanza VM con dischi non di avvio aggiuntivi
Puoi creare dischi non di avvio quando crei una VM. Ogni disco aggiuntivo può specificare o meno un'origine immagine. Quest'ultimo caso riguarda la creazione di un disco vuoto.
gdcloud
Crea un disco da un'immagine:
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
Crea un disco da un'immagine vuota:
gdcloud compute disks create NON_BOOT_BLANK_DISK \ --size=NON_BOOT_BLANK_DISK_SIZE \
Crea un'istanza con i dischi del passaggio precedente:
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
Sostituisci quanto segue:
Variabile Definizione VM_NAME
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. BOOT_DISK_IMAGE_NAME
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. BOOT_DISK_IMAGE_NAMESPACE
Lo spazio dei nomi dell'immagine da utilizzare per il nuovo disco di avvio della VM. Utilizza vm-system
per un'immagine fornita da GDC oppure lascia vuoto il campo per un'immagine personalizzata.BOOT_DISK_SIZE
Le dimensioni del disco di avvio, ad esempio 20G
.
Questo valore deve essere sempre maggiore o uguale aminimumDiskSize
dell'immagine del disco di avvio.NO_BOOT_DISK_AUTO_DELETE
true
ofalse
, che indica l'inverso dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM.MACHINE_TYPE
Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui questo comando:
gdcloud compute machine-types list
Per dischi aggiuntivi, sostituisci quanto segue:
NON_BOOT_DISK_FROM_IMAGE
,NON_BOOT_BLANK_DISK
: il nome del disco aggiuntivo.NON_BOOT_DISK_SIZE
,NON_BOOT_BLANK_DISK_SIZE
: le dimensioni dei dischi aggiuntivi, ad esempio20G
.NON_BOOT_DISK_IMAGE_NAME
: il nome dell'immagine da utilizzare come disco non di avvio.NON_BOOT_DISK_IMAGE_NAMESPACE
: lo spazio dei nomi dell'immagine da utilizzare come disco non di avvio. Utilizzavm-system
per un'immagine fornita da GDC o lascia vuoto il campo per un'immagine personalizzata.
API
- Crea una VM con un disco non di avvio:
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
Sostituisci quanto segue:
Variabile | Definizione |
---|---|
MANAGEMENT_API_SERVER |
Il percorso del server API Management kubeconfig . |
PROJECT |
Il progetto GDC in cui vuoi creare la VM. |
VM_NAME |
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. |
VM_BOOT_DISK_NAME |
Il nome del nuovo disco di avvio della VM. |
BOOT_DISK_IMAGE_NAME |
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. |
BOOT_DISK_IMAGE_NAMESPACE |
Lo spazio dei nomi dell'immagine da utilizzare per il nuovo disco di avvio della VM. Utilizza lo spazio dei nomi vm-system per un'immagine fornita da GDC o lascia vuoto per un'immagine personalizzata. |
BOOT_DISK_SIZE |
Le dimensioni del disco di avvio, ad esempio 20G .Questo valore deve essere sempre maggiore o uguale a minimumDiskSize dell'immagine del disco di avvio. |
BOOT_DISK_AUTO_DELETE |
true o false , che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM. |
MACHINE_TYPE |
Il tipo di macchina predefinita per la nuova VM. Per selezionare un tipo di macchina disponibile, esegui questo comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
Per dischi aggiuntivi, sostituisci quanto segue:
NON_BOOT_DISK_FROM_IMAGE
,NON_BOOT_BLANK_DISK
: il nome del disco aggiuntivo.NON_BOOT_DISK_SIZE
,NON_BOOT_BLANK_DISK_SIZE
: le dimensioni dei dischi aggiuntivi, ad esempio20G
.NON_BOOT_DISK_IMAGE_NAME
: il nome dell'immagine che vuoi utilizzare come disco non di avvio.NON_BOOT_DISK_IMAGE_NAMESPACE
: lo spazio dei nomi dell'immagine che vuoi utilizzare come disco non di avvio. Utilizza lo spazio dei nomivm-system
per un'immagine fornita da GDC o lascia vuoto per un'immagine personalizzata.
Formatta e monta i dischi prima di utilizzarli.
Crea una VM da uno snapshot o un backup
Puoi creare una nuova VM da uno snapshot nei seguenti modi:
- Ripristina un disco di avvio della VM: se hai eseguito il backup di un disco di avvio di una VM con uno snapshot, utilizza questo snapshot per creare una nuova VM. Consulta Ripristinare uno snapshot.
- Ripristina un disco non di avvio:se hai eseguito il backup di un disco non di avvio con uno snapshot, puoi anche ripristinare lo snapshot su un nuovo disco non di avvio quando crei una VM, utilizzando le stesse istruzioni.
Per creare più VM con lo stesso disco di avvio, segui questi passaggi:
- Crea un'immagine personalizzata.
- Crea VM da questa immagine senza utilizzare uno snapshot.
Crea una VM senza utilizzare il tipo di macchina
L'appliance air-gapped GDC offre tipi di macchine predefiniti che puoi utilizzare quando crei un'istanza VM. Un tipo di macchina predefinita ha un numero di vCPU e una quantità di memoria preimpostati.
Se le VM predefinite non soddisfano le tue esigenze, crea un'istanza VM con impostazioni dell'hardware virtualizzato personalizzate.
Le VM personalizzate sono ideali nei seguenti scenari:
- Workload non applicabili ai tipi di VM predefiniti.
Workload che richiedono più potenza di elaborazione o più memoria, ma non tutti gli upgrade forniti dal tipo di macchina di livello superiore.
gdcloud
Crea una VM con un tipo di macchina che definisci:
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
Sostituisci quanto segue:
Variabile Definizione VM_NAME
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. BOOT_DISK_IMAGE_NAME
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. BOOT_DISK_SIZE
Le dimensioni del disco di avvio, ad esempio 20G
.
Questo valore deve essere sempre maggiore o uguale aminimumDiskSize
dell'immagine del disco di avvio.NO_BOOT_DISK_AUTO_DELETE
true
ofalse
, che indica l'inverso dell'eliminazione automatica del disco di avvio quando viene eliminata l'istanza VM.NUM_VCPU
Il numero di vCPU. Il numero massimo di vCPU supportate è 192. MEMORY
Le dimensioni della memoria, ad esempio 8G
. La dimensione massima della memoria è un terabyte (TB).
API
Crea una VM con un tipo di macchina che definisci:
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
Sostituisci quanto segue:
Variabile Definizione MANAGEMENT_API_SERVER
Il percorso del server API Management kubeconfig
.PROJECT
Il progetto dell'appliance GDC air-gapped per creare la VM. VM_NAME
Il nome della nuova VM. Il nome deve contenere solo caratteri alfanumerici e trattini e non deve superare i 53 caratteri. VM_BOOT_DISK_NAME
Il nome del nuovo disco di avvio della VM. BOOT_DISK_IMAGE_NAME
Il nome dell'immagine da utilizzare per il disco di avvio della nuova VM. BOOT_DISK_SIZE
Le dimensioni del disco di avvio, ad esempio 20G
.
Questo valore deve essere sempre maggiore o uguale aminimumDiskSize
dell'immagine del disco di avvio.BOOT_DISK_AUTO_DELETE
true
ofalse
, che indica se il disco di avvio viene eliminato automaticamente quando viene eliminata l'istanza VM.NUM_VCPU
Il numero di vCPU. Il numero massimo di vCPU supportate è 192. MEMORY
Le dimensioni della memoria, ad esempio 8G
. La dimensione massima della memoria è 1 TB.