Data Plane Configuration
The Data Plane configuration is a crucial part of the cluster setup. It defines the configuration for the data plane of the cluster.
Configuration Requirements
- The
dataPlaneconfiguration must contain at least onenodeGroup. The one exception is an EKS cluster in Auto Mode, where AWS provisions nodes for you anddataPlanemust be omitted. - The
nodeGroupconfiguration must have a validname,minNode,maxNode, andmachineTypes. - The
instanceTypemust be eitherondemandorspot. The default value isondemand. - The
availabilityZoneslist must be empty or contain at least one availability zone. This is optional field and not required for EKS clusters.
Node Groups
A Node Group represents a group of nodes in the cluster. It has the following configuration options:
-
name: The name of the node group, which must be a valid DNS name.
-
minNode: The minimum number of nodes in the group.
0is allowed where something is watching the group and can bring nodes back when a pod cannot be placed — GKE, AKS user pools, and self-hosted clusters. The group then drains to nothing while idle, so you stop paying for that group's nodes. The control plane is unaffected: it keeps running, keeps the cluster reachable, and is still billed.It is refused on EKS managed node groups, which are fixed capacity: nothing there would scale the group up again, so a floor of zero would leave it at zero permanently. Use the Karpenter add-on for elastic capacity on EKS instead.
It is also refused for the first node group on AKS, which Azure runs cluster-critical workloads on and requires to keep a node. Scale a later pool to zero instead.
-
maxNode: The maximum number of nodes in the group.
-
machineTypes: A list of machine types for the nodes in this group.
-
labels: A map of labels to be applied to the nodes in this group. This is optional field.
-
taints: A list of taints to be applied to the nodes in this group. This is optional field.
-
instanceType: The type of instance, which can be either
ondemandorspot. The default value isondemand. -
availabilityZones: A list of availability zones. If empty, the platform will select the availability zones based on the region and provider.
For more information please refer the API documentation for the API Reference and look for the dataPlane section in clusterSpec.
Example Node Group Configuration
Here is an example of a NodeGroup configuration:
dataPlane:
nodeGroups:
- name: example-group
minNode: 3
maxNode: 5
machineTypes: ["m5.xlarge", "m5.2xlarge"]
labels:
"example-label": "example-value"
instanceType: ondemand
Supported Instance Types
The following instance types are supported:
- ondemand: On-demand instances. For self-hosted clusters.
- spot: Spot instances.
Retrieving Regions and Availability Zones
To retrieve a list of available regions and availability zones, use the astroctl cloud commands. For example, to list AWS regions:
List AWS regions
astroctl cloud aws regions list
List zones in an AWS region
astroctl cloud aws regions zones list -r us-west-2
Retrieving Machine Types
To retrieve a list of available machine types, use the provider-specific machine command. For example, to get AWS machine types in us-west-2 with 2-4 CPUs:
astroctl cloud aws machines list -r us-west-2 --cpuMin 2 --cpuMax 4
For more information, see the cloud CLI reference.