Esegui il provisioning delle VM sui nodi single-tenant


Questa pagina descrive come eseguire il provisioning delle VM sui nodi single-tenant, e server fisici che eseguono le VM solo da un singolo progetto. Prima di eseguire il provisioning delle VM sui nodi single-tenant, leggi la panoramica dei nodi single-tenant.

Il provisioning di una VM su un nodo single-tenant richiede quanto segue:

  1. Creazione di un modello di nodo single-tenant. Il modello di nodo single-tenant specifica proprietà uniformi per tutti i nodi single-tenant in un gruppo di nodi single-tenant.

  2. Creazione di un gruppo di nodi single-tenant utilizzando il modello di nodo single-tenant creato in precedenza.

  3. Creazione di VM e relativo provisioning in un gruppo di nodi single-tenant.

Prima di iniziare

  • Prima di eseguire il provisioning delle VM su un nodo single-tenant, verifica la tua quota. A seconda del numero e delle dimensioni dei nodi che prenoti, potrebbe essere necessario richiedere una quota aggiuntiva.
  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Creare un modello di nodo single-tenant

Modelli di nodi single-tenant sono risorse di regione che specificano le proprietà dei gruppi di nodi single-tenant. Tu devi creare un modello di nodo prima di creare un gruppo di nodi. Tuttavia, se utilizzi la console Google Cloud, devi creare modelli di nodi durante la creazione di un gruppo di nodi monoproprietario.

Console

Devi creare un modello di nodo single-tenant prima di creare un gruppo di nodi. Utilizzando la console Google Cloud, devi creare il modello di nodo durante la creazione di un gruppo di nodi monoproprietario. Il nuovo modello di nodo viene creato nella stessa regione specificata nelle proprietà del gruppo di nodi.

  1. Nella console Google Cloud, vai alla pagina Nodi di proprietà esclusiva.

    Vai ai nodi single-tenant

  2. Fai clic su Crea gruppo di nodi.

  3. Specifica un nome per il gruppo di nodi.

  4. Specifica una regione in cui creare il modello di nodo. Puoi utilizzare il nodo per creare gruppi di nodi in qualsiasi zona di questa regione.

  5. Specifica la Zona e fai clic su Continua.

  6. Nell'elenco Modello di nodo, fai clic su Crea modello di nodo per iniziare creando un modello di nodo single-tenant.

  7. Specifica un nome per il modello di nodo.

  8. Specifica il tipo di nodo per ogni nodo single-tenant nel gruppo di nodi da creare in base a questo modello di nodo.

  9. (Facoltativo) Puoi anche specificare le seguenti proprietà per il nodo modello.

    • Aggiungi un SSD locale e un acceleratore GPU.
    • Seleziona Abilita overcommit della CPU per controllare l'overcommit della CPU per ogni VM pianificata sul nodo.

    • Aggiungi Etichette di affinità dei nodi. Le etichette di affinità ti consentono di raggruppare logicamente i nodi e i gruppi di nodi e, in un secondo momento, durante il provisioning delle VM, puoi specificare le etichette di affinità sulle VM per pianificarle su un insieme specifico di nodi o gruppi di nodi. Per ulteriori informazioni, consulta Affinità dei nodi e anti-affinità.

  10. Fai clic su Crea per completare la creazione del modello di nodo.

  11. (Facoltativo) Per aggiungere un nuovo modello di nodo di proprietà esclusiva in una regione diversa, ripeti i passaggi precedenti.

Per visualizzare i modelli di nodo, fai clic su Modelli di nodo nella pagina Nodi single-tenant.

gcloud

Utilizza il comando gcloud compute sole-tenancy node-templates create per creare un modello di nodo:

gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \
  --node-type=NODE_TYPE \
  [--region=REGION \]
  [--node-affinity-labels=AFFINITY_LABELS \]
  [--accelerator type=GPU_TYPE,count=GPU_COUNT \]
  [--disk type=local-ssd,count=DISK_COUNT,size=DISK_SIZE \]
  [--cpu-overcommit-type=CPU_OVERCOMMIT_TYPE]

Sostituisci quanto segue:

  • TEMPLATE_NAME: il nome del nuovo modello di nodo.

  • NODE_TYPE: il tipo di nodo per i nodi single-tenant creati in base a questo modello. Usa il comando gcloud compute sole-tenancy node-types list per ottenere un elenco dei tipi di nodi disponibili in ciascuna zona.

  • REGION: la regione in cui creare il modello di nodo. Puoi utilizzare questo modello per creare gruppi di nodi in qualsiasi zona di questo regione.

  • AFFINITY_LABELS: le chiavi e i valori, [KEY=VALUE,...], per le etichette di affinità. Le etichette di affinità consentono raggruppi i nodi e i gruppi di nodi in modo logico e in seguito, durante il provisioning alle VM, puoi specificare etichette di affinità sulle VM per pianificare le VM un insieme specifico di nodi o gruppi di nodi. Per ulteriori informazioni, consulta Affinità e anti-affinità dei nodi.

  • GPU_TYPE: il tipo di GPU per ogni node di proprietà singola creato in base a questo modello di nodo. Per informazioni sulla disponibilità delle GPU a livello di zona, utilizza il comando gcloud compute accelerator-types list e scegli una zona in cui è disponibile il tipo di nodo n1 o g2 per l'uso esclusivo del cliente. A seconda della disponibilità a livello di zona, imposta una delle seguenti opzioni:

    • nvidia-l4
    • nvidia-tesla-p100
    • nvidia-tesla-p4
    • nvidia-tesla-t4
    • nvidia-tesla-v100
  • GPU_COUNT: il numero di GPU da specificare in base al tipo di GPU. Imposta il valore specificato per il tipo di GPU come mostrato nella tabella seguente:

    GPU_TYPE GPU_COUNT
    nvidia-l4 8
    nvidia-tesla-p100 4
    nvidia-tesla-p4 4
    nvidia-tesla-t4 4
    nvidia-tesla-v100 8
  • DISK_COUNT: numero di dischi SSD. Imposta su 16 o 24.

  • DISK_SIZE: valore facoltativo per la dimensione della partizione dell'SSD locale in GB. L'unica dimensione della partizione supportata è 375 e, se non imposti questo valore, il valore predefinito è 375.

  • CPU_OVERCOMMIT_TYPE: il tipo di overcommit per le CPU su una VM. Da impostare su enabled o none.

REST

Utilizza il metodo nodeTemplates.insert per creare un modello di nodo:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates

{
  "name": "TEMPLATE_NAME",
  "nodeType": "NODE_TYPE",
  "nodeAffinityLabels": {
    "KEY": "VALUE",
    ...
  },
  "accelerators": [
    {
      "acceleratorType": "GPU_TYPE",
      "acceleratorCount": GPU_COUNT
    }
  ],
  "disks": [
    {
      "diskType": "local-ssd",
      "diskSizeGb": DISK_SIZE,
      "diskCount": DISK_COUNT
    }
  ],
  "cpuOvercommitType": CPU_OVERCOMMIT_TYPE
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto.

  • REGION: la regione in cui creare il modello di nodo. Puoi utilizzare questo modello per creare gruppi di nodi in qualsiasi zona di questa regione.

  • TEMPLATE_NAME: il nome del nuovo modello di nodo.

  • NODE_TYPE: il tipo di nodo per i nodi single-tenant creati in base a questo modello. Utilizza il metodo nodeTypes.list per ottenere un elenco dei tipi di nodi disponibili in ogni zona.

  • KEY: il valore nodeAffinityLabels che specifica la parte relativa alla chiave di un'etichetta di affinità nodo espressa come coppia chiave-valore. Le etichette di affinità ti consentono di raggruppare logicamente i nodi e i gruppi di nodi e, in un secondo momento, quando esegui il provisioning delle VM, puoi specificare le etichette di affinità sulle VM per pianificarle su un insieme specifico di nodi o gruppi di nodi. Per maggiori informazioni informazioni, consulta Affinità dei nodi e anti-affinità.

  • VALUE: il valore nodeAffinityLabels che specifica la parte relativa al valore di una coppia chiave-valore di etichetta di affinità nodo.

  • GPU_TYPE: il tipo di GPU per ogni single-tenant nodo creato in base a questo modello di nodo. Per informazioni sulla disponibilità delle GPU a livello di zona, utilizza il comando gcloud compute accelerator-types list e scegli una zona in cui è disponibile il tipo di nodo n1 o g2 per l'uso esclusivo del cliente. A seconda della disponibilità a livello di zona, imposta una delle seguenti opzioni:

    • nvidia-l4
    • nvidia-tesla-p100
    • nvidia-tesla-p4
    • nvidia-tesla-t4
    • nvidia-tesla-v100
  • GPU_COUNT: il numero di GPU per ogni node di proprietà esclusiva creato in base a questo modello di nodo. Imposta il valore specificato per il parametro tipo di GPU, come illustrato nella seguente tabella:

    GPU_TYPE GPU_COUNT
    nvidia-l4 8
    nvidia-tesla-p100 4
    nvidia-tesla-p4 4
    nvidia-tesla-t4 4
    nvidia-tesla-v100 8
  • DISK_SIZE: valore facoltativo per la dimensione della partizione dell'SSD locale in GB. L'unica dimensione della partizione supportata è 375 e se se non imposti questo valore, il valore predefinito è 375.

  • DISK_COUNT: numero di dischi SSD. Imposta su 16 o 24,

  • CPU_OVERCOMMIT_TYPE: tipo di overcommit della CPU. Imposta su enabled, none o CPU_OVERCOMMIT_TYPE_UNSPECIFIED.

Crea un gruppo di nodi single-tenant

Con il modello di nodo single-tenant creato in precedenza, crea un nodo single-tenant gruppo. Un gruppo di nodi single-tenant eredita le proprietà specificate dal single-tenant modello di nodo e ha valori aggiuntivi che devi specificare.

Console

  1. Nella console Google Cloud, vai alla pagina Nodi single-tenant.

    Vai a Nodi single-tenant

  2. Fai clic su Crea gruppo di nodi per iniziare a creare un gruppo di nodi.

  3. Specifica un nome per il gruppo di nodi.

  4. Specifica la Regione per il gruppo di nodi per visualizzare il nodo disponibile modelli in quella regione.

  5. Specifica la Zona all'interno della regione in cui creare il gruppo di nodi.

  6. Specifica il modello di nodo per creare il gruppo di nodi oppure fai clic su Crea modello di nodo per creare un nuovo modello di nodo single-tenant. Il modello di nodo selezionato viene applicato al gruppo di nodi.

  7. Scegli una delle seguenti opzioni per la Modalità di scalabilità automatica per il nodo gestore della scalabilità automatica dei gruppi:

    • Off: gestisci manualmente la dimensione del nodo gruppo.

    • On: i nodi vengono aggiunti o rimossi automaticamente dal gruppo di nodi.

    • Solo scale out: aggiungi nodi al gruppo di nodi quando sono aggiuntivi è richiesta.

  8. Specifica il Numero di nodi per il gruppo. Se attivi la scalabilità automatica del gruppo di nodi, specifica un intervallo per le dimensioni del gruppo di nodi. Puoi modificare manualmente i valori in un secondo momento.

  9. Imposta il criterio di manutenzione del gruppo di nodi di proprietà esclusiva nella sezione Configura le impostazioni di manutenzione su uno dei seguenti valori. Il criterio di manutenzione consente di configurare il comportamento delle VM sul nodo durante gli eventi di manutenzione dell'host. Per ulteriori informazioni, consulta Criteri di manutenzione.

    • Predefinito
    • Riavvio in loco
    • Eseguire la migrazione all'interno del gruppo di nodi
  10. Puoi scegliere tra periodi di manutenzione regolari e controllo di manutenzione avanzato per gestire la manutenzione per il tuo single-tenant gruppo di nodi, come segue:

    • Periodo di manutenzione:seleziona il periodo di tempo durante il quale vuoi che che si verifichino per i nodi in single-tenant gruppi di nodi.

    • Attiva il controllo di manutenzione avanzato per la modalità single-tenancy: Il controllo di manutenzione avanzato per la single-tenancy ti consente di controllare eventi di manutenzione pianificati per gruppi di nodi single-tenant e riduci al minimo a causa delle interruzioni legate alla manutenzione. Per attivare il controllo di manutenzione avanzato, fai clic sull'opzione Attiva il controllo di manutenzione avanzato per single-tenancy per impostarla su On. Se scegli di utilizzare questa opzione per la manutenzione del nodo, il campo Periodo di manutenzione viene disattivato e la manutenzione viene eseguita come configurato nel controllo della manutenzione avanzata.

    Tieni presente che il controllo di manutenzione avanzato supporta solo lo stato Predefinito di manutenzione.

  11. Configura le impostazioni di condivisione specificando una delle seguenti opzioni nella Configurare le impostazioni di condivisione:

    • Per condividere il gruppo di nodi con tutti i progetti della tua organizzazione, scegli Condividi questo gruppo di nodi con tutti i progetti all'interno dell'organizzazione.
    • Per condividere il gruppo di nodi con progetti specifici all'interno della tua organizzazione, scegli Condividi questo gruppo di nodi con progetti selezionati all'interno dell'organizzazione.

    Se non vuoi condividere il gruppo di nodi, scegli Non condividere gruppo di nodi con altri progetti. Per saperne di più sulla condivisione dei gruppi di nodi, consulta Condividere gruppi di nodi single-tenant.

  12. Fai clic su Crea per completare la creazione del gruppo di nodi.

gcloud

Esegui il comando gcloud compute sole-tenancy node-groups create per creare un gruppo di nodi basato su un nodo creato in precedenza modello:

gcloud compute sole-tenancy node-groups create GROUP_NAME \
  --node-template=TEMPLATE_NAME \
  --target-size=TARGET_SIZE \
  [--zone=ZONE \]
  [--maintenance-policy=MAINTENANCE_POLICY \]
  [--maintenance-window-start-time=START_TIME \]
  [--autoscaler-mode=AUTOSCALER_MODE: \
  --min-nodes=MIN_NODES \
  --max-nodes=MAX_NODES]

Sostituisci quanto segue:

  • GROUP_NAME: il nome del nuovo gruppo di nodi.

  • TEMPLATE_NAME: il nome del modello di nodo da per creare questo gruppo.

  • TARGET_SIZE: il numero di nodi da creare nel gruppo.

  • ZONE: la zona in cui creare il gruppo di nodi. Deve deve essere la stessa regione del modello di nodo su cui basare il nodo gruppo.

  • MAINTENANCE_POLICY: il criterio di manutenzione per il gruppo di nodi. Per ulteriori informazioni, consulta la sezione Manutenzione . Deve essere uno dei seguenti valori:

    • default
    • restart-in-place
    • migrate-within-node-group

    In alternativa, puoi attivare il controllo di manutenzione avanzato per il gruppo di nodi di proprietà esclusiva utilizzando il flag --maintenance-interval. Per ulteriori informazioni, consulta Abilitare il controllo di manutenzione avanzato su un nodo single-tenant.

  • START_TIME: l'ora di inizio in GMT della finestra di manutenzione per le VM in questo gruppo di nodi. Imposta uno dei seguenti valori: 00:00, 04:00, 08:00, 12:00, 16:00 o 20:00. Se non impostato, il nodo non è stato impostato un periodo di manutenzione per il gruppo.

  • AUTOSCALER_MODE: il criterio del gestore della scalabilità automatica per il nodo gruppo. Deve essere uno dei seguenti:

    • off: gestisci manualmente le dimensioni del gruppo di nodi.

    • on: consente di aggiungere o rimuovere automaticamente i nodi al gruppo di nodi.

    • only-scale-out: aggiungi nodi al gruppo di nodi quando sono aggiuntivi è richiesta.

  • MIN_NODES: la dimensione minima del gruppo di nodi. Il valore predefinito è 0 e deve essere un valore intero minore o uguale a MAX_NODES.

  • MAX_NODES: la dimensione massima del gruppo di nodi. Deve essere minore o uguale a 100 e maggiore o uguale a MIN_NODES. Obbligatorio se AUTOSCALER_MODE non è impostato su off.

REST

Utilizza la Metodo nodeGroups.insert per creare un gruppo di nodi basato su un nodo creato in precedenza modello:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups?initialNodeCount=TARGET_SIZE
{ "nodeTemplate": "regions/REGION/nodeTemplates/TEMPLATE_NAME", "name": "GROUP_NAME", "maintenancePolicy": MAINTENANCE_POLICY, "maintenanceWindow": { "startTime": "START_TIME" } "autoscalingPolicy": { "mode": AUTOSCALER_MODE, "minNodes": MIN_NODES, "maxNodes": MAX_NODES }, }

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto.

  • ZONE: la zona in cui creare il gruppo di nodi. Questo deve trovarsi nella stessa regione del modello di nodo su cui basare le gruppo di nodi.

  • TARGET_SIZE: il numero di nodi da creare nell' gruppo.

  • REGION: la regione in cui creare il gruppo di nodi. Devi avere un modello di nodo nella regione selezionata.

  • TEMPLATE_NAME: il nome del modello di nodo da per creare questo gruppo.

  • GROUP_NAME: il nome del nuovo gruppo di nodi.

  • MAINTENANCE_POLICY: il criterio di manutenzi per il gruppo di nodi. Questo deve essere uno dei seguenti valori:

    • DEFAULT
    • RESTART_IN_PLACE
    • MIGRATE_WITHIN_NODE_GROUP

    In alternativa, puoi attivare il controllo di manutenzione avanzato per di un gruppo di nodi single-tenant, utilizzando il campo maintenanceInterval. Per saperne di più, vedi Attivare il controllo di manutenzione avanzato su un nodo single-tenant.

  • START_TIME: l'ora di inizio nel fuso orario GMT per il periodo di manutenzione per le VM in questo gruppo di nodi. Impostalo su uno dei seguenti valori: 00:00, 04:00, 08:00, 12:00, 16:00 o 20:00. Se non è impostato, il gruppo di nodi non ha un periodo di manutenzione impostato.

  • AUTOSCALER_MODE: il criterio del gestore della scalabilità automatica per il nodo gruppo. Deve essere uno dei seguenti valori:

    • OFF: gestisci manualmente le dimensioni del gruppo di nodi.

    • ON: i nodi vengono aggiunti o rimossi automaticamente dal gruppo di nodi.

    • ONLY_SCALE_OUT: aggiungi nodi al gruppo di nodi quando è richiesta una maggiore capacità.

  • MIN_NODES: la dimensione minima del gruppo di nodi. Il valore predefinito è 0 e deve essere un valore intero minore o uguale a MAX_NODES.

  • MAX_NODES: la dimensione massima del gruppo di nodi. Deve essere minore o uguale a 100 e maggiore o uguale a MIN_NODES. Obbligatorio se AUTOSCALER_MODE non è impostato su OFF.

Esegui il provisioning di una VM single-tenant

Dopo aver creato un gruppo di nodi basato su un puoi eseguire il provisioning di singole VM in un gruppo di nodi single-tenant.

Per eseguire il provisioning di una VM su un nodo o un gruppo di nodi specifico con etichette di affinità corrispondenti a quelle assegnate in precedenza al modello di nodo, segui la procedura standard per la creazione di un'istanza VM e assegna le etichette di affinità alla VM.

In alternativa, puoi utilizzare la procedura seguente per eseguire il provisioning di una VM su un nodo single-tenant dalla pagina dei dettagli del gruppo di nodi. In base al gruppo di nodi su cui esegui il provisioning delle VM, Compute Engine assegna etichette di affinità.

Console

  1. Nella console Google Cloud, vai alla pagina Nodi single-tenant.

    Vai a Nodi single-tenant

  2. Fai clic su Gruppi di nodi.

  3. Fai clic sul nome del gruppo di nodi su cui eseguire il provisioning di un'istanza VM e, facoltativamente, per eseguire il provisioning di una VM su un nodo single-tenant specifico, fai clic sul nome del nodo single-tenant specifico su cui eseguire il provisioning della VM.

  4. Fai clic su Crea istanza per eseguire il provisioning di un'istanza VM su questo gruppo di nodi, nota che i valori vengono applicati automaticamente per Nome, Regione e Zone e, se necessario, modifica questi valori.

  5. Seleziona una Configurazione macchina specificando la Famiglia di macchine, Serie e Tipo di macchina. Scegli la serie corrispondente al tipo di nodo single-tenant.

  6. Modifica il Disco di avvio, il Firewall e le altre impostazioni in base alle tue esigenze.

  7. Fai clic su Sole-tenancy e nota che il nodo è stato assegnato automaticamente etichette di affinità e utilizza Sfoglia per apportare le modifiche necessarie.

  8. Fai clic su Gestione e per Manutenzione sull'host, scegli una delle seguenti opzioni:

    • Esegui la migrazione dell'istanza VM (opzione consigliata): è stata eseguita la migrazione della VM a un altro nodo in al gruppo di nodi durante gli eventi di manutenzione.

    • Termina: VM arrestata durante gli eventi di manutenzione.

  9. Scegli una delle seguenti opzioni per il Riavvio automatico:

    • On (opzione consigliata): riavvia automaticamente le VM se sono è stata interrotta per eventi di manutenzione.

    • Off: le VM non vengono riavviate automaticamente dopo un evento di manutenzione.

  10. Fai clic su Crea per completare la creazione della VM monoproprietario.

gcloud

Usa il comando gcloud compute instances create per Esegui il provisioning di una VM su un gruppo di nodi single-tenant:

gcloud compute instances create VM_NAME \
  [--zone=ZONE \]
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --node-group=GROUP_NAME \
  --machine-type=MACHINE_TYPE \
  [--maintenance-policy=MAINTENANCE_POLICY \]
  [--accelerator type=GPU_TYPE,count=GPU_COUNT \]
  [--local-ssd interface=SSD_INTERFACE \]
  [--restart-on-failure]

Il flag --restart-on-failure indica se le VM monoproprietario si riavviano dopo l'arresto. Questo flag è abilitato per impostazione predefinita. Usa --no-restart-on-failure per disattivare.

Sostituisci quanto segue:

  • VM_NAME: il nome della nuova VM monoutente.

  • ZONE: la zona in cui eseguire il provisioning della VM single-tenant.

  • IMAGE_FAMILY: l'immagine famiglia dell'immagine da utilizzare per creare VM.

  • IMAGE_PROJECT: il project di immagini della famiglia di immagini.

  • GROUP_NAME: il nome del gruppo di nodi su cui eseguire il provisioning della VM.

  • MACHINE_TYPE: il tipo di macchina della VM single-tenant. Utilizza la gcloud compute machine-types list comando per ottenere un elenco tra i tipi di macchina disponibili per il progetto.

  • MAINTENANCE_POLICY: specifica il comportamento di riavvio di durante gli eventi di manutenzione. Imposta uno dei seguenti valori:

    • MIGRATE: la VM è stata migrata a un altro nodo del gruppo di nodi durante gli eventi di manutenzione.

    • TERMINATE: la VM si è arrestata durante gli eventi di manutenzione.

  • GPU_TYPE: tipo di GPU. Impostalo su uno dei valori tipi di acceleratori specificati al momento della creazione del modello di nodo.

  • GPU_COUNT: numero di GPU del totale specificato dal modello di nodo da collegare a questa VM. Il valore predefinito è 1.

  • SSD_INTERFACE: tipo di interfaccia SSD locale. Puoi impostarlo solo per le istanze create da un modello di nodo con supporto SSD locale. Se lo specifichi durante la creazione dell'istanza e il modello di nodo non supporta l'SSD locale, la creazione dell'istanza non riesce. Impostato su nvme se i driver dell'immagine disco di avvio sono ottimizzati per NVMe, altrimenti impostati su scsi. Specifica questo flag e un valore corrispondente una volta per ogni partizione dell'unità SSD locale.

REST

Utilizza la Metodo instances.insert per eseguire il provisioning di una VM su un gruppo di nodi single-tenant:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "scheduling": { "onHostMaintenance": MAINTENANCE_POLICY, "automaticRestart": RESTART_ON_FAILURE, "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] }

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto.

  • VM_ZONE: la zona in cui eseguire il provisioning della VM single-tenant in.

  • MACHINE_TYPE_ZONE: la zona del tipo di macchina.

  • MACHINE_TYPE: tipo di macchina del single-tenant VM. Utilizza il metodo machineTypes.list per ottenere un elenco dei tipi di macchine disponibili per il progetto.

  • VM_NAME: il nome della nuova VM single-tenant.

  • MAINTENANCE_POLICY: specifica il comportamento di riavvio delle VM single-tenant durante gli eventi di manutenzione. Imposta una delle seguenti opzioni:

    • MIGRATE: la VM è stata migrata a un altro nodo del gruppo di nodi durante gli eventi di manutenzione.

    • TERMINATE: la VM si è arrestata durante gli eventi di manutenzione.

  • RESTART_ON_FAILURE: indica se single-tenant Le VM si riavviano dopo l'arresto. Il valore predefinito è true.

  • GROUP_NAME: il nome del gruppo di nodi su cui eseguire il provisioning della VM.

  • NETWORK: l'URL della risorsa di rete per questa VM.

  • REGION: la regione contenente la sottorete per questa VM.

  • SUBNETWORK: l'URL della risorsa subnet per su questa VM.

  • GPU_TYPE: il tipo di GPU. Impostato su uno dei tipi di acceleratore specificati al momento della creazione del modello di nodo.

  • GPU_COUNT: il numero di GPU del totale specificato dal modello di nodo da collegare a questa VM. Il valore predefinito è 1.

  • IMAGE_PROJECT: immagine progetto della famiglia di immagini.

  • IMAGE_FAMILY: immagine famiglia dell'immagine da utilizzare per creare VM.

  • LOCAL_SSD_ZONE: la zona dell'unità SSD locale.

  • SSD_INTERFACE: il tipo di interfaccia SSD locale. Imposta su NVME se i driver dell'immagine del disco di avvio sono ottimizzati per NVMe, altrimenti imposta su SCSI.

Esegui il provisioning di un gruppo di VM single-tenant

I gruppi di istanze gestite (MIG) ti consentono di eseguire il provisioning di un gruppo di VM sole-tenant identiche. Le etichette di affinità ti consentono di specificare il nodo o il gruppo di nodi single-tenant su cui eseguire il provisioning del gruppo di VM single-tenant.

Per i gruppi di istanze gestite a livello di regione, devi creare gruppi di nodi in ogni gruppo di istanze gestite a livello di regione ed è necessario specificare le affinità dei nodi per i gruppi di nodi modello di istanza del gruppo di istanze gestite.

gcloud

  1. Utilizza il comando gcloud compute instance-templates create per creare un modello di gruppo di istanze gestite per un gruppo di VM da creare in un gruppo di nodi single-tenant:

    gcloud compute instance-templates create INSTANCE_TEMPLATE \
      --machine-type=MACHINE_TYPE \
      --image-project=IMAGE_PROJECT \
      --image-family=IMAGE_FAMILY \
      --node-group=GROUP_NAME \
      [--accelerator type=GPU_TYPE,count=GPU_COUNT \]
      [--local-ssd interface=SSD_INTERFACE]
    

    Sostituisci quanto segue:

    • INSTANCE_TEMPLATE: il nome del nuovo modello istanza.

    • MACHINE_TYPE: tipo di macchina della VM single-tenant. Utilizza il gcloud compute machine-types list comando per ottenere un elenco di tipi di macchine disponibili per il progetto.

    • IMAGE_PROJECT: l'immagine progetto della famiglia di immagini.

    • IMAGE_FAMILY: la famiglia dell'immagine da utilizzare per creare la VM.

    • GROUP_NAME: il nome del gruppo di nodi su cui eseguire il provisioning della VM. In alternativa, se vuoi utilizzare questo modello di istanza per creare un gruppo di istanze gestite a livello di regione esistente in più di una zona, utilizza il flag --node-affinity-file per specificare un elenco di valori per i gruppi di nodi del gruppo di istanze gestite a livello di regione.

    • GPU_TYPE: tipo di GPU. Impostalo su uno dei valori tipi di acceleratori specificati al momento della creazione del modello di nodo.

    • GPU_COUNT: numero di GPU del totale specificato dal modello di nodo da collegare a questa VM. Il valore predefinito è 1.

    • SSD_INTERFACE: tipo di interfaccia SSD locale. Imposta su nvme se i driver dell'immagine disco di avvio sono ottimizzati per NVMe, altrimenti impostato su scsi. Specifica questo flag e un valore corrispondente una volta per ogni partizione SSD locale.

  2. Usa il comando gcloud compute instance-groups managed create per creare un gruppo di istanze gestite all'interno del tuo nodo single-tenant gruppo:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
      --size=SIZE \
      --template=INSTANCE_TEMPLATE \
      --zone=ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_GROUP_NAME: il nome di questo gruppo di istanze.

    • SIZE: il numero di VM da includere in gruppo di istanze gestite. Il gruppo di nodi deve disporre di risorse sufficienti per ospitare le istanze in questo gruppo di istanze gestite. Utilizza il ridimensionamento automatico dei gruppi di istanze gestite per gestire automaticamente le dimensioni dei gruppi di istanze gestite.

    • INSTANCE_TEMPLATE: il nome dell'istanza modello da utilizzare per creare questo gruppo di istanze gestite. Il modello deve avere uno o più etichette di affinità nodo che puntano ai gruppi di nodi appropriati.

    • ZONE: la zona per creare l'istanza gestita Raggruppa. Per un gruppo di istanze gestite a livello di regione, sostituisci il flag --zone con il --region e specifica una regione. Aggiungi anche il flag --zones per specificare tutte le zone in cui esistono i gruppi di nodi.

REST

  1. Utilizza il metodo instanceTemplates.insert per creare un modello di gruppo di istanze gestite all'interno del gruppo di nodi di proprietà singola:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/TEMPLATE_ZONE/instance-templates
    { "name": "INSTANCE_TEMPLATE", "properties": { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "scheduling": { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] } }

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto.

    • TEMPLATE_ZONE: la zona per creare l'istanza modello.

    • INSTANCE_TEMPLATE: il nome della nuova istanza modello.

    • MACHINE_TYPE_ZONE: la zona del tipo di macchina.

    • MACHINE_TYPE: tipo di macchina del single-tenant VM. Utilizza la Metodo machineTypes.list per ottenere un elenco dei tipi di macchina disponibili per il progetto.

    • GROUP_NAME: il nome del gruppo di nodi su cui eseguire il provisioning della VM. Se vuoi utilizzare questo modello di istanza per creare un gruppo di istanze gestite a livello di regione esistente in più di una zona, specifica un elenco di gruppi di nodi esistenti nelle stesse zone del gruppo di istanze gestite a livello di regione.

    • NETWORK: l'URL della risorsa di rete per questo modello di istanza.

    • REGION: la regione contenente la subnet per questo modello di istanza.

    • SUBNETWORK: l'URL della risorsa subnet per questo modello di istanza.

    • GPU_TYPE: il tipo di GPU. Impostalo su uno dei valori tipi di acceleratori specificati al momento della creazione del modello di nodo.

    • GPU_COUNT: il numero di GPU del totale specificato dal modello di nodo da collegare a questa VM. Il valore predefinito è 1.

    • IMAGE_PROJECT: il project di immagini della famiglia di immagini.

    • IMAGE_FAMILY: l'immagine famiglia dell'immagine da utilizzare per creare VM.

    • LOCAL_SSD_ZONE: la zona dell'SSD locale.

    • SSD_INTERFACE: il tipo di interfaccia SSD locale. Imposta su NVME se i driver dell'immagine del disco di avvio sono ottimizzati per NVMe, altrimenti imposta su SCSI.

  2. Utilizza la Metodo instanceGroupManagers.insert per creare un gruppo di istanze gestite all'interno del gruppo di nodi single-tenant basato sulla configurazione un modello di istanza creato. In alternativa, se vuoi creare un gruppo di istanze gestite regionale, utilizza il metodo regionInstanceGroupManagers.insert e specifica la regione e le zone di tutti i gruppi di nodi come specificato nel modello di istanza.

    Ad esempio, per creare un gruppo di istanze gestite a livello di zona, utilizza la richiesta seguente:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "baseInstanceName": "NAME_PREFIX",
      "name": "INSTANCE_GROUP_NAME",
      "targetSize": SIZE,
      "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE"
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto.

    • ZONE: la zona per creare l'istanza gestita Raggruppa.

    • NAME_PREFIX: il nome del prefisso di ciascuno di istanze gestite nel gruppo di istanze gestite.

    • INSTANCE_GROUP_NAME: il nome del gruppo di istanze.

    • SIZE: il numero di VM da includere in questo gruppo di istanze. Il gruppo di nodi deve disporre di risorse sufficienti per ospitare le istanze in questo gruppo di istanze gestite. Utilizza la gestore della scalabilità automatica dei gruppi di istanze gestite e gestire automaticamente le dimensioni dei gruppi di istanze gestite.

    • INSTANCE_TEMPLATE: l'URL del modello di istanza da utilizzare per creare questo gruppo. Il modello deve avere un nodo etichetta di affinità che punta al gruppo di nodi appropriato.

Configura le etichette di affinità dei nodi

Le etichette di affinità nodo consentono di raggruppare logicamente gruppi di nodi e pianificare le VM in di gruppi di nodi specifici. Puoi anche utilizzare le etichette di affinità dei nodi per pianificare su gruppi di nodi in zone diverse e mantenere i gruppi di nodi in logico. La procedura seguente è un esempio di utilizzo delle etichette di affinità per associare le VM a un gruppo di nodi specifico utilizzato per i carichi di lavoro di produzione. Questo esempio mostra come pianificare una singola VM, ma puoi anche utilizzare gruppi di istanze per pianificare un gruppo di VM.

gcloud

  1. Utilizza il comando gcloud compute sole-tenancy node-templates create per creare un modello di nodo con un insieme di etichette di affinità per un carico di lavoro di produzione:

    gcloud compute sole-tenancy node-templates create prod-template \
      --node-type=n1-node-96-624 \
      --node-affinity-labels workload=frontend,environment=prod
    
  2. Usa il comando gcloud compute sole-tenancy node-templates describe per visualizzare le etichette di affinità dei nodi assegnate al modello di nodo.

  3. Utilizza il comando gcloud compute sole-tenancy node-groups create per creare un gruppo di nodi che utilizza il modello di produzione:

    gcloud compute sole-tenancy node-groups create prod-group \
      --node-template=prod-template \
      --target-size=1
    
  4. Per le VM di produzione, crea un file node-affinity-prod.json per specificare l'affinità delle VM di produzione. Ad esempio, potresti creare un'etichetta che specifica che le VM vengono eseguite solo su nodi con Affinità workload=frontend e environment=prod. Crea il file di affinità dei nodi utilizzando Cloud Shell o in una posizione a tua scelta.

    [
      {
        "key" : "workload",
        "operator" : "IN",
        "values" : ["frontend"]
      },
      {
        "key" : "environment",
        "operator" : "IN",
        "values" : ["prod"]
      }
    ]
    
  5. Utilizza il file node-affinity-prod.json con il comando gcloud compute instances create per pianificare una VM nel gruppo di nodi con le etichette di affinità corrispondenti.

    gcloud compute instances create prod-vm \
      --node-affinity-file node-affinity-prod.json \
      --machine-type=n1-standard-2
    
  6. Utilizza il comando gcloud compute instances describe e controlla il campo scheduling per visualizzare le affinità dei nodi assegnate alla VM.

Configura le etichette di anti-affinità dei nodi

Le etichette di affinità dei nodi possono essere configurate come etichette di anti-affinità per impedire l'esecuzione delle VM su nodi specifici. Ad esempio, puoi utilizzare le etichette anti-affinità per impedire la pianificazione delle VM che utilizzi per scopi di sviluppo sugli stessi nodi della VM di produzione. L'esempio seguente mostra come utilizzare per impedire l'esecuzione delle VM su gruppi di nodi specifici. Questo esempio mostra come pianificare una singola VM, ma puoi anche utilizzare i gruppi di istanze gestite per pianificare un gruppo di VM.

gcloud

  1. Per le VM di sviluppo, specifica l'affinità delle VM di sviluppo creando un node-affinity-dev.json con Cloud Shell o in una località a tua scelta. Ad esempio, crea un file che configuri le VM per l'esecuzione su qualsiasi gruppo di nodi con l'affinità workload=frontend, a condizione che non sia environment=prod:

    [
      {
        "key" : "workload",
        "operator" : "IN",
        "values" : ["frontend"]
      },
      {
        "key" : "environment",
        "operator" : "NOT_IN",
        "values" : ["prod"]
      }
    ]
    
  2. Utilizza il file node-affinity-dev.json con il comando gcloud compute instances create per creare la VM di sviluppo:

    gcloud compute instances create dev-vm \
      --node-affinity-file=node-affinity-dev.json \
      --machine-type=n1-standard-2
    
  3. Utilizza il comando gcloud compute instances describe e controlla il campo scheduling per visualizzare le anti-affinità dei nodi assegnate alla VM.

Elimina un gruppo di nodi

Se devi eliminare un gruppo di nodi di proprietà esclusiva, rimuovi prima le VM dal gruppo di nodi.

Console

  1. Vai alla pagina Nodi di proprietà esclusiva.

    Vai ai nodi single-tenant

  2. Fai clic sul nome del gruppo di nodi da eliminare.

  3. Per ogni nodo del gruppo di nodi, fai clic sul nome del nodo ed elimina le singole istanze VM nella pagina dei dettagli del nodo oppure segui la procedura standard per eliminare una singola VM. Per eliminare le VM in un gruppo di istanze gestite, elimina gruppo di istanze gestite.

  4. Dopo aver eliminato tutte le istanze VM in esecuzione su tutti i nodi del gruppo di nodi, torna alla pagina Nodi single-tenant.

    Vai a Nodi single-tenant

  5. Fai clic su Gruppi di nodi.

  6. Seleziona il nome del gruppo di nodi da eliminare.

  7. Fai clic su Elimina.

gcloud

  1. Elenca le istanze VM in esecuzione sui nodi del gruppo di nodi utilizzando il comando gcloud compute sole-tenancy node-groups list-nodes:

    gcloud compute sole-tenancy node-groups list-nodes GROUP_NAME \
      --zone=ZONE

    Sostituisci quanto segue:

    • GROUP_NAME: il nome del gruppo di nodi

    • ZONE: zona del gruppo di nodi

  2. Se sul gruppo di nodi sono presenti VM in esecuzione, segui la procedura per una singola VM procedura per eliminare un gruppo di istanze gestite.

  3. Dopo aver eliminato tutte le VM in esecuzione su tutti i nodi del gruppo di nodi, elimina il gruppo di nodi utilizzando il comando gcloud compute sole-tenancy node-groups delete:

    gcloud compute sole-tenancy node-groups delete GROUP_NAME \
        --zone=ZONE

    Sostituisci quanto segue:

    • GROUP_NAME: il nome del gruppo di nodi

    • ZONE: la zona del gruppo di nodi

REST

  1. Elenca le istanze VM in esecuzione sui nodi del gruppo di nodi utilizzando il metodo nodeGroups.listNodes:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/GROUP_NAME/listNodes

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto

    • ZONE: la zona del gruppo di nodi

    • GROUP_NAME: il gruppo per il quale elencare le VM

  2. Se sono presenti VM in esecuzione nel gruppo di nodi, segui la procedura per eliminare una singola VM o la procedura per eliminare un gruppo di istanze gestite.

  3. Dopo aver eliminato tutte le VM in esecuzione su tutti i nodi del gruppo di nodi, utilizzando il metodo nodeGroups.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/GROUP_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto

    • ZONE: la zona del gruppo di nodi

    • GROUP_NAME: il nome del gruppo di nodi da eliminare

Elimina un modello di nodo

Puoi eliminare un modello di nodi dopo aver eliminato tutti i gruppi di nodi che lo utilizzano.

Console

  1. Nella console Google Cloud, vai alla pagina Nodi single-tenant.

    Vai ai nodi single-tenant

  2. Fai clic su Modelli di nodi.

  3. Seleziona il nome di un modello di nodo inutilizzato.

  4. Fai clic su Elimina.

gcloud

Utilizza il comando gcloud compute sole-tenancy node-templates delete per eliminare un modello di nodo non utilizzato:

gcloud compute sole-tenancy node-templates delete TEMPLATE_NAME \
  --region=REGION

Sostituisci quanto segue:

  • TEMPLATE_NAME: il nome del modello di nodo da eliminare

  • REGION: la regione del modello di nodo

REST

Utilizza il metodo compute.nodeTemplates.delete per eliminare un modello di nodo inutilizzato:

 DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates/TEMPLATE_NAME
 

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto

  • REGION: la regione Google Cloud contenente il modello di nodo

  • TEMPLATE_NAME: il nome del modello di nodo da eliminare

Passaggi successivi