aws / aws/containers-roadmap

[EKS] [Addon Update]: Conditional resources Limits/Requests validation for Managed Addon

Open
#2,213 1 comment 6 reactions 0 assignees View on GitHub
EKS EKS Add-Ons Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**
I am attempting to remove the CPU limit from an EKS managed addon, specifically targeting the coredns managed addon. The challenge I am facing is that in order to remove the limit, I need to overwrite the values. I have found that setting the limit to "0" achieves this. However, during the EKS addon update process, the verification checks if the limits are greater than the request. While this makes sense in general, it becomes an issue when setting the limit to "0" to remove it. The error message I receive is:

> Deployment.apps "coredns" is invalid: spec.template.spec.containers[0].resources.requests: Invalid value: "300m": must be less than or equal to cpu limit

**Which service(s) is this request for?**
EKS (Elastic Kubernetes Service)

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
I am trying to remove the CPU limit from the coredns managed addon in EKS. The current difficulty lies in the fact that setting the limit to "0" triggers a validation error during the addon update process due to the verification of limits being greater than requests. This becomes a hindrance, especially when the intention is to remove the limit.

**Are you currently working around this issue?**
Currently, there isn't a straightforward workaround for this issue. The proposed fix aims to make the process of removing CPU limits more seamless by addressing the validation checks during addon updates.

**Additional context**

Additionally, it would be beneficial to extend this modification to add the condition to the verification for memory as well.

This is the Advanced Configuration applied:
```json
{
"replicaCount": 4,
"resources": {
"requests": {
"cpu": "300m"
},
"limits": {
"cpu": "0"
}
}
}
```

**Attachments**
N/A

Contributor guide

Open the contributing guide

Research direction

Start with the EKS managed addon update path and the Advanced Configuration example for coredns. Determine how CPU and memory resource limits are validated when a value of "0" is intended to remove the limit; done means updates accept that configuration without rejecting requests that exceed the removed limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, kubernetes
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.