Node Pool Configuration Guide
Node Pool Configuration lets you split cluster capacity into multiple pools with different cost, placement, and migration policies. This guide covers the common node pool controls for AWS, AlibabaCloud, GKE, and AKS so you can shape capacity around workload requirements without losing operational safety.
Use NodePool Disruption Budgets to limit native voluntary node disruption by count, percentage, reason, or UTC restriction window. The same budget model applies across all supported providers.
AWS Node Provision Settings
The following parameters are available for AWS node provisioning:
| Parameter | Description | Default |
|---|---|---|
| Enable | Controls whether this node pool can provision new nodes. CloudPilot also turns this off automatically when a pool enters decommissioning. | true |
| Node Class | Select the node class to use for this node pool. | cloudpilot |
| Provision Priority | The priority of this node pool. | 2 |
| Instance Family | Specifies instance types (e.g., t3, m5). Multiple comma-separated values are allowed. | All instance families |
| Instance Arch | Cluster architecture (supports amd64, arm64). Automatically detected or manually configured. | amd64 |
| Capacity Type | Node purchase option: on-demand, spot, or both. | spot, on-demand |
| Instance Tags | Key-value tags for resource management (e.g., cloudpilot.ai/managed=true). | cloudpilot.ai/managed=true |
| Zone ID | Deployment zone (e.g., us-west-1a). Multiple zones enhance disaster recovery. | All available zones |
| System Disk Size | OS disk size (adjustable). | 20GiB |
| Extra CPU/Memory Allocation | Reserved CPU (mCore) or memory (MiB) for burst tasks. | 0 (disabled) |
| Min/Max CPU | Minimum/maximum CPU cores per node (0 = unlimited). | 0 (Unlimited) |
| Min/Max Memory | Minimum/maximum memory (MiB) per node (0 = unlimited). | 0 (Unlimited) |
| Enable GPU Node Provision | Activates GPU node provisioning. | Disabled |
| GPU Instance Family | GPU instance types (e.g., p4d, p4). Multiple choices allowed. | All GPU families |
| Min Graphic Cards/Memory | Minimum GPU cards or memory (MiB) per node. | 0 (Unlimited) |
AlibabaCloud Node Provision Settings
The following parameters are available for AlibabaCloud node provisioning:
| Parameter | Description | Default |
|---|---|---|
| Enable | Controls whether this node pool can provision new nodes. CloudPilot also turns this off automatically when a pool enters decommissioning. | true |
| Node Class | Select the node class to use for this node pool. | cloudpilot |
| Provision Priority | The priority of this node pool. | 2 |
| Instance Family | Specifies instance types (e.g., ecs.g5, ecs.r6). Multiple comma-separated values allowed. | All instance families |
| Instance Arch | Cluster architecture (supports amd64, arm64). Automatically detected or manually configured. | amd64 |
| Capacity Type | Node purchase option: on-demand, spot, or both. | spot, on-demand |
| Instance Tags | Key-value tags for resource management (e.g., cloudpilot.ai/managed=true). | cloudpilot.ai/managed=true |
| Image Alias | OS image (supports ContainerOS for x86, AlibabaCloudLinux3 for x86/arm64). | AlibabaCloudLinux3 |
| Image ID | Custom image ID (overrides Image Alias if specified). | null |
| Zone ID | Deployment zone (e.g., cn-beijing-a). Multiple zones supported. | All available zones |
| System Disk Size | OS disk size (adjustable). | 20GiB |
| System Disk Categories | Disk types (e.g., cloud_ssd, cloud_essd). Cheapest available is selected. | cloud, cloud_ssd, cloud_efficiency, cloud_essd, cloud_auto, cloud_essd_entry |
| Min/Max CPU | Minimum/maximum CPU cores per node (0 = unlimited). | 0 (Unlimited) |
| Min/Max Memory | Minimum/maximum memory (MiB) per node (0 = unlimited). | 0 (Unlimited) |
| Enable GPU Node Provision | Activates GPU node provisioning. | Disabled |
| GPU Instance Family | GPU instance types (e.g., ecs.gn5i-c2g1, ecs.gn7i-c8g1). Multiple choices allowed. | All GPU families |
| Min Graphic Cards/Memory | Minimum GPU cards or memory (MiB) per node. | 0 (Unlimited) |
GKE Node Provision Settings
The following parameters are available for GKE node provisioning:
| Parameter | Description | Default |
|---|---|---|
| Enable | Controls whether this node pool can provision new nodes. CloudPilot also turns this off automatically when a pool enters decommissioning. | true |
| Node Class | Select the GCENodeClass to use for this node pool. | cloudpilot |
| Provision Priority | The priority of this node pool. | 2 |
| Instance Family | Limits the allowed GCE families (for example n2, c3, or c3d). Multiple comma-separated values are allowed. | All families that satisfy the remaining requirements |
| Instance Arch | The node CPU architecture. | amd64 |
| Capacity Type | Node purchase option: on-demand, spot, or both. | on-demand |
| Zone ID | Deployment zone (e.g., us-central1-a). Multiple zones are supported. | All available zones |
| Min/Max CPU | Minimum/maximum CPU cores per node (0 = unlimited). | 0 / 16 |
| Min/Max Memory | Minimum/maximum memory in MiB per node (0 = unlimited). | 0 / 32768 MiB |
AKS Node Provision Settings
The following parameters are available for AKS node provisioning. CloudPilot AI keeps optimized AKS capacity on user pools and uses AKSNodeClass as the provider-specific node class.
| Parameter | Description | Default |
|---|---|---|
| Enable | Controls whether this node pool can provision new nodes. CloudPilot also turns this off automatically when a pool enters decommissioning. | true |
| Node Class | Select the AKSNodeClass to use for this node pool. | cloudpilot |
| Provision Priority | The priority of this node pool. | 2 |
| Instance Family | Limits the allowed Azure VM families (for example D, E, or F). Multiple comma-separated values are allowed. | All families that satisfy the remaining requirements |
| Instance Arch | The node CPU architecture. | amd64 |
| Capacity Type | Node purchase option: on-demand, spot, or both. | on-demand |
| Zone ID | Deployment zone (for example 1 or 2). Multiple zones are supported. | All available zones |
| Min/Max CPU | Minimum/maximum CPU cores per node (0 = unlimited). | 0 / 16 |
| Min/Max Memory | Minimum/maximum memory in MiB per node (0 = unlimited). | 0 / 32768 MiB |
Delete a Node Pool Safely
On supported Phase 2 clusters, you can enable NodePool Decommission in the cluster Settings page before removing a node pool. This changes deletion from an immediate remove action into a drain-first workflow:
- Delete the node pool from the console.
- CloudPilot marks the pool as Decommissioning and stops it from provisioning any new nodes.
- Existing nodes in that pool keep running, so already-scheduled workloads are not interrupted immediately.
- After the remaining workloads and backing node capacity drain away, CloudPilot finalizes deletion automatically.
Recommended checks before deleting a pool
- Make sure another enabled node pool can accept the workloads that still need to run.
- Move or scale down workloads that are pinned to the target node pool.
- Expect the decommissioning pool to stop handling any new scale-up requests.
- Keep the pool visible until the final delete completes.
This workflow is useful when you want to retire a node pool gradually instead of dropping its backing capacity right away.
Adjust configurations based on workload requirements and validate changes in a staging environment. For further assistance, consult the CloudPilot Documentation or contact support.