ASSOCIATE-CLOUD-ENGINEER practice question 25 of 35

Your company developed an application to deploy on Google Kubernetes Engine. Certain parts of the application are not fault-tolerant and are allowed to have downtime Other parts of the application are critical and must always be available. You need to configure a Goorj e Kubernfl:es Engine duster while optimizing for cost. What should you do?

Full set: 332 questions
Answer options
A: Create a cluster with a single node-pool by using standard VMs. Label the fault-tolerant Deployments as spot-true.
B: Create a cluster with a single node-pool by using Spot VMs. Label the critical Deployments as spot- false.
C: Create a cluster with both a Spot W node pool and a rode pool by using standard VMs Deploy the critical. deployments on the Spot VM node pool and the fault; tolerant deployments on the node pool by using standard VMs.
D: Create a cluster with both a Spot VM node pool and by using standard VMs. Deploy the critical deployments on the mode pool by using standard VMs and the fault-tolerant deployments on the Spot VM node pool. Correct answer
Correct Answer:
D. Create a cluster with both a Spot VM node pool and by using standard VMs. Deploy the critical deployments on the mode pool by using standard VMs and the fault-tolerant deployments on the Spot VM node pool.
Explanation

This strategy correctly aligns the infrastructure with the application's requirements while optimizing for cost. Critical, stateful, or long-running workloads that cannot tolerate interruption should be placed on a node pool with standard VMs, which provide high availability. Fault-tolerant, stateless, or batch workloads that can handle preemption are ideal candidates for Spot VMs. Spot VMs offer significant cost savings but can be reclaimed at any time. By creating two distinct node pools and scheduling the appropriate workloads to each, the solution achieves both high availability for critical services and cost-efficiency for non-critical ones.

Why Incorrect

A. This approach fails to optimize costs because it exclusively uses more expensive standard VMs. A Kubernetes label alone does not enable the use of Spot VMs.
B. This configuration jeopardizes the availability of critical applications by running them on a node pool composed entirely of Spot VMs, which can be preempted at any time.
C. This option incorrectly reverses the deployment logic. It places critical deployments on unstable Spot VMs and fault-tolerant deployments on expensive standard VMs, failing both availability and cost-optimization goals.

References

1. Google Cloud Documentation, GKE Concepts, "Spot VMs": "Spot VMs are a good fit for running stateless, batch, or fault-tolerant workloads. They are not recommended for workloads that are not fault-tolerant, such as stateful applications." This directly supports placing fault-tolerant workloads on Spot VMs and implies critical workloads should be elsewhere.

2. Google Cloud Documentation, GKE Concepts, "About node pools": "Node pools are a subset of nodes within a cluster that all have the same configuration... For example, you might create a node pool in your cluster with Spot VMs for running fault-tolerant workloads and another node pool with standard VMs for workloads that require higher availability." This describes the exact architecture proposed in the correct answer.

3. Google Cloud Documentation, GKE How-to guides, "Separate workloads in GKE": This guide explains the use of node taints and tolerations to control scheduling. To implement the solution, you would add a taint to the Spot VM node pool (e.g., cloud.google.com/gke-spot=true:NoSchedule) and add a corresponding toleration only to the fault-tolerant deployments, ensuring they are scheduled there while critical workloads are placed on the standard node pool.

Scroll to Top