ASSOCIATE-CLOUD-ENGINEER · Question #222
You are running multiple microservices in a Kubernetes Engine cluster. One microservice is rendering images. The microservice responsible for the image rendering requires a large amount of CPU time…
The correct answer is B. Create a node pool with compute-optimized machine type nodes for the image rendering. To optimize resource utilization for a CPU-intensive image rendering microservice alongside other general-purpose workloads in a Kubernetes Engine cluster, create a dedicated node pool with compute-optimized machine types for the CPU-bound service.
Question
Options
- AAssign the pods of the image rendering microservice a higher pod priority than the older
- BCreate a node pool with compute-optimized machine type nodes for the image rendering
- CUse the node pool with general-purpose machine type nodes for lite mage rendering
- DConfigure the required amount of CPU and memory in the resource requests specification of the
How the community answered
(55 responses)- A15% (8)
- B75% (41)
- C5% (3)
- D5% (3)
Why each option
To optimize resource utilization for a CPU-intensive image rendering microservice alongside other general-purpose workloads in a Kubernetes Engine cluster, create a dedicated node pool with compute-optimized machine types for the CPU-bound service.
Assigning higher pod priority affects scheduling order when resources are scarce but does not fundamentally optimize resource utilization by providing the right *type* of underlying hardware for a specific workload's demands.
For a microservice that is highly CPU-intensive and requires a large amount of CPU, creating a dedicated node pool with compute-optimized machine types (e.g., C2 machine types) allows you to provide the specific resources needed for that workload. This prevents the CPU-intensive workload from competing with other microservices on general-purpose nodes and ensures efficient resource allocation by matching node types to workload requirements.
Using general-purpose machine type nodes for a CPU-intensive image rendering workload would not be optimal, as these nodes might not provide the high CPU-to-memory ratio or raw CPU performance needed for efficient rendering, leading to underutilization of other resources or slow processing.
Configuring CPU and memory requests and limits in pod specifications is crucial for Kubernetes scheduling and resource management, but it doesn't address the underlying hardware optimization needed for a specialized, CPU-intensive workload if the node pool types are mismatched.
Concept tested: GKE node pool optimization for specific workloads
Source: https://cloud.google.com/kubernetes-engine/docs/how-to/node-pools
Topics
Community Discussion
No community discussion yet for this question.