This document describes how to create and delete sole-tenant node templates.
Before creating sole-tenant node templates, review the sole-tenant node overview
to learn about important concepts and terminology.
Permissions required for this task
To perform this task, you must have the following
permissions :
compute.nodeTemplates.create on the project or organization
If you use the gcloud CLI or REST, you can create a node template
resource that you can use later to create one or more node groups. If you use
the Google Cloud console, you must create node templates when you create a
node group.
To create a sole-tenant node template, use one of the following methods:
Console
In the Google Cloud console, go to the Sole-tenant nodes page.
Go to Sole-tenant nodes
Click Create node group .
The process of creating a node group in the console includes creating or selecting a node template.
Specify a Name for the node group.
Specify a Region to create the node template in. You can use the node
template to create node groups in any zone of this region.
Specify the Zone and click Continue .
In the Node template list, click Create node template to begin
creating a sole-tenant node template.
Specify a Name for the node template.
Specify the Node type for each sole-tenant node in the node group to
create based on this node template.
Optionally, you can also specify the following properties for the node
template:
Add a Local SSD and GPU accelerator .
Select Enable CPU overcommit to control CPU overcommit levels for
each VM scheduled on the node.
Add Node affinity labels . Affinity labels let you logically group
nodes and node groups, and later, when provisioning VMs, you can specify
affinity labels on the VMs to schedule VMs on a specific set of nodes or
node groups. For more information, see Node affinity and anti-affinity .
Click Create to finish creating your node template.
Optional: to add a new sole-tenant node template in a different region,
repeat the preceding steps.
To view the node templates, click Node templates in the Sole-tenant nodes page.
gcloud Use the gcloud compute sole-tenancy node-templates create command
to create a node template:
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 ]
Replace the following:
TEMPLATE_NAME : the name for the new node template.
NODE_TYPE : the node type for sole-tenant nodes
created based on this template. Use the gcloud compute sole-tenancy node-types list command
to get a list of the node types available in each zone.
REGION : the region to create the node template in.
You can use this template to create node groups in any zone of this
region.
AFFINITY_LABELS : the keys and values,
[KEY=VALUE,...], for affinity labels. Affinity labels let
you logically group nodes and node groups and later, when provisioning
VMs, you can specify affinity labels on the VMs to schedule VMs on a
specific set of nodes or node groups. For more information, see Node affinity and anti-affinity .
GPU_TYPE : the type of GPU for each sole-tenant
node created based on this node template. For information on the zonal
availability of GPUs, use the gcloud compute accelerator-types list
command and choose a zone where either the n1, g2, a3-highgpu, or
a3-megagpu sole-tenant node type is available. Depending on the zonal
availability, set to one of:
For A3 High: nvidia-h100-80gb
For A3 Mega: nvidia-h100-mega-80gb
For G2: nvidia-l4
For N1:
nvidia-tesla-p100
nvidia-tesla-p4
nvidia-tesla-t4
nvidia-tesla-v100
GPU_COUNT : the number of GPUs to specify depending
on the type of GPU. Set to the value specified for the type of GPU as shown
in the following table:
GPU_TYPE
GPU_COUNT
nvidia-h100-80gb
8
nvidia-h100-mega-80gb
8
nvidia-l4
8
nvidia-tesla-p100
4
nvidia-tesla-p4
4
nvidia-tesla-t4
4
nvidia-tesla-v100
8
DISK_COUNT : number of Local SSD disks. Set to 16
or 24. This parameter is not required for A3 High and A3 Mega node types
because they include a fixed number of Local SSD disks.
DISK_SIZE : optional value for the partition size
of the Local SSD in GB. The only supported partition size is 375, and if
you don't set this value it defaults to 375.
CPU_OVERCOMMIT_TYPE : the overcommit type for CPUs
on a VM. Set to enabled or none.
REST Use the
nodeTemplates.insert method
to create a node template:
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
}
Replace the following:
PROJECT_ID : the project ID.
REGION : the region to create the node template in.
You can use this template to create node groups in any zone of this
region.
TEMPLATE_NAME : the name for the new node template.
NODE_TYPE : the node type for sole-tenant nodes
created based on this template. Use the
nodeTypes.list method
to get a list of the node types available in each zone.
KEY : the nodeAffinityLabels value that specifies
the key portion of a node affinity label expressed as a key-value pair.
Affinity labels let you logically group nodes and node groups, and later,
when provisioning VMs, you can specify affinity labels on the VMs to
schedule VMs on a specific set of nodes or node groups. For more
information, see Node affinity and anti-affinity .
VALUE : the nodeAffinityLabels value that
specifies the value portion of a node affinity label key-value pair.
GPU_TYPE : the type of GPU for each sole-tenant
node created based on this node template. For information on the zonal
availability of GPUs, use the gcloud compute accelerator-types list
command and choose a zone where either the n1, g2, a3-highgpu, or
a3-megagpu sole-tenant node type is available. Depending on the zonal
availability, set to one of:
For A3 High: nvidia-h100-80gb
For A3 Mega: nvidia-h100-mega-80gb
For G2: nvidia-l4
For N1:
nvidia-tesla-p100
nvidia-tesla-p4
nvidia-tesla-t4
nvidia-tesla-v100
GPU_COUNT : the number of GPUs for each sole-tenant
node created based on this node template. Set to the value specified for the
type of GPU as shown in the following table:
GPU_TYPE
GPU_COUNT
nvidia-h100-80gb
8
nvidia-h100-mega-80gb
8
nvidia-l4
8
nvidia-tesla-p100
4
nvidia-tesla-p4
4
nvidia-tesla-t4
4
nvidia-tesla-v100
8
DISK_SIZE : optional value for the partition size
of the Local SSD in GB. The only supported partition size is 375, and if
you don't set this value it defaults to 375.
DISK_COUNT : number of Local SSD disks. Set to 16 or
24. This parameter is not required for A3 High and A3 Mega node types
because they include a fixed number of Local SSD disks.
CPU_OVERCOMMIT_TYPE : CPU overcommit type. Set to
enabled, none, or CPU_OVERCOMMIT_TYPE_UNSPECIFIED.
Delete a node template
You can delete a node template after you've deleted all of the node groups that
are using the template.
Console
In the Google Cloud console, go to the Sole-tenant nodes page.
Go to Sole-tenant nodes
Click Node templates .
Select the name of an unused node template.
Click Delete .
REST Use the compute.nodeTemplates.delete method to delete an
unused node template:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /regions/REGION /nodeTemplates/TEMPLATE_NAME
Replace the following:
PROJECT_ID : your project ID
REGION : the Google Cloud region that contains the node
template
TEMPLATE_NAME : the name of the node template to delete
What's next
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-06-09 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-06-09 UTC."],[],[]]