-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
faster containerd start by preloading images #7793
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: medyagh 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 |
/ok-to-test |
kvm2 Driver Times for Minikube (PR 7793): [65.135420829 67.507113578 61.47996308100001] Averages Time Per Log
docker Driver Times for Minikube (PR 7793): [24.985659690000002 24.632839739000005 25.041115957000002] Averages Time Per Log
|
kvm2 Driver Times for Minikube (PR 7793): [65.22681922 63.946924963 65.72724363500001] Averages Time Per Log
docker Driver Times for Minikube (PR 7793): [25.352620146 26.924615479 25.301310698] Averages Time Per Log
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this, it'll be really useful for containerd users. Left a few comments.
Codecov Report
@@ Coverage Diff @@
## master #7793 +/- ##
==========================================
- Coverage 35.87% 35.59% -0.29%
==========================================
Files 148 148
Lines 9201 9286 +85
==========================================
+ Hits 3301 3305 +4
- Misses 5504 5585 +81
Partials 396 396
|
kvm2 Driver Times for Minikube (PR 7793): [63.158488817000006 63.36685312300001 66.93133483700001] Averages Time Per Log
docker Driver Times for Minikube (PR 7793): [27.343876171 25.786497053999998 25.37853571] Averages Time Per Log
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, a couple small comments
kvm2 Driver Times for Minikube (PR 7793): [61.107381781 65.221457668 63.370848020000004] Averages Time Per Log
docker Driver Times for Minikube (PR 7793): [25.285381557000004 24.947371845000003 24.594557573] Averages Time Per Log
|
crio test failures is related to #7808 |
note1
the times in this PR should be interprteded Relative to each other, since I run it on a very old computer.
on modern computer all of the the times bellow are -20 seconds.
After this PR
make containerd 33 start seconds faster !
Revolutionary finding !
containerd is 22 seconds faster than docker-runtime (tested both on docker driver see bellow)
this makes docker driver with containerd Fastest Possible local kubernetes option
which makes sense, since our docker service binds to containerd service.
but containerd only needs 1 service (we dont need run both docker and containerd service)
to run this PR locally see the footnote bellow.
After this PR
Before this PR
(note that the images are cached without cached images it is even much slower)
Docker runtime with same version of kubernetes (on my machine) is 20 seconds slower than containerd
Footnote1
for this PR, I generated the preload tar using 'make upload-preloaded-images-tar' and manually put it in '~/.minikube/cache/preloaded-tarball/'
once this PR is merged, the generating script should be uploading containerd tarballs as well.
TODOs:
added an investigation that @priyawadhwa could provide good insight on this
#7804