-
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
Use cri-dockerd instead of dockershim where needed #12102
Conversation
Starting with Kubernetes version 1.23, the CRI socket for Docker is handled externally instead of internally.
The socket-activated service for cri-dockerd will start on demand, similar to how the docker service works (for /var/run/docker.sock)
It is cri-docker.sock, even for cri-dockerd deb
That is, reverse order from when starting up.
/ok-to-test |
I am excited about this PR |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I tested with the alpha, and it doesn't work because minikube passes "0.0.0" for the kubernetes version.
But it still starts, because apparently Kubernetes v1.23.0-alpha.0 "forgot" to remove the dockershim... Also found dockershim hard-coded in a lot of other places, but using the kubernetes constant instead... |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Need to change the k8s version (1.24.0-alpha.1), and need to change the cri socket path (cri-dockerd.sock). /hold |
Related PR, for |
kvm2 driver with docker runtime
Times for minikube start: 49.8s 45.8s 45.0s 46.1s 46.5s Times for minikube ingress: 30.2s 29.7s 30.8s 30.2s 31.3s docker driver with docker runtime
Times for minikube start: 21.7s 21.6s 21.8s 23.0s 22.4s Times for minikube ingress: 32.9s 26.4s 25.9s 25.9s 26.9s docker driver with containerd runtime
Times for minikube (PR 12102) start: 41.9s 41.8s 42.8s 42.0s 40.3s Times for minikube ingress: 28.4s 18.4s 24.3s 18.9s 22.4s |
These are the flake rates of all failed tests.
Too many tests failed - See test logs for more details. To see the flake rates of all tests by environment, click here. |
thank you for this PR :) |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: afbjorklund, 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 |
Starting with Kubernetes version 1.24, the CRI socket
for Docker is handled externally instead of internally.
See https://www.mirantis.com/blog/the-future-of-dockershim-is-cri-dockerd/
I added a feature to start the socket/service, transparently to the casual user...
For the power user giving their own CRI socket, they get to maintain it as well.
Closes #12099
Note: needs
cri-dockerd
installed, for testing (see #12103).Also tweak the version check, when to not use dockershim:
KubernetesVersion.GTE(semver.Version{Major: 1, Minor: 24})
i.e. If you want to try it out, before Kubernetes 1.24 is available.
EDIT: The dockershim removal was delayed again, from 1.23 to 1.24