Add resources requests and limits for all containers #327
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue number:
Closes #240
Description of changes:
This patch provides the expected resource (cpu and memory) requests for each container along with some reasonable limits. These numbers were derived from several experiments (noted in #240 and in the process of creating this patch): the
10m
CPU and50Mi
memory limit is due to components having spikes in resource requirements when nodes rotate and pods are re-scheduled (during upgrade scenarios where the agent, api-server, and/or controller exist on the upgrading node). Therequest
delimiter allows for more resources to be consumed (if they are available on the node) and should be safe since we drain the nodes before doing an upgrade. Having too tight of resource limits will cause the system's kernel to kill the process, so these are intentionally forgiving.TODO:
Testing done:
Several integration tests were run with the
metric-server
and kubernetesdashboard
also installed to monitor resource utilization.Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.