Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.

Unlimited Access

Get Unlimited Contributor Access to the all ExamTopics Exams!
Take advantage of PDF Files for 1000+ Exams along with community discussions and pass IT Certification Exams Easily.

Exam Associate Cloud Engineer topic 1 question 108 discussion

Actual exam question from Google's Associate Cloud Engineer
Question #: 108
Topic #: 1
[All Associate Cloud Engineer Questions]

A team of data scientists infrequently needs to use a Google Kubernetes Engine (GKE) cluster that you manage. They require GPUs for some long-running, non- restartable jobs. You want to minimize cost. What should you do?

  • A. Enable node auto-provisioning on the GKE cluster.
  • B. Create a VerticalPodAutscaler for those workloads.
  • C. Create a node pool with preemptible VMs and GPUs attached to those VMs.
  • D. Create a node pool of instances with GPUs, and enable autoscaling on this node pool with a minimum size of 1.
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️
Reference:
https://cloud.google.com/kubernetes-engine/docs/how-to/gpus

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
Polok
Highly Voted 3 years, 10 months ago
If you need something for long-running, non- restartable jobs you dont use preemptible VMs Think answer is D.
upvoted 70 times
...
[Removed]
Highly Voted 3 years ago
Incorrect options are B. VerticalPodAutscaler scales PODS based on the app you deploy. For handle infrequently GPU access, you need infrequently GPU nodes VerticalAutscaler Pod deployed on a non GPU node it useless, [We cant have the node always have GPU for infrequent requests] C. Preemptible VMs cant last long D. For infrequent access, you don't want to have a permanent homogenous cluster. The correct option is "A" auto-provisioning = Attaches and deletes node pools to cluster based on the requirements. Hence creating a GPU node pool, and auto-scaling would be better https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning
upvoted 25 times
dttncl
2 years, 6 months ago
I do agree A is the answer. Since this is for infrequent needs, autoscaling in letter D is not cost effective as it will always run min. of 1 instance. If we need to infrequently use a cluster, the nodes should be able to adjust based on the current need. "With node auto-provisioning, new node pools are created and deleted automatically." https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning
upvoted 7 times
ngeorgiev2
2 months ago
If the answer was "Create auto-provisioning node pool" or demand is not about GPU resources I'll agree with A too, but there is a limitation about existing node pools and GPU, so enabling of auto-provisioning will not create GPU nodes. Need to create separate GPU pool then enable auto-provisioning for it.
upvoted 1 times
...
...
kyo
2 years, 9 months ago
I think using NAP is the correct answer. →Node Auto Provisioning (NAP a.k.a., Nodepool Auto Provisioning) There is an introduction of NAP described below on the blog. >The above recommendations optimize for cost. NAP, for instance, reduces costs by taking down nodes during underutilized periods. https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-creating-a-highly-available-gke-cluster
upvoted 3 times
...
kimharsh
2 years, 5 months ago
A is not correct because you can't add a GPU node to an existing GKE cluster Limitations Before using GPUs on GKE, keep in mind the following limitations: You cannot add GPUs to existing node pools. GPU nodes cannot be live migrated during maintenance events. GPUs are only supported with general-purpose N1 machine types. GPUs are not supported in Windows Server node pools REF: https://cloud.google.com/kubernetes-engine/docs/how-to/gpus#limitations So the answer should be D
upvoted 10 times
rachee
2 years, 4 months ago
Your reference says existing "node pools" not GKE cluster. Auto-provisioning creates new "node pools": https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning
upvoted 5 times
Ridhanya
2 years, 4 months ago
but node pools are homogenous, so how can we be sure that option A will create a GPU node pool
upvoted 2 times
wjtb
1 year, 11 months ago
https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning Node auto-provisioning creates node pools based on the following information: CPU, memory and ephemeral storage resource requests. GPU requests Pending Pods' node affinities and label selectors. Pending Pods' node taints and tolerations.
upvoted 9 times
...
...
...
...
JCH760310
2 years, 4 months ago
they "require GPUs" - so after checking in Udemy practice tests there is similar question there. And the D answer seems to be the best fit for our scenario here. "This option is the most optimal solution for the requirement. Rather than recreating all nodes, you create a new node pool with GPU enabled. You then modify the pod specification to target particular GPU types by adding node selector to your workload's Pod specification. You still have a single cluster, so you pay Kubernetes cluster management fee for just one cluster, thus minimizing the cost." Still better option than creating new GKE cluster with GPUs. Ref: https://cloud.google.com/kubernetes-engine/docs/how-to/gpus Ref: https://cloud.google.com/kubernetes-engine/pricing
upvoted 7 times
...
...
Sheqos
Most Recent 1 month, 1 week ago
Selected Answer: D
Selected Answer: D
upvoted 1 times
...
PiperMe
1 month, 3 weeks ago
Selected Answer: D
You are not able to add GPUs to existing node pools. This significantly impacts the viability of option A. My reasoning for D: A dedicated GPU node pool allows configuring those nodes with specific instance types, disk sizes, etc., ensuring the best fit for the long-running jobs. While it incurs some cost even with a minimum size of 1, it might still be more cost-efficient than full auto-provisioning if the jobs are infrequent but require a predictable baseline capacity. Separating GPU and non-GPU workloads can improve resource scheduling and prevent potential conflicts.
upvoted 1 times
...
ngeorgiev2
2 months ago
In my opinion, more sense has A, but then i read again and again the answer - "Enable node auto-provisioning" with GPU will not works due to limitation "You cannot add GPUs to existing node pools". If "A" was like "Create GPU node pool with enabled auto-provisioning" this will be correct answer, in in our case should be D
upvoted 2 times
...
JB28
3 months, 2 weeks ago
The most cost-effective option for your scenario would be **C. Create a node pool with preemptible VMs and GPUs attached to those VMs**. Preemptible VMs are Google Cloud's excess compute capacity. They are up to 80% cheaper than regular instances, making them a cost-effective choice for fault-tolerant workloads that do not require continuous availability³. However, please note that preemptible VMs are subject to availability and can be preempted if Google Cloud requires access to those resources, but they will be a good choice if the jobs can tolerate occasional preemptions³. While options A, B, and D could also be used in certain scenarios, they may not provide the same level of cost-effectiveness for long-running, non-restartable jobs that require GPUs⁵. Always consider the nature of your workloads and their tolerance for interruptions when choosing the right solution.
upvoted 1 times
...
kaby1987
3 months, 3 weeks ago
Selected Answer: D
The ans is D,since they require gpu
upvoted 1 times
...
yash_1199
3 months, 4 weeks ago
Selected Answer: D
The correct option is "D"
upvoted 1 times
...
ogerber
4 months, 3 weeks ago
Selected Answer: A
It is A Node auto-provisioning creates node pools based on the following information: CPU, memory, and ephemeral storage resource requests. GPU requests. Pending Pods' node affinities and label selectors. Pending Pods' node taints and tolerations. https://cloud.google.com/kubernetes-engine/docs/concepts/node-auto-provisioning
upvoted 2 times
...
kelliot
5 months ago
Selected Answer: A
For me is A
upvoted 1 times
...
vipinnn00980
5 months ago
Selected Answer: D
Think answer is D.
upvoted 1 times
sinceronny
4 months ago
.... any reason?
upvoted 1 times
...
...
thewalker
5 months ago
Selected Answer: A
Best option is A: https://cloud.google.com/kubernetes-engine/docs/concepts/node-auto-provisioning#how-it-works
upvoted 1 times
...
BAofBK
5 months, 3 weeks ago
I go with D
upvoted 1 times
...
ezzar
6 months ago
Selected Answer: A
By default, GKE uses the E2 machine series unless any of the following conditions apply: The workload requests a feature that is not available in the E2 machine series. For example, if a GPU is requested by the workload, the N1 machine series is used for the new node pool. https://cloud.google.com/kubernetes-engine/docs/concepts/node-auto-provisioning
upvoted 1 times
...
ekta25
6 months, 3 weeks ago
D. Create a node pool of instances with GPUs, and enable autoscaling on this node pool with a minimum size of 1.
upvoted 1 times
...
raxt
6 months, 3 weeks ago
Selected Answer: D
Option A, which seems to be the most voted so far, is incorrect in my opinion. From Google's docs: "You cannot add GPUs to existing node pools." https://cloud.google.com/kubernetes-engine/docs/how-to/gpus#limitations So, answer A implies that GPUs are already used in the current cluster that needs to be autoscaled.
upvoted 1 times
...
gloria216
6 months, 4 weeks ago
The correct answer should be A
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...