Comments (5)
I think I found the root cause on our tenant env.
Because we have limtRanges setting for each tenant namespace like this:
spec:
limits:
- default:
cpu: 100m
memory: 1Gi
defaultRequest:
cpu: 100m
memory: 1Gi
max:
cpu: "8"
memory: 32Gi
min:
cpu: 10m
memory: 128Mi
type: Container
So the build container cannot get too much resources to build then slower than before by using cluster admin.
So I have a question, how about the build v1
in your openshift before?
- Do you have any resource limitRanges or what
CPU
andmemory
sizes are appropriate? - Is there any best practice about the related setting?
Thanks!
from build.
This issue is fixed by PR: #92
We can close it.
Thanks!
from build.
@zhangtbj hello! would you provide more details about your setup? It sounds rather strange that cluster-admin would provide different performance.
from build.
Good to hear you've figured it out.
So I have a question, how about the
build v1
in your openshift before?
* Do you have any resource limitRanges or whatCPU
andmemory
sizes are appropriate?
Currently the BuildStrategy
(and also ClusterBuildStrategy
) are defining core-v1 Container, and we are not setting any resource limits on them.
Furthermore, to tweak the resource limits a user would have to do so in the BuildStrategy
level. Should we consider exposing the resource limits from the Build
object itself?
* Is there any best practice about the related setting?
I think a good practice is to have resource limits set, and accordingly to the workload you expect on them.
Thanks for bringing this up, that's a good subject to discuss. :-)
from build.
For us, maybe the resource limits on BuildStrategy
level is not enough :), because we have the limitation on namespace level first and we need to follow that.
I did some deep test today, and I found the limitation on our side is spec.limits.default.cpu
, here is my result:
spec.limits.default.cpu = 100m, buildpacks runs 3m30s
spec.limits.default.cpu = 500m, buildpacks runs 57s
spec.limits.default.cpu = 1G, buildpacks runs 43s
spec.limits.default.cpu = 2G, buildpacks runs 41s
spec.limits.default.cpu = 100m, kaniko runs 7m
spec.limits.default.cpu = 500m, kaniko runs 108s
spec.limits.default.cpu = 1G, kaniko runs 68s
spec.limits.default.cpu = 2G, kaniko runs 70s
spec.limits.default.cpu = 100m, buildah runs 10m
spec.limits.default.cpu = 500m, buildah runs 2m24s
spec.limits.default.cpu = 1G, buildah runs 83s
spec.limits.default.cpu = 2G, buildah runs 59s
From the result, I think 500m - 1G spec.limits.default.cpu
setting is enough for us.
FYI, I think it should be also useful for you :)
from build.
Related Issues (20)
- [FEATURE] Move Readme Try It Section to BETA HOT 5
- [FEATURE] v0.13 Bump Tekton and Kubernetes dependencies
- [FEATURE] Document usage of OCIArtifact source type HOT 2
- [BUG] Endless reconcile of build when strategy kind is unknown
- [SHIP-0038] Use Release Branches for Releasing HOT 4
- [tech-debt] Release Workflow Action No Longer Maintained HOT 1
- [BUG] BuildStrategy: Cannot Use Context Dir as Working Directory HOT 4
- [FEATURE] Conditional step HOT 1
- [FEATURE] Build Strategy from Tekton Task/Pipeline HOT 1
- [BUG] Automatic release README update needs to be fixed HOT 4
- [FEATURE] Provide Storage Version Migration from v1alpha1 to v1beta1 HOT 1
- [BUG] git clone issue on newest Git version HOT 3
- [FEATURE] Windows Containers/Node Support HOT 2
- [FEATURE] Support another technology to define and orchestrate the image creation inside a pod HOT 2
- [BUG] Unit tests run fine with `go test`, but fail when used with Ginkgo CLI HOT 1
- SHIP-0039: Allow node selector on `Build` and `BuildRun` to be set HOT 7
- SHIP-0039: Allow tolerations on `Build` and `BuildRun` to be set
- SHIP-0039: Allow custom scheduler to be used for `Build` and `BuildRun`
- [FEATURE] Establish a release cadence based on Tekton LTS releases HOT 3
- [BUG] The container name for shipwright build webhook doesn't match the environment variable HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from build.