Cluster Node Pool Node Config Args
Constructors
Properties
Specifies options for controlling advanced machine features. Structure is documented below.
The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
Configuration for Confidential Nodes feature. Structure is documented below.
Parameters to customize containerd runtime. Structure is documented below.
Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
List of kubernetes taints applied to each node. Structure is documented above.
Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.
Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
Parameters for the NCCL Fast Socket feature. If unspecified, NCCL Fast Socket will not be enabled on the node pool. Node Pool must enable gvnic. GKE version 1.25.2-gke.1700 or later. Structure is documented below.
Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify image_type = "COS_CONTAINERD"
and node_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum node_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A machine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.
List of the type and count of accelerator cards attached to the instance. Structure documented below.
Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
The maintenance policy for the hosts on which the GKE VMs run on.
Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
Parameters that can be configured on Linux nodes. Structure is documented below.
Parameters for the local NVMe SSDs. Structure is documented below.
The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
Parameter for specifying the type of logging agent used in a node pool. This will override any cluster-wide default value. Valid values include DEFAULT and MAX_THROUGHPUT. See Increasing logging agent throughput for more information.
The name of a Google Compute Engine machine type. Defaults to e2-medium
. To create a custom machine type, value should be set as specified here.
The metadata key/value pairs assigned to instances in the cluster. From GKE 1.12
onwards, disable-legacy-endpoints
is set to true
by the API; if metadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.
Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell
. See the official documentation for more information.
Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs. See the official documentation for information on migrating off of legacy access scopes.
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
The configuration of the desired reservation which instances could take capacity from. Structure is documented below.
The GCP labels (key/value pairs) to be applied to each node. Refer here for how these labels are applied to clusters, node pools and nodes.
A map of resource manager tag keys and values to be attached to the nodes for managing Compute Engine firewalls using Network Firewall Policies. Tags must be according to specifications found here. A maximum of 5 tag key-value pairs can be specified. Existing tags will be replaced with new values. Tags must be in one of the following formats (KEY=VALUE) 1. tagKeys/{tag_key_id}=tagValues/{tag_value_id}
2. {org_id}/{tag_key_name}={tag_value_name}
3. {project_id}/{tag_key_name}={tag_value_name}
.
Sandbox configuration for this node.
Parameters for secondary boot disks to preload container images and data on new nodes. Structure is documented below. gcfs_config
must be enabled=true
for this feature to work. min_master_version
must also be set to use GKE 1.28.3-gke.106700 or later versions.
The service account to be used by the Node VMs. If not specified, the "default" service account is used.
Shielded Instance options. Structure is documented below.
Allows specifying multiple node affinities useful for running workloads on sole tenant nodes. node_affinity
structure is documented below.
A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through kubectl
), and it's recommended that you do not use this field to manage taints. If you do, lifecycle.ignore_changes
is recommended. Structure is documented below.
Metadata configuration to expose to workloads on the node pool. Structure is documented below.