Condividi gruppi di nodi single-tenant

I gruppi di nodi single-tenant condivisi sono simili ai nodi single-tenant locale gruppi di lavoro. Ad esempio, i gruppi di nodi condivisi hanno lo stesso costo, utilizzano la stessa quota e Risiedere in un progetto padre nella gerarchia delle risorse.

La differenza tra i gruppi di nodi condivisi e i gruppi di nodi locali è che nella tua organizzazione è possibile eseguire il provisioning di istanze di macchine virtuali (VM) gruppi di nodi condivisi.

Puoi farlo anche tu condividendo un gruppo di nodi in più progetti o in un'organizzazione le seguenti:

  • Consolida i gruppi di nodi che gestisci in un unico progetto e poi condividi i nodi con altri progetti o con l'intera organizzazione

  • Riduci i costi eliminando i nodi dopo il consolidamento delle VM di vari progetti in gruppi di nodi sottoutilizzati

  • Gestisci i nodi single-tenant con un unico team

  • Condividi i nodi single-tenant con progetti più piccoli e mantieni la sicurezza e l'accesso controllare i confini tra progetti

  • Esegui una migrazione live tra gruppi di nodi all'interno dello stesso progetto

  • Migliora l'utilizzo dei gruppi di nodi e riduci il numero di prenotazioni nodi di manutenzione quando si utilizza il criterio di manutenzione Esegui la migrazione all'interno del gruppo di nodi

Il seguente diagramma mostra un gruppo di nodi condiviso con altri progetti in modo che gli altri reparti che gestiscono le VM in quei progetti potranno eseguirne il provisioning gruppo di nodi condiviso.

Diagramma di un gruppo di nodi condiviso tra progetti. Reparti
            che gestiscono VM in progetti diversi,
può eseguire il provisioning delle VM
            gruppo di nodi.

Vantaggi di utilizzo dei gruppi di nodi condivisi

La tabella seguente confronta i progetti che utilizzano gruppi di nodi locali con i progetti che utilizzano gruppi di nodi condivisi. Nota che il sottoutilizzo delle vCPU diminuisce a progetti che usano gruppi di nodi condivisi.

Configurazione progetto Gruppi di nodi locali Gruppi di nodi condivisi
Progetti 10 10
vCPU / progetto 24 24
Gruppi di nodi 10 1
Nodi / gruppo di nodi 1 3
vCPU / nodo 80 80
Utilizzo / gruppo di nodi 24 80
Sottoutilizzo / gruppo di nodi 56 0
Sottoutilizzo totale 10 x 56 = 560 vCPU 1 x 0 = 0 vCPU

Impostazioni per la condivisione di gruppi di nodi

Compute Engine utilizza le seguenti impostazioni per la condivisione di gruppi di nodi e eseguendo il provisioning delle VM nei gruppi di nodi condivisi:

  • Un'impostazione di condivisione che configuri quando crei o aggiorni il single-tenant gruppo di nodi. Per specificare se condividere il gruppo di nodi con altri progetti con l'intera organizzazione, usa le impostazioni dell'interfaccia a riga di comando gcloud (--share-setting, --share-with) o impostazioni REST (shareSetting, shareWith).

  • Un'etichetta di affinità predefinita del nodo compute.googleapis.com/project che utilizzi quando esegui il provisioning di una VM in un gruppo di nodi condiviso utilizzando le etichette di affinità dei nodi. Per informazioni sulle altre etichette di affinità nodo predefinite, consulta Etichette di affinità predefinite.

Considerazioni sui criteri di manutenzione

Quando un gruppo di nodi utilizza il criterio di manutenzione Esegui la migrazione all'interno del gruppo di nodi, Compute Engine riserva almeno un nodo per gli eventi di migrazione live, il gruppo di nodi deve avere almeno due nodi. Non puoi pianificare VM riservato, quindi i gruppi di nodi con questo criterio di manutenzione spesso hanno all'utilizzo complessivo. In questo modo i carichi di lavoro che richiedono lo strumento Migra all'interno criterio di manutenzione del gruppo ottimi candidati per la condivisione del gruppo di nodi, come spesso i maggiori vantaggi da un migliore utilizzo.

Ruoli e autorizzazioni IAM

Tieni presente le seguenti informazioni su ruoli e autorizzazioni IAM quando esegui condividi un gruppo di nodi:

  • Se un gruppo di nodi viene condiviso con un progetto, qualsiasi utente in grado di creare VM nel nei progetti elencati o nell'organizzazione possono eseguire il provisioning delle VM da questi progetti sul gruppo di nodi condiviso senza alcuna modifica ai ruoli o alle autorizzazioni IAM.

  • Il ruolo IAM compute.soleTenantViewer consente di elencare e visualizzare i gruppi di nodi (gcloud CLI / REST). Non puoi modificare i gruppi di nodi con questo ruolo. Qualsiasi utente con questo ruolo o con autorizzazioni necessarie per elencare i gruppi di nodi, indipendentemente dalle autorizzazioni IAM sulla VM, può visualizzare l'ID progetto, il nome, il tipo di macchina e le informazioni sulle unità SSD locali e GPU per tutte le VM nel gruppo di nodi.

Limitazioni

  • Limitazioni del regime di conformità:

    • Indipendentemente dalle autorizzazioni IAM sulla VM, qualsiasi utente con autorizzazioni elenco gruppi di nodi possono visualizzare l'ID progetto, il nome e il tipo di macchina per tutte le VM nel gruppo di nodi. Pertanto, a causa del rischio di informazioni tra progetti i progetti per cui è stato eseguito il provisioning delle VM in gruppi di nodi condivisi devono devono rispettare lo stesso regime di conformità.
  • Limitazioni della console Google Cloud:

    • Se non hai l'autorizzazione per visualizzare le VM nel gruppo di nodi condivisi, queste VM non verranno visualizzate nell'elenco delle VM sulla pagina Nodi single-tenant della nella console Google Cloud.
    • Dopo aver modificato le impostazioni di condivisione nei gruppi di nodi single-tenant pagina, l'impostazione Condiviso con non viene aggiornata nell'interfaccia utente. Per vedere le ha aggiornato l'impostazione Condiviso con, vai alla pagina Nodi single-tenant.
    • Dopo aver condiviso un gruppo di nodi con tutti i progetti all'interno di un'organizzazione o con a progetti selezionati all'interno di un'organizzazione, puoi vedere solo gruppo del proprio progetto proprietario; non puoi vedere il gruppo di nodi condivisi ai progetti con cui è stato condiviso. Per eseguire il provisioning di una VM sul nodo condiviso: gruppo, dal progetto con cui è condiviso il gruppo di nodi, vai alla VM istanze e modificare le etichette di affinità del nodo single-tenant.
  • Limitazioni di condivisione:

    • Devi aggiornare le impostazioni di condivisione dal progetto proprietario del nodo gruppo.
    • Puoi specificare un massimo di 100 progetti quando utilizzi la condivisione projects dell'ambientazione.
    • Non puoi condividere i gruppi di nodi tra le organizzazioni. Ad esempio, se eseguire la migrazione di un progetto che contiene un gruppo di nodi condiviso da un'organizzazione all'altra, devi inoltre eseguire la migrazione per tutti i progetti con VM in esecuzione in quel gruppo di nodi condiviso.
    • Non puoi eseguire la migrazione live tra progetti mentre utilizzi di nodi single-tenant. Per ulteriori informazioni, consulta Eseguire manualmente la migrazione live delle VM.

Prezzi

Le VM nei gruppi di nodi condivisi non comportano costi aggiuntivi e non sono previste costi aggiuntivi per la condivisione di gruppi di nodi. Per ulteriori informazioni sui prezzi dei nodi single-tenant, consulta Prezzi dei nodi single-tenant.

Prima di iniziare

  • Prima di creare un gruppo di nodi single-tenant, creando un modello di nodo single-tenant.
  • Prima di eseguire il provisioning delle VM in 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. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di 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. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

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

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

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

Crea un nuovo gruppo di nodi e condividilo

Per creare un nuovo gruppo di nodi e condividerlo con altri progetti o con l'intero dell'organizzazione, utilizzare la console Google Cloud, gcloud CLI REST.

Console

  1. Creare un gruppo di nodi single-tenant. Per ulteriori informazioni, consulta la sezione Creare un di nodi single-tenant.

  2. 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 nell'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 organizzazione, scegli Condividi questo gruppo di nodi con i progetti selezionati all'interno dell'organizzazione.

    Se non vuoi condividere il gruppo di nodi, scegli Non condividere gruppo di nodi con altri progetti.

gcloud

Per creare un gruppo di nodi condivisi, utilizza quanto segue gcloud compute sole-tenancy node-groups create un comando kubectl.

gcloud compute sole-tenancy node-groups create NODE_GROUP \
    --zone=ZONE \
    --node-template=NODE_TEMPLATE \
    --target-size=SIZE \
    --share-setting=SHARE_SETTING \
    --share-with=PROJECTS

Sostituisci quanto segue:

  • NODE_GROUP: il nome del gruppo di nodi.

  • ZONE: la zona in cui creare il gruppo di nodi.

  • NODE_TEMPLATE: il nome del cluster creato in precedenza modello di nodo.

  • SIZE: il numero di nodi nel gruppo di nodi.

  • SHARE_SETTING: l'impostazione di condivisione per il nodo gruppo. Imposta projects per la condivisione con progetti specifici, oppure imposta su organization per la condivisione con l'intera organizzazione.

  • PROJECTS: un elenco di ID progetto o progetto numeri con cui condividere il gruppo di nodi. Obbligatorio solo se imposti Da SHARE_SETTING a projects.

REST

Per creare un gruppo di nodi condivisi, utilizza quanto segue nodeGroups.insert gcloud.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups

{
  ...
  "name": NODE_GROUP,
  "nodeTemplate": NODE_TEMPLATE,
  "size": SIZE,
  "shareSettings": {
    "shareType": SHARE_TYPE,
    "projectMap": {
      string: {
        "projectId": PROJECTS
      },
    }
  }
  ...
}

Sostituisci quanto segue:

  • PROJECT: il nome del progetto per creare il nodo Raggruppa.

  • ZONE: la zona in cui creare il gruppo di nodi.

  • NODE_GROUP: il nome del gruppo di nodi.

  • NODE_TEMPLATE: il nome del cluster creato in precedenza modello di nodo.

  • SIZE: il numero di nodi nel gruppo di nodi.

  • SHARE_TYPE: l'impostazione di condivisione per il nodo gruppo. Imposta su SPECIFIC_PROJECTS per condividere con progetti specifici oppure imposta a ORGANIZATION per la condivisione con l'intera organizzazione.

  • PROJECTS: un elenco di ID progetto o progetto numeri con cui condividere il gruppo di nodi. Obbligatorio solo se imposti Da SHARE_TYPE a SPECIFIC_PROJECTS.

Esegui il provisioning di una VM single-tenant in un gruppo di nodi condiviso

Per eseguire il provisioning di una VM single-tenant in un gruppo di nodi condiviso, utilizza Console Google Cloud, gcloud CLI REST.

Console

  1. Nella console Google Cloud, passa a un progetto con cui hai condiviso un nodo raggruppa.

  2. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  3. Fai clic su Crea istanza.

  4. In Zona, scegli la zona del gruppo di nodi condivisi.

  5. In Configurazione macchina > Serie, scegli lo stesso tipo di macchina specificato dal modello di gruppo di nodi single-tenant condiviso.

  6. Espandi la sezione Opzioni avanzate.

  7. Espandi la sezione Sole-tenancy.

  8. Fai clic su Sfoglia.

  9. Scegli Seleziona progetto e specifica il progetto che contiene gruppo di nodi condiviso.

  10. Scegli il gruppo di nodi single-tenant o un nodo single-tenant specifico in su cui eseguire il provisioning della VM.

gcloud

Esegui il provisioning di una VM in un gruppo di nodi condiviso utilizzando il nome del gruppo di nodi

Esegui il provisioning di una VM single-tenant in un gruppo di nodi condiviso utilizzando il nodo nome del gruppo, usa gcloud compute instances create come segue un comando kubectl.

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --node-group=NODE_GROUP \
    --node-project=NODE_PROJECT

Sostituisci quanto segue:

  • VM_NAME: il nome della nuova VM single-tenant su crea in un gruppo di nodi condiviso

  • MACHINE_TYPE: il tipo di macchina per il nuovo VM single-tenant

  • NODE_GROUP: il nome del gruppo di nodi condiviso su per creare la VM single-tenant

  • NODE_PROJECT: il progetto contenente il nodo per il provisioning della VM

Esegui il provisioning di una VM in un gruppo di nodi condiviso utilizzando un file di affinità dei nodi

Esegui il provisioning di una VM single-tenant in un gruppo di nodi condiviso utilizzando un nodo file di affinità, usa il seguente gcloud compute instances create un comando kubectl.

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --node-affinity-file=NODE_AFFINITY_FILE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM single-tenant da creare in un gruppo di nodi condiviso utilizzando un'etichetta di affinità.

  • MACHINE_TYPE: tipo di macchina del single-tenant VM da creare in un gruppo di nodi condiviso.

  • NODE_AFFINITY_FILE: il nome del file .json che contiene le informazioni sull'affinità dei nodi. Nel file di affinità dei nodi, imposta la chiave di etichetta di affinità per "compute.googleapis.com/project", l'operatore uguale a "IN" e il valore uguale al progetto contenente il nodo gruppo. Per ulteriori informazioni su come configurare l'affinità dei nodi, consulta Configura le etichette di affinità dei nodi.

REST

Esegui il provisioning di una VM single-tenant in un gruppo di nodi condiviso utilizzando un nodo file di affinità, usa il seguente nodeGroups.insert gcloud.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances

{
  ...
  "name": VM_NAME,
  "machineType": MACHINE_TYPE,
  "scheduling": {
    ...
    "nodeAffinities": [
      {
        "key": KEY,
        "operator": OPERATOR,
        "values": [
          VALUE
        ]
      }
    ],
    ...
  },
  ...
}

Sostituisci quanto segue:

  • PROJECT: il nome del progetto proprietario della gruppo di nodi.

  • ZONE: la zona del gruppo di nodi.

  • VM_NAME: il nome della VM single-tenant da creare in un gruppo di nodi condiviso utilizzando un'etichetta di affinità.

  • MACHINE_TYPE: tipo di macchina del single-tenant VM da creare in un gruppo di nodi condiviso.

  • KEY: l'etichetta di affinità. Imposta su "compute.googleapis.com/project".

  • OPERATOR: l'operatore dell'etichetta di affinità. Imposta su "IN".

  • VALUE: il progetto contenente il nodo in cui eseguire il provisioning della VM. Specifica un progetto utilizzando il nome del progetto o l'ID progetto.

Per ulteriori informazioni su come configurare l'affinità dei nodi, consulta Configurare etichette di affinità nodo.

Visualizza le impostazioni di condivisione di un gruppo di nodi

Per visualizzare le impostazioni di condivisione di un gruppo di nodi, utilizza la console Google Cloud, con gcloud CLI o REST.

Console

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

    Vai ai nodi single-tenant

  2. Per visualizzare le proprietà del gruppo di nodi, nella colonna Nome fai clic su il nome del gruppo di nodi.

gcloud

Per visualizzare le impostazioni di condivisione di un gruppo di nodi, utilizza il seguente gcloud compute sole-tenancy node-groups describe un comando kubectl.

gcloud compute sole-tenancy node-groups describe NODE_GROUP

Sostituisci NODE_GROUP con il nome del gruppo di nodi di cui visualizzare le impostazioni di condivisione.

REST

Per visualizzare le impostazioni di condivisione di un gruppo di nodi, utilizza quanto segue nodeGroups.get gcloud.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups

Sostituisci quanto segue:

  • PROJECT: il nome del progetto con il gruppo di nodi per visualizzare le impostazioni di condivisione

  • ZONE: la zona contenente il gruppo di nodi da visualizzare le impostazioni di condivisione

Condividi un gruppo di nodi esistente

Per condividere un gruppo di nodi esistente con altri progetti o con l'intera organizzazione, utilizza la console Google Cloud, gcloud CLI REST.

Console

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

    Vai ai nodi single-tenant

  2. Nella colonna Nome, fai clic sul nome del gruppo di nodi.

  3. Per condividere il gruppo di nodi con tutti i progetti all'interno dell'organizzazione o con progetti selezionati all'interno dell'organizzazione, in Panoramica > Condiviso con, fai clic su Modifica .

gcloud

Per aggiornare le impostazioni di condivisione di un gruppo di nodi, utilizza il seguente gcloud compute sole-tenancy node-groups update un comando kubectl.

gcloud compute sole-tenancy node-groups update NODE_GROUP \
    --zone=ZONE \
    --share-setting=SHARE_SETTING \
    --share-with=PROJECTS

Sostituisci quanto segue:

  • NODE_GROUP: il nome del gruppo di nodi da aggiornare le impostazioni di condivisione.

  • SHARE_SETTING: l'impostazione di condivisione per il nodo gruppo. Imposta projects per la condivisione con progetti specifici, oppure imposta su organization per la condivisione con l'intera organizzazione.

  • PROJECTS: un elenco di ID progetto o progetto numeri con cui condividere il gruppo di nodi. Obbligatorio solo se imposti Da SHARE_SETTING a projects.

REST

Per aggiornare le impostazioni di condivisione di un gruppo di nodi, utilizza quanto segue nodeGroups.patch gcloud.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP

{
  "shareSettings": {
    "shareType": SHARE_TYPE,
    "projectMap": {
      string: {
        "projectId": PROJECTS
      },
    }
  }
}

Sostituisci quanto segue:

  • PROJECT: il nome del progetto con il nodo gruppi di cui aggiornare le impostazioni di condivisione.

  • ZONE: la zona contenente i gruppi di nodi da aggiorna le impostazioni di condivisione di.

  • NODE_GROUP: il nome del gruppo di nodi da aggiornare le impostazioni di condivisione.

  • SHARE_TYPE: l'impostazione di condivisione per il nodo gruppo. Imposta projects per la condivisione con progetti specifici, oppure imposta su organization per la condivisione con l'intera organizzazione.

  • PROJECTS: un elenco di ID progetto o progetto numeri con cui condividere il gruppo di nodi. Obbligatorio solo se imposti Da SHARE_SETTING a SPECIFIC_PROJECTS.

Interrompi la condivisione di un gruppo di nodi

Per interrompere la condivisione di un gruppo di nodi con altri progetti o con l'intera organizzazione, utilizza gcloud CLI o REST.

Console

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

    Vai ai nodi single-tenant

  2. Fai clic sul nome del gruppo di nodi.

  3. In Panoramica > Condiviso con, fai clic su Modifica .

  4. Per interrompere la condivisione, scegli Non condividere questo gruppo di nodi con altri Google Cloud.

gcloud

Per interrompere la condivisione di un gruppo di nodi con altri progetti o con l'intera organizzazione, usa i seguenti gcloud compute sole-tenancy node-groups update un comando kubectl.

gcloud compute sole-tenancy node-groups update NODE_GROUP \
    --zone=ZONE \
    --share-setting=local

Sostituisci NODE_GROUP con il nome del nodo gruppo per interrompere la condivisione.

REST

Per interrompere la condivisione di un gruppo di nodi con altri progetti o con l'intera organizzazione, usa i seguenti nodeGroups.patch gcloud.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP

{
  "shareSettings": {
    "shareType": LOCAL
  }
}

Sostituisci quanto segue:

  • PROJECT: il nome del progetto con il nodo gruppo per interrompere la condivisione

  • ZONE: la zona contenente il gruppo di nodi da arrestare condivisione

  • NODE_GROUP: il nome del gruppo di nodi da arrestare condivisione

Elimina un gruppo di nodi condivisi dal progetto proprietario

Per eliminare un gruppo di nodi condivisi dal progetto proprietario, utilizza la classe Console Google Cloud, gcloud CLI REST. Prima di eliminare un gruppo di nodi, arresta tutte le VM in esecuzione nel gruppo di nodi.

Console

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

    Vai ai nodi single-tenant

  2. Nella colonna Nome, fai clic sul nome del gruppo di nodi.

  3. Fai clic su Elimina.

gcloud

Per eliminare un gruppo di nodi condivisi dal progetto proprietario, utilizza quanto segue gcloud compute sole-tenancy node-groups delete un comando kubectl.

gcloud compute sole-tenancy node-groups delete NODE_GROUP

Sostituisci NODE_GROUP con il nome del nodo gruppo da eliminare.

REST

Per eliminare un gruppo di nodi condivisi dal progetto proprietario, utilizza quanto segue nodeGroups.delete gcloud.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP

Sostituisci quanto segue:

  • PROJECT: il nome del progetto con il nodo gruppo da eliminare

  • ZONE: la zona contenente il gruppo di nodi da elimina

  • NODE_GROUP: il nome del gruppo di nodi da eliminare