5. Production-Ready Kubernetes Clusters
Activity 5: Minimizing the Costs of Serverless Functions in a GKE Cluster
Solution
- Create a new node pool with preemptible servers.
Run the following and upcoming functions in your GCP cloud shell:
gcloud beta container node-pools create preemptible --preemptible \ --min-nodes 1 --max-nodes 10 --enable-autoscaling \ --cluster serverless --zone us-central1-a
Note
Change the
zone
parameter if your cluster is running in another zone.This function creates a new node pool named
preemptible
with an automatically scaled minimum of 1 node and a maximum of 10 nodes, as shown in the following figure:Figure 5.29: Node pool creation
- Taint the preemptible servers to run only serverless functions:
kubectl taint node -l cloud.google.com/gke-nodepool=preemptible \ preemptible="true":NoSchedule
This command will apply taints to all nodes with the label
cloud.google.com/node-pool = preemptible
. The taint...