Skip to content
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 socket activation for the docker service #9232

Closed
afbjorklund opened this issue Sep 13, 2020 · 6 comments
Closed

Use socket activation for the docker service #9232

afbjorklund opened this issue Sep 13, 2020 · 6 comments
Labels
area/guest-vm General configuration issues with the minikube guest VM co/runtime/docker Issues specific to a docker runtime kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.

Comments

@afbjorklund
Copy link
Collaborator

Currently we are always starting the docker daemon, partly because we are using docker-machine to create the VM.

Then we shut down the docker daemon again, when selecting another runtime like containerd or perhaps even cri-o.

Instead we should not start up automatically on boot, but only when someone uses the /var/run/docker.sock...

In the case of podman/cri-o, this could very well be "never". Also for containerd, it might not "ever" need to use docker ?


Since libmachine is dead upstream (deprecated), and we have forked all the drivers, we don't have to care about "API".

So we can provision a machine without actually starting anything on port 2376 (which is also deprecated, see #9229)

By not hardcoding docker everywhere and by stop using the dockershim (in favor of CRI), it makes it better for others.

The podman deployment will use a similar setup, while upgrading from varlink io.podman.sock to podman.sock (#9230)

http://0pointer.de/blog/projects/socket-activated-containers.html

This does require systemd, but it only applies to our OS images.

@afbjorklund afbjorklund added kind/feature Categorizes issue or PR as related to a new feature. co/runtime/docker Issues specific to a docker runtime labels Sep 13, 2020
@afbjorklund afbjorklund changed the title Use systemd socket activation for the docker service Use socket activation for the docker service Sep 13, 2020
@afbjorklund afbjorklund added the area/guest-vm General configuration issues with the minikube guest VM label Sep 13, 2020
@medyagh
Copy link
Member

medyagh commented Sep 14, 2020

I agree and this would be a great performance boost for non-docker runtimes

@medyagh medyagh added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label Sep 14, 2020
@afbjorklund
Copy link
Collaborator Author

The main missing feature (from dockerd) seems to be an idle timeout ?

When running podman for instance, it shuts down again after 5 seconds.

@afbjorklund afbjorklund added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. labels Nov 30, 2020
@afbjorklund
Copy link
Collaborator Author

More like a roadmap issue for next year, along with the other changes

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 28, 2021
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 30, 2021
@spowelljr spowelljr added the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Mar 31, 2021
@spowelljr spowelljr removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label May 19, 2021
@spowelljr spowelljr added priority/backlog Higher priority than priority/awaiting-more-evidence. and removed priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. labels Sep 15, 2021
@afbjorklund
Copy link
Collaborator Author

Nobody does this, the docker daemon and containerd (or crio) are always started on boot...

But will continue to use socket-activation for optional components like podman or buildkitd.

@afbjorklund afbjorklund closed this as not planned Won't fix, can't repro, duplicate, stale Dec 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/guest-vm General configuration issues with the minikube guest VM co/runtime/docker Issues specific to a docker runtime kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

No branches or pull requests

5 participants