Skip to main content

Kubernetes Node Pool

KubernetesNodePool

Defines a group of nodes within a GKE cluster that share the same configuration.

Translates this manifest into cluster node pools, managing autoscaling boundaries, machine types, and node lifecycle parameters.

PropertyTypeDescription
apiVersionstringAPI schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1.
kindstringResource kind discriminator. Identifies this document as a KubernetesNodePool so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant KubernetesNodePool.
metadatamapClassification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name) are read by the engine to resolve this manifest's identity and attach it to its parent Kubernetes cluster in the dependency graph.
specSpecDesired node pool configuration. The authoritative, user-authored specification for this node pool. See Spec.

Spec

User-provided node pool configuration.

Compute specifications for the node pool: machine family, boot disk geometry, autoscaling bounds, upgrade strategy, and node lifecycle and security parameters.

PropertyTypeDescription
descriptionstringHuman-readable description of this node pool. Optional free text describing the role of this node pool. Currently not propagated onto the provisioned GKE node pool resource; used for documentation and as context by AI assistants when reasoning about the manifest.
machineTypestringNode machine type. Required. The machine type for nodes in this pool (e.g. e2-standard-4). Applied as the core node machine type on the provisioned GKE node pool.
minCountint64Autoscaling minimum node count. Lower bound for cluster autoscaling of this node pool. Autoscaling is enabled by the executor when min_count or max_count is greater than 0. Must be greater than or equal to 0.
maxCountint64Autoscaling maximum node count. Upper bound for cluster autoscaling of this node pool. Autoscaling is enabled by the executor when min_count or max_count is greater than 0.
maxSurgeint64Maximum surge during upgrades. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: cap the number of extra nodes created beyond the current size during a rolling upgrade.
maxUnavailableint64Maximum unavailable during upgrades. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: cap the number of nodes that may be simultaneously unavailable during a rolling upgrade.
diskSizeGbint64Boot disk size, in gigabytes. Size of the boot disk for each node in the pool. Applied as the node boot disk geometry on the provisioned GKE node pool.
diskTypestringBoot disk type. The underlying storage hardware variant for each node's boot disk. Applied to the provisioned GKE node pool. Must be one of pd-standard, pd-balanced, pd-ssd, or hyperdisk-balanced.
imageTypestringNode image type. The OS image used for nodes in this pool (e.g. COS_CONTAINERD). Applied as the node image type on the provisioned GKE node pool.
autoRepairboolAutomatic node repair. When true, GKE automatically detects and repairs unhealthy nodes in this pool. Applied to the node pool's management settings.
autoUpgradeboolAutomatic node upgrades. When true, GKE automatically upgrades the nodes in this pool to newer versions. Applied to the node pool's management settings.
enableSecureBootboolShielded VM secure boot. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: create nodes as shielded instances with secure boot verification enabled.
preemptibleboolPreemptible (spot) nodes. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: provision the node pool using cheaper preemptible/spot VMs that may be terminated at any time.
initialNodeCountint64Initial node count. Number of nodes to create in this pool when it is first provisioned. Applied as the initial node count on the provisioned GKE node pool. Must be greater than or equal to 0.