A developer needs to deploy a batch processing workload consisting of stateless, fault-tolerant jobs to an existing Google Kubernetes Engine (GKE) Standard cluster. The primary operational objective is to minimize compute costs for these batch tasks without risking the stability of critical system workloads running on the cluster. Which node pool configuration strategy should the developer implement?
- Create a dedicated node pool with Spot VMs enabled, apply a taint to the node pool, and configure the batch deployment manifests with matching tolerations.Answer
- BUpdate the existing default node pool that hosts core system components to use Spot VMs so that all cluster workloads immediately reduce compute expenses.
- CMigrate the entire GKE cluster to GKE Autopilot with custom OS kernel parameter overrides to force low-cost preemptible control plane nodes.
- DExecute `gcloud config set container/use_spot_vms true` on the local workstation before deploying the workload using `kubectl apply`.
Answer
Create a dedicated node pool with Spot VMs enabled, apply a taint to the node pool, and configure the batch deployment manifests with matching tolerations.
Stateless, fault-tolerant batch workloads are ideal candidates for GKE Spot VM node pools due to significant cost savings. Creating a dedicated node pool with taints ensures that default or non-fault-tolerant system workloads are not placed on preemptible nodes, while adding matching tolerations to the batch workload allows Kubernetes to schedule those specific pods onto the Spot nodes.
Step-by-Step Solution
Key Concept
Configuring Spot VM Node Pools with Taints and Tolerations in GKE