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 altri progetti della tua organizzazione possono eseguire il provisioning di istanze di macchine virtuali (VM) nei gruppi di nodi condivisi.
La condivisione di un gruppo di nodi in più progetti o in un'organizzazione può aiutarti a svolgere quanto segue:
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 in tempo reale 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 questi progetti possano eseguire il provisioning delle VM in un gruppo di nodi condiviso.
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. Tieni presente che il sottoutilizzo delle vCPU diminuisce nei progetti che utilizzano 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 condividere i gruppi di nodi e eseguire il provisioning delle VM nei gruppi di nodi condivisi:
Un'impostazione di condivisione che configuri quando crei o aggiorni il gruppo di nodi di proprietà singola. Per specificare se condividere il gruppo di nodi con altri progetti o con l'intera organizzazione, utilizza le impostazioni dell'interfaccia a riga di comando gcloud (
--share-setting
,--share-with
) o le 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à dei nodi predefinite, vedi 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 in tempo reale, quindi il gruppo di nodi deve avere almeno 2 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 è condiviso con un progetto, qualsiasi utente che può creare VM nei progetti elencati o nell'organizzazione può eseguire il provisioning delle VM da questi progetti nel gruppo di nodi condiviso senza apportare modifiche ai ruoli o alle autorizzazioni IAM.
Il ruolo IAM
compute.soleTenantViewer
ti consente di elencare e visualizzare i gruppi di nodi (interfaccia a riga di comando gcloud /REST). Non puoi modificare i gruppi di nodi con questo ruolo. Qualsiasi utente con questo ruolo o con autorizzazioni 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 per elencare i gruppi di nodi può visualizzare l'ID progetto, il nome e il tipo di macchina di tutte le VM nel gruppo di nodi. Pertanto, a causa del rischio di divulgazione di informazioni tra progetti, i progetti per i quali è stato eseguito il provisioning delle VM in gruppi di nodi condivisi devono essere soggetti allo stesso regime di conformità.
Limitazioni della console Google Cloud:
- Se non disponi dell'autorizzazione per visualizzare le VM nel gruppo di nodi condiviso, queste VM non verranno visualizzate nell'elenco delle VM nella pagina Nodi di proprietà esclusiva della 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 visualizzare l'impostazione aggiornata Condiviso con, vai alla pagina Nodi di proprietà esclusiva.
- Dopo aver condiviso un gruppo di nodi con tutti i progetti di un'organizzazione o con progetti selezionati all'interno di un'organizzazione, puoi vedere il gruppo di nodi condiviso solo dal progetto proprietario. Non puoi vedere il gruppo di nodi condiviso dai progetti con cui è stato condiviso. Per eseguire il provisioning di una VM nel gruppo di nodi condiviso, vai alla pagina Istanze VM del progetto con cui è condiviso il gruppo di nodi e modifica le etichette di affinità dei nodi single-tenancy.
Limiti di condivisione:
- Devi aggiornare le impostazioni di condivisione dal progetto proprietario del nodo gruppo.
- Puoi specificare un massimo di 100 progetti quando utilizzi l'impostazione di condivisione
projects
. - 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, vedi Eseguire la migrazione in tempo reale delle VM manualmente.
Prezzi
Le VM nei gruppi di nodi condivisi non comportano addebiti aggiuntivi e non sono previste costi aggiuntivi per la condivisione di gruppi di nodi. Per ulteriori informazioni sui prezzi dei nodi single-tenant, consulta la sezione Prezzi dei nodi single-tenant.
Prima di iniziare
- Prima di creare un gruppo di nodi single-tenant, crea un modello di nodo single-tenant.
- Prima di eseguire il provisioning delle VM in un nodo single-tenant, controlla la tua quota. A seconda del numero e delle dimensioni dei nodi riservati, potresti dover 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Creare un gruppo di nodi single-tenant. Per ulteriori informazioni, consulta la sezione Creare un di nodi single-tenant.
Configura le impostazioni di condivisione specificando una delle seguenti opzioni in Configura 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.
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 suprojects
per condividerlo con progetti specifici o suorganization
per condividerlo con l'intera organizzazione.PROJECTS
: un elenco di ID progetto o di numeri di progetto con cui condividere il gruppo di nodi. Obbligatorio solo se imposti DaSHARE_SETTING
aprojects
.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 gruppo di nodi. Imposta suSPECIFIC_PROJECTS
per condividere con progetti specifici oppure imposta aORGANIZATION
per la condivisione con l'intera organizzazione.PROJECTS
: un elenco di ID progetto o di numeri di progetto con cui condividere il gruppo di nodi. Obbligatorio solo se imposti DaSHARE_TYPE
aSPECIFIC_PROJECTS
.Nella console Google Cloud, passa a un progetto con cui hai condiviso un gruppo di nodi.
Vai alla pagina Istanze VM.
Fai clic su Crea istanza.
In Zona, scegli la zona del gruppo di nodi condivisi.
In Configurazione macchina > Serie, scegli lo stesso tipo di macchina specificato dal modello di gruppo di nodi di proprietà esclusiva condiviso.
Espandi la sezione Opzioni avanzate.
Espandi la sezione Sole-tenancy.
Fai clic su Sfoglia.
Scegli Seleziona progetto e specifica il progetto che contiene il gruppo di nodi condiviso.
Scegli il gruppo di nodi single-tenant o un nodo single-tenant specifico in su cui eseguire il provisioning della VM.
VM_NAME
: il nome della nuova VM single-tenant da creare in un gruppo di nodi condivisoMACHINE_TYPE
: il tipo di macchina per il nuovo VM single-tenantNODE_GROUP
: il nome del gruppo di nodi condiviso in cui creare la VM single-tenantNODE_PROJECT
: il progetto contenente il gruppo di nodi in cui eseguire il provisioning della VMVM_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 Configurare le etichette di affinità dei nodi.PROJECT
: il nome del progetto proprietario del 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
: il tipo di macchina della VM single-tenant 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 gruppo di nodi in cui eseguire il provisioning della VM. Specifica un progetto utilizzando o ID progetto.Nella console Google Cloud, vai alla pagina Nodi single-tenant.
Per visualizzare le proprietà del gruppo di nodi, nella colonna Nome fai clic su il nome del gruppo di nodi.
PROJECT
: il nome del progetto con il gruppo di nodi per visualizzare le impostazioni di condivisioneZONE
: la zona contenente il gruppo di nodi da visualizzare le impostazioni di condivisioneNella console Google Cloud, vai alla pagina Nodi single-tenant.
Nella colonna Nome, fai clic sul nome del gruppo di nodi.
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 .
NODE_GROUP
: il nome del gruppo di nodi di cui aggiornare le impostazioni di condivisione.SHARE_SETTING
: l'impostazione di condivisione per il gruppo di nodi. Imposta suprojects
per condividerlo con progetti specifici o suorganization
per condividerlo con l'intera organizzazione.PROJECTS
: un elenco di ID progetto o di numeri di progetto con cui condividere il gruppo di nodi. Obbligatorio solo se imposti DaSHARE_SETTING
aprojects
.PROJECT
: il nome del progetto con i gruppi di nodi di cui aggiornare le impostazioni di condivisione.ZONE
: la zona contenente i gruppi di nodi di cui aggiornare le impostazioni di condivisione.NODE_GROUP
: il nome del gruppo di nodi di cui aggiornare le impostazioni di condivisione.SHARE_TYPE
: l'impostazione di condivisione per il gruppo di nodi. Imposta suprojects
per condividerlo con progetti specifici o suorganization
per condividerlo con l'intera organizzazione.PROJECTS
: un elenco di ID progetto o progetto numeri con cui condividere il gruppo di nodi. Obbligatorio solo se imposti DaSHARE_SETTING
aSPECIFIC_PROJECTS
.Nella console Google Cloud, vai alla pagina Nodi single-tenant.
Fai clic sul nome del gruppo di nodi.
In Panoramica > Condiviso con, fai clic su Modifica .
Per interrompere la condivisione, scegli Non condividere questo gruppo di nodi con altri per i progetti.
PROJECT
: il nome del progetto con il nodo gruppo per interrompere la condivisioneZONE
: la zona contenente il gruppo di nodi da arrestare condivisioneNODE_GROUP
: il nome del gruppo di nodi da arrestare condivisioneNella console Google Cloud, vai alla pagina Nodi di proprietà esclusiva.
Nella colonna Nome, fai clic sul nome del gruppo di nodi.
Fai clic su Elimina.
PROJECT
: il nome del progetto con il gruppo di nodi da eliminareZONE
: la zona contenente il gruppo di nodi da eliminareNODE_GROUP
: il nome del gruppo di nodi da eliminare
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 nuovo gruppo di nodi e condividerlo
Per creare un nuovo gruppo di nodi e condividerlo con altri progetti o con l'intera organizzazione, utilizza la console Google Cloud, gcloud CLI o REST.
Console
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:
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:
Esegui il provisioning di una VM single-tenant in un gruppo di nodi condiviso
Per eseguire il provisioning di una VM monoutente in un gruppo di nodi condiviso, utilizza la console Google Cloud, gcloud CLI o REST.
Console
gcloud
Eseguire 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:
Eseguire il provisioning di una VM in un gruppo di nodi condivisi utilizzando un file di affinità dei nodi
Per eseguire il provisioning di una VM monoutente in un gruppo di nodi condiviso utilizzando un file di affinità dei nodi, utilizza il seguente
gcloud compute instances create
comando.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-affinity-file=NODE_AFFINITY_FILE
Sostituisci quanto segue:
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:
Per ulteriori informazioni su come configurare l'affinità dei nodi, consulta Configurare le etichette di affinità dei nodi.
Visualizzare 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, gcloud CLI o REST.
Console
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 vuoi 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:
Condividere 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
gcloud
Per aggiornare le impostazioni di condivisione di un gruppo di nodi, utilizza il seguente
gcloud compute sole-tenancy node-groups update
comando.gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS
Sostituisci quanto segue:
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:
Interrompere 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
gcloud
Per interrompere la condivisione di un gruppo di nodi con altri progetti o con l'intera organizzazione, utilizza il seguente comando
gcloud compute sole-tenancy node-groups update
.gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=local
Sostituisci
NODE_GROUP
con il nome del gruppo di nodi per interrompere la condivisione.REST
Per interrompere la condivisione di un gruppo di nodi con altri progetti o con l'intera organizzazione, utilizza il seguente
nodeGroups.patch
metodo.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": LOCAL } }
Sostituisci quanto segue:
Eliminare un gruppo di nodi condiviso 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
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 gruppo di nodi 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:
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-10-14 UTC.
-