[EKS] [request]: Expose max pods through the MNG API
- 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**
Please expose kubelet's --max-pods argument through the MNG API.
**Which service(s) is this request for?**
EKS
**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
Depending on the type of workloads, sometimes we need to set max pods on the node to less than the IP/ENI limit would impose. We need this to be a nodegroup setting that one can use to self-restrict nodes to a lower number of pods per node.
Running at high pod densities leaves few resources to be shared by burstable workloads. For example, some Java apps need the extra resources buffer to scale up as opposed to out. When there's too many of these on a single node, memory pressure causes pods to get evicted from the node. While this is a normal behavior, the startup time of such pods is not the best so we'd rather prevent such occurrences as much as possible.
**Are you currently working around this issue?**
We are considering using a custom launch template with custom bootstrap script in user data as suggested [here](https://github.com/aws/containers-roadmap/issues/138#issuecomment-912081755).
**Additional context**
This request is somewhat opposite to [this one](https://github.com/aws/containers-roadmap/issues/138). I think both have their valid use cases.
Contributor guide
Research direction
The issue names no repository files or tests; begin with the EKS Managed Node Group API and the kubelet --max-pods argument. Compare the requested node-group setting with the workaround in issue #138, and define done as exposing a lower per-node pod limit through the MNG API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, kubernetes
- Domain
- api, cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100