-
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
rootless podman driver #8719
Comments
might be a duplicate of #7480 |
We require rootful podman (v1) at the moment. This is unlikely to change, same with dockerd --rootless. If you are interested in trying to run kubernetes without root, you can look into the usernetes project ? So this is more about #7963 You could also use a VM... Currently the podman driver (and the docker driver) use privileged system containers, in order to emulate a "node." Then they use crio-in-podman (or containerd-in-docker), for starting up the selected kubernetes container runtime. |
A lot of these are blockers:
Others are just bad performance:
There is no big use case for minikube supporting podman, and it becomes even smaller for rootless podman. I think we need Cgroups v2 support to land in Kubernetes (and Docker), before we look at supporting it (v2)... |
Sounds reasonable, thanks! Should we keep this issue open for the bright future or you preferto create a new one once the time comes (if at all)? |
I think spinning up an entire kubernetes "node" inside a rootless container will be hard to accomplish, if at all... We already see a lot of issues, from the difference between a virtual machine and a (rootful) system container. So it would definitely be at the bottom of the list. Minikube runs in virtualbox ("classic") Minikube runs on docker engine, linux Already a lot of different platforms (8), to support. And that's not even including the case when you run the installation right on the linux host with the none driver. Which then runs into issues with different linux distributions, and with general lack of isolation (and multi-node!) So I think it would be better off handled in usernetes. There was some similar "root" discussions in #8257 |
Work in progress for kind: kubernetes-sigs/kind#1727 Probably it can be easily ported to minikube as well |
Already landed on their master branches (Kubernetes 1.19, Docker 20.0X) |
Good to hear! Then we just need those to be released. I guess Podman 2.0.x is already out |
I look forward to see a prototype of rootless docker/podman in minikube |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
/remove-lifecycle stale |
kind works with Rootless Podman as well as Rootless Docker now: kubernetes-sigs/kind#1935 Should be easily portable to minikube. |
Guess we just have to add some checks, for latest Podman/Docker (with cgroups v2) and latest Kubernetes (>= 1.20) |
The first step toward this is to bring proper support for cgroup2: #11310 |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
/remove-lifecycle stale |
I opened PR #12359 for rootless docker, but this PR doesn't cover rootless Podman yet, because I'm not sure how the minikube CLI should work for rootless Podman. The current Do we need additional flags like |
One could sniff at the $CONTAINER_HOST, and only do the sudo if not having access to the unix socket or something. The problem is that half of the podman commands run directly, and half of them (like through bindings) run remotely. Instead of all of them going through the remoting layer, like is the case with docker (there is always a server daemon)
In the end, having Having two separate drivers seems like a lot of code duplication, especially when it is not needed for the docker driver. We could have it as a boolean for docker too, but I guess you just ask the daemon about the current state ? ( |
PR: #12901 |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale PR #12901 has received two LGTMs, but not merged yet |
Steps to reproduce the issue:
minikube start --driver=podman
Full output of failed command:
This means that with podman driver user is obligated to have root access without password wich is not minimal provilage.
It's possible to run podman rootless.
Here is a bit of Arch wiki on configuring podman not to require root permissions.
I suggest having a flag for this driver to either use sudo or not.
There is a good chance that rootless podman is not suitable for minikube yet due to it's shortcomings (this is a linkg to a particular version of podman)
The text was updated successfully, but these errors were encountered: