Create GCP Node Pools
Creating a node pool is useful when you need to run workloads that require machines with specific resources, such as additional memory, or specialized network or storage hardware.
Prerequisites
Before you begin, make sure you have created a GCP cluster.
Prepare the environment
Follow these steps:
Set the environment variable to the name you assigned this cluster.
CODEexport CLUSTER_NAME=gcp-example
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.CODEexport KUBECONFIG=${CLUSTER_NAME}.conf
Define your node pool name.
CODEexport NODEPOOL_NAME=example
Create a GCP node pool
Availability zones (AZs) are isolated locations within data center regions from which public cloud services originate and operate. Because all the nodes in a node pool are deployed in a single Availability Zone, you may wish to create additional node pools is to ensure your cluster has nodes deployed in multiple Availability Zones.
Create a new AWS node pool with 3 replicas using this command:
Set the --zone
flag to a zone in the same same region as your cluster.
dkp create nodepool gcp ${NODEPOOL_NAME} \
--cluster-name=${CLUSTER_NAME} \
--image $IMAGE_NAME \
--zone us-west1-b \
--replicas=3
machinedeployment.cluster.x-k8s.io/example created
⠈⠁ Creating default/example nodepool resources
gcpmachinetemplate.infrastructure.cluster.x-k8s.io/example created
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, and other properties.
Advanced users can use a combination of the --dry-run
and --output=yaml
or or --output-directory=<your-target-directory>/
flags to get a complete set of node pool objects to modify locally or store in version control.