-
Notifications
You must be signed in to change notification settings - Fork 34
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
Add prebuilt image for python #127
Conversation
I think for this great work you have done, it will be nice to let reviewers know that: (1) You have verified with benchmark-prod (deployed controller) or benchmark-dev1 (deployed controller or local controller run against cluster) using this image, and reach to the same stage as regular images. (I usually have this statement in the comment for the previous images, it is up to you how you want to verify it, but at least people know you have verified it)
(3) How much is the time we saved for using pre-built image. I have not went through cxx for these step in the comments is because it is part of the investigation and have been verified and reported several times, and for go, I have not yet mark the pr as ready, I will probably do the same thing as I described. |
This apply to all the images, I leave it here so I won't flood all your PRs. :) |
Thanks for pointing out! |
…n on prebuilt image
I think Paulo already mentioned things I want to talk about. LGTM. |
…st out of this branch
Python image is built by Bazel from grpc/grpc, and can be further optimized.
After built, bone structure/binary is extracted to a new image to shrink the final image's size.
The build procedure mimic the init-containers' clone, build and run steps.
I have verified the prebuilt image on benchmark-prod reaching the same stage as regular multi-stage images.
The image size:
So approximately 8.43MB would be pushed to gcr.io.
Using prebuilt image, we can complete the performance test within 50s while we need 7m32s to finish using multi-stage images. Thus, we can save approximately 6m40s.