-
Notifications
You must be signed in to change notification settings - Fork 89
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
pipelines: Increase default memroy limit for Mysql instance #980
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: zijianjoy The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm Thanks! |
Hi @zijianjoy, did you consider adding a memory limit to the MySQL manifest instead? |
kubeflow/pipelines#5148 Just my thoughts, take it with a grain of salt |
Note that we have this 800Mi request for MySQL since about 10 months ago per change history: https://github.com/kubeflow/pipelines/blob/28ac092e927bd76294e9f29ad9f0ba929f6a3060/manifests/kustomize/third-party/mysql/base/mysql-deployment.yaml#L40 Looks like MySQL should be able perform under 512M memory: https://dev.mysql.com/doc/refman/5.7/en/memory-use.html That being said, I'm curious why didn't we set a lower default request (like 512M) with a higher default limit (like 1G)? |
@Bobgy It sounds good to me about setting the resource limit in mysql deployment, instead of the LimitRange. The question is: Does setting a resource limit in the KFP manifest cause potential OOM for heavy users? Or maybe we can set such limit for the Another issue is we don't know what is causing the cluster in |
I realize running Also I realize that this PR didn't propagate the change to the |
Follow up on this, @Bobgy we were trying to understand what's the tigger for updating the cluster in |
Thank you Chen! I am able to only apply memory limit to mysql deployment in our CI cluster: #982. Also thank you for running the |
This is a trade off. If we set low request and high limit, probably more pods run without resource config, because their mem usage is between low and high. However, remember that only requests affect pod scheduling. We may end up with a 4GB node with 8 pods each requesting 0.5GB mem and 1GB limit. They cannot all get the 1GB memory, because the node only has 4GB in total. Therefore, some of them may randomly OOM by coincidence. For test infra, we hit random OOMs before, I think a better trade off is to configure more Pods with explicit memory request=limit and reduce the likelihood of random OOMs. More thorough doc: https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-resource-requests-and-limits |
Which issue is resolved by this Pull Request:
Resolves #
Description of your changes:
This is because the 1.8.0-rc.0 introduced the memory request for mysql instance:
testing/test-infra/kfp/kfp-standalone-1/kustomize/upstream/third-party/mysql/base/mysql-deployment.yaml
Line 40 in 8644d09
Checklist:
If PR related to Optional-Test-Infra,
aws/GitOps
folder:cd aws
make optional-generate
make optional-test