Creates a new ClusterNodeConfig.
advancedMachineFeatures Specifies options for controlling
bootDisk Configuration of the node pool boot disk. Structure is documented below
bootDiskKmsKey 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-encryptionconfidentialNodes Configuration for Confidential Nodes feature. Structure is documented below.
containerdConfig Parameters to customize containerd runtime. Structure is documented below.
diskSizeGb Size of the disk attached to each node, specified
diskType Type of the disk attached to each node
effectiveTaints List of kubernetes taints applied to each node. Structure is documented above.
enableConfidentialStorage Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.
ephemeralStorageConfig ) Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
ephemeralStorageLocalSsdConfig Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
fastSocket Parameters for the NCCL Fast Socket feature. If unspecified, NCCL Fast Socket will not be enabled on the node pool.
flexStart Enables Flex Start provisioning model for the node pool.
gcfsConfig Parameters for the Google Container Filesystem (GCFS).
gpudirectStrategy The type of GPUDirect strategy to enable on the node. See the GKE network docs for information on available modes.
guestAccelerators List of the type and count of accelerator cards attached to the instance.
gvnic Google Virtual NIC (gVNIC) is a virtual network interface.
hostMaintenancePolicy The maintenance policy for the hosts on which the GKE VMs run on. Structure is documented below.
imageType The image type to use for this node. Note that changing the image type
kubeletConfig Node kubelet configs. Structure is documented below.
labels The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are
linuxNodeConfig Parameters that can be configured on Linux nodes. Structure is documented below.
localNvmeSsdBlockConfig Parameters for the local NVMe SSDs. Structure is documented below.
localSsdCount The amount of local SSD disks that will be
localSsdEncryptionMode Possible Local SSD encryption modes:
loggingVariant 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.
machineType The name of a Google Compute Engine machine type.
maxRunDuration The runtime of each node in the node pool in seconds, terminated by 's'. Example: "3600s".
metadata The metadata key/value pairs assigned to instances in
minCpuPlatform Minimum CPU platform to be used by this instance.
nodeGroup 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.
nodeImageConfigs The node image configuration to use for this node pool. Structure is documented below.
oauthScopes The set of Google API scopes to be made available
preemptible A boolean that represents whether or not the underlying node VMs
reservationAffinity The configuration of the desired reservation which instances could take capacity from. Structure is documented below.
resourceLabels The GCP labels (key/value pairs) to be applied to each node. Refer hereresourceManagerTags 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}.
sandboxConfigGKE Sandbox configuration. When enabling this feature you must specify imageType = "COS_CONTAINERD" and nodeVersion = "1.12.7-gke.17" or later to use it.
secondaryBootDisks Parameters for secondary boot disks to preload container images and data on new nodes. Structure is documented below. gcfsConfig must be enabled=true for this feature to work. minMasterVersion must also be set to use GKE 1.28.3-gke.106700 or later versions.
serviceAccount The service account to be used by the Node VMs.
shieldedInstanceConfig Shielded Instance options. Structure is documented below.
soleTenantConfig Allows specifying multiple node affinities useful for running workloads on sole tenant nodes. Structure is documented below.
spot A boolean that represents whether the underlying node VMs are spot.
storagePools The list of Storage Pools where boot disks are provisioned.
tags The list of instance tags applied to all nodes. Tags are used to identify
taintConfig Taint configuration for the node pool. Structure is documented below.
taints A list of
windowsNodeConfig Windows node configuration, currently supporting OSVersion attribute. The value must be one of OS_VERSION_UNSPECIFIED, OS_VERSION_LTSC2019, OS_VERSION_LTSC2022. For example:
workloadMetadataConfig Metadata configuration to expose to workloads on the node pool.
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
Size of the disk attached to each node, specified
in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated to boot_disk.size_gb, and must match if specified in both places.
Prefer configuring bootDisk.
Type of the disk attached to each node
(e.g. 'pd-standard', 'pd-balanced', 'pd-ssd', or 'hyperdisk-balanced'). Defaults to hyperdisk-balanced if hyperdisk-balanced is supported and pd-balanced is not supported for the machine type; otherwise defaults to pd-balanced. This is being migrated to boot_disk.disk_type, and must match if specified in both places. Prefer configuring bootDisk.
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 imageType = "COS_CONTAINERD" and nodeVersion from GKE versions 1.19 or later to use it.
For GKE versions 1.19, 1.20, and 1.21, the recommended minimum nodeVersion would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively.
A machineType 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.
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 Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are
reserved by Kubernetes Core components and cannot be specified.
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 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.
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 serviceAccount to a non-default service account and grant IAM roles to that service account for only the resources that it needs.
A boolean that represents whether or not the underlying node VMs
are preemptible. See the official documentation
for more information. Defaults to false.
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}.
GKE Sandbox configuration. When enabling this feature you must specify imageType = "COS_CONTAINERD" and nodeVersion = "1.12.7-gke.17" or later to use it.
Structure is documented below.
Parameters for secondary boot disks to preload container images and data on new nodes. Structure is documented below. gcfsConfig must be enabled=true for this feature to work. minMasterVersion must also be set to use GKE 1.28.3-gke.106700 or later versions.
A list of
Kubernetes taints
to apply to nodes. This field will only report drift on taint keys that are
already managed with Pulumi, use effectiveTaints to view the list of
GKE-managed taints on the node pool from all sources. Importing this resource
will not record any taints as being Pulumi-managed, and will cause drift with
any configured taints. Structure is documented below.
Windows node configuration, currently supporting OSVersion attribute. The value must be one of OS_VERSION_UNSPECIFIED, OS_VERSION_LTSC2019, OS_VERSION_LTSC2022. For example: