Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ckcp: Optimize resource requests and limits #184

Merged
merged 1 commit into from
Aug 10, 2022
Merged

ckcp: Optimize resource requests and limits #184

merged 1 commit into from
Aug 10, 2022

Conversation

adambkaplan
Copy link
Contributor

@adambkaplan adambkaplan commented Aug 5, 2022

kcp-in-container (ckcp) currently has CPU and memory requests that make
it difficult to schedule on a standard IPI cluster. In testing, the
following behavior was observed:

  • Initial memory usage hits 177Mi, is never lower.
  • kcp memory increases to ~500Mi once syncer is deployed.
  • CPU usage rarely exceeds 0.1 CPU per minute. 100m CPU request is
    typical for a system workload.

Partially addresses #118

@adambkaplan
Copy link
Contributor Author

Note - with this configuration update, ckcp can be deployed on a minimal AWS IPI-installed cluster (3 control plane nodes, 3 m6i.large worker nodes with 2 CPU, ~8Gi RAM)

Copy link
Contributor

@fgiloux fgiloux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Adam for looking at that. This PR will definitively make the resources for running the ckcp based environment more affordable.

@@ -38,10 +38,11 @@ spec:
value: ckcp-ckcp.apps.domain.org
resources:
limits:
cpu: 1000m
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the purpose of the cpu limit?
Limit does not play any role in scheduling or resource reservation.
It could protect against a bad behavior of kcp but if kcp is not responding there is nothing left to protect.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll remove this. Since CPU is compressible, limits only throttle the process. This doesn't really matter for development.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

kcp-in-container (ckcp) currently has CPU and memory requests that make
it difficult to schedule on a standard IPI cluster. In testing, the
following behavior was observed:

- Initial memory usage hits 177Mi, is never lower.
- kcp memory increases to ~500Mi once syncer is deployed.
- CPU usage rarely exceeds 0.1 CPU per minute. 100m CPU request is
typical for a system workload.

Signed-off-by: Adam Kaplan <[email protected]>
@fgiloux fgiloux merged commit c0d9897 into openshift-pipelines:main Aug 10, 2022
Roming22 pushed a commit that referenced this pull request Dec 19, 2022
from https://github.com/redhat-appstudio/build-definitions 93dac682ee16a08634d593b836758e1d4fa8d967

Co-authored-by: Build deployer <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants