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

Exam Professional Cloud Developer All Questions

View all questions & answers for the Professional Cloud Developer exam

Exam Professional Cloud Developer topic 1 question 113 discussion

Actual exam question from Google's Professional Cloud Developer
Question #: 113
Topic #: 1
[All Professional Cloud Developer Questions]

You are designing a resource-sharing policy for applications used by different teams in a Google Kubernetes Engine cluster. You need to ensure that all applications can access the resources needed to run. What should you do? (Choose two.)

  • A. Specify the resource limits and requests in the object specifications.
  • B. Create a namespace for each team, and attach resource quotas to each namespace.
  • C. Create a LimitRange to specify the default compute resource requirements for each namespace.
  • D. Create a Kubernetes service account (KSA) for each application, and assign each KSA to the namespace.
  • E. Use the Anthos Policy Controller to enforce label annotations on all namespaces. Use taints and tolerations to allow resource sharing for namespaces.
Show Suggested Answer Hide Answer
Suggested Answer: BC 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
scaenruy
Highly Voted 2 years, 10 months ago
I vote B, C https://kubernetes.io/docs/concepts/policy/resource-quotas/ https://kubernetes.io/docs/concepts/policy/limit-range/
upvoted 13 times
Blueocean
2 years, 10 months ago
Yes agree B, C https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-resource-requests-and-limits
upvoted 6 times
...
...
thewalker
Most Recent 4 months, 1 week ago
Selected Answer: BC
B. Create a namespace for each team and attach resource quotas to each namespace. This is a fundamental best practice for multi-tenancy in Kubernetes. Namespaces provide isolation and organization, and resource quotas allow you to control the maximum resources that applications within a namespace can consume. This ensures fair resource allocation and prevents one team from monopolizing resources. C. Create a LimitRange to specify the default compute resource requirements for each namespace. LimitRanges define minimum and maximum resource limits for objects (like Pods) within a namespace. This helps standardize resource usage and prevents applications from requesting excessive resources.
upvoted 1 times
thewalker
4 months, 1 week ago
Let's look at why the other options are less ideal: A. Specify the resource limits and requests in the object specifications. While this is important for individual Pods, it doesn't provide a centralized way to manage resource sharing across multiple teams. D. Create a Kubernetes service account (KSA) for each application and assign each KSA to the namespace. Service accounts are for authentication and authorization, not for resource management. E. Use the Anthos Policy Controller to enforce label annotations on all namespaces. Use taints and tolerations to allow resource sharing for namespaces. Anthos Policy Controller is a powerful tool for policy enforcement, but it's not the primary mechanism for managing resource quotas and limits. Taints and tolerations are used for node affinity and scheduling, not for resource allocation.
upvoted 1 times
...
...
plutonians123
1 year ago
Selected Answer: AC
When it comes to Google's recommended best practices for Kubernetes, especially in the context of Google Kubernetes Engine (GKE), the emphasis is generally placed on setting specific resource requests and limits for each pod and container (Option A). This approach aligns with Kubernetes best practices, as it ensures efficient and reliable operation of applications by maximizing infrastructure utilization and guaranteeing smooth application performance​​. This granular level of configuration, where resource requests and limits are explicitly set for each workload, is key to operating applications as efficiently and reliably as possible in Kubernetes clusters. It allows for the classification of pods into different Quality of Service (QoS) classes, such as 'Guaranteed' and 'Burstable', which further aids in resource management and scheduling decisions​​.
upvoted 1 times
...
__rajan__
1 year, 2 months ago
Selected Answer: AB
Specify the resource limits and requests in the object specifications. This will ensure that each application is allocated the resources it needs to run, and that no application can consume more resources than it was allocated. Create a namespace for each team, and attach resource quotas to each namespace. This will allow you to isolate each team's applications from each other, and to ensure that each team's applications are not consuming more resources than they were allocated.
upvoted 1 times
...
purushi
1 year, 3 months ago
I go with B and C. Defining namespaces and Limiting resource quotas for each team in order to avoid resource collisions and hunger.
upvoted 2 times
...
omermahgoub
1 year, 10 months ago
Selected Answer: BC
In the context of the problem statement, B and C are appropriate solution for ensuring that all applications can access the resources needed to run: B. Create a namespace for each team, and attach resource quotas to each namespace. This way, you can set limits on the resources that a team can consume, so that one team does not consume all the resources of the cluster, and that resources are shared among all teams in a fair way. C. Create a LimitRange to specify the default compute resource requirements for each namespace. LimitRanges allow you to set default limits and requests for all the pods in a specific namespace, it also ensure that pods in that namespace can never consume more resources than the LimitRange defined. You can use a combination of resource limits, quotas, and limit ranges to prevent a single team or application from consuming too many resources, as well as to ensure that all teams and applications have access to the resources they need to run.
upvoted 1 times
omermahgoub
1 year, 10 months ago
Option A: Specify the resource limits and requests in the object specifications, is a valid method for controlling the resources that a pod or container needs, but it may not be sufficient by itself to fully manage the resources in a multi-tenant cluster where multiple teams and applications need to share resources. When you set resource limits and requests on the pod or container level, you have a fine-grained control over the resources that a specific pod or container needs, but it doesn't provide a way to set limits or quotas on the level of a whole team or namespace. It also doesn't provide a default configuration for all pods created in a namespace. By itself, this method does not give you the visibility and control you need over the overall resource usage across multiple teams and applications. With creating a namespace per team and attaching quotas, you can limit the resources each team can use, and with LimitRange you can ensure that no pod created in the namespace can go beyond specific limits.
upvoted 1 times
...
...
zellck
1 year, 11 months ago
Selected Answer: BC
BC is the answer. https://kubernetes.io/docs/concepts/policy/resource-quotas/ A resource quota, defined by a ResourceQuota object, provides constraints that limit aggregate resource consumption per namespace. It can limit the quantity of objects that can be created in a namespace by type, as well as the total amount of compute resources that may be consumed by resources in that namespace. https://kubernetes.io/docs/concepts/policy/limit-range/ A LimitRange is a policy to constrain the resource allocations (limits and requests) that you can specify for each applicable object kind (such as Pod or PersistentVolumeClaim) in a namespace.
upvoted 2 times
...
TNT87
2 years ago
Selected Answer: BC
https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-resource-requests-and-limits Ans B,C
upvoted 3 times
...
tomato123
2 years, 3 months ago
Selected Answer: BC
BC are correct
upvoted 4 times
...
bk7
2 years, 3 months ago
Selected Answer: AB
A&B as obvious !
upvoted 3 times
alex8081
2 years, 3 months ago
why A&B?
upvoted 1 times
...
...
akshaychavan7
2 years, 3 months ago
Selected Answer: BC
I will go with B and C.
upvoted 1 times
...
jdx000
2 years, 4 months ago
Selected Answer: BC
B,C are the right options
upvoted 2 times
...
[Removed]
2 years, 7 months ago
A, B LimitRanges are great and all, but they don't actually guarantee that running containers have the resources available that they need, since they're not object-specific.
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 ...