Creating a node pool is useful when you need to run workloads that require machines with specific resources, such as a GPU, additional memory, or specialized network or storage hardware.
Prepare the environment
-
Set the environment variable to the name you assigned this cluster.
export CLUSTER_NAME=aws-example
See Get Started with AWS for information on naming your cluster.
-
If your workload cluster is self-managed, as described in Make the New Cluster Self-Managed, configure
kubectl
to use the kubeconfig for the cluster.export KUBECONFIG=${CLUSTER_NAME}.conf
-
Define your node pool name.
export NODEPOOL_NAME=example
Create an AWS node pool
Create a new AWS node pool with 3 replicas using this command:
dkp create nodepool aws ${NODEPOOL_NAME} \
--cluster-name=${CLUSTER_NAME} \
--replicas=3
machinedeployment.cluster.x-k8s.io/example created
⠈⠁ Creating default/example nodepool resources awsmachinetemplate.infrastructure.cluster.x-k8s.io/example created
⠈⠑ Creating default/example nodepool resources kubeadmconfigtemplate.bootstrap.cluster.x-k8s.io/example created
✓ Creating default/example nodepool resources
This example uses default values for brevity. Use flags to define custom instance types, AMIs, and other properties.
Advanced users can use a combination of the --dry-run
and --output=yaml
flags to get a complete set of node pool objects to modify locally or store in version control.