-
-
Notifications
You must be signed in to change notification settings - Fork 461
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
[FEATURE] Podman support #84
Comments
Thanks for opening this issue! |
Since podman 2.0 supports docker compatible REST API, revisiting it should be reconsidered? |
@minioin , without having a look at the podman stuff: could we just continue using the Docker SDK with the Podman endpoint? |
That is the intended outcome(I'm not associated with podman). However, there could be some inconsistencies in both sides; the SDK and podman API. But they won't be found unless we start using them. I could lend a hand if you need one. |
Copy/pasted here from @ inercia/k3x#16 (comment) (and also talked about a little in inercia/k3x#15): Podman provides a Docker-like API in Podman 2.0. https://podman.io/blogs/2020/07/01/rest-versioning.html API docs have the docker-compatible API under "compat" @ https://docs.podman.io/en/latest/_static/api.html (podman also has its own API to do additional things like handle pods) I saw in a comment elswhere on GitHub that getting a podman service up an running is as running: podman system service --time=0 &
export DOCKER_HOST=unix:/$XDG_RUNTIME_DIR/podman/podman.sock That's for running podman without requiring root (in a user session), as it references For system containers, it's: sudo podman system service --time=0 &
export DOCKER_HOST=unix:/run/podman/podman.sock To start up the service and specify a special URI, such as the Docker URI, for compatibility:
I found out some of this in the docs for |
I tried to run k3d using
|
I guess there will be some little things missing in the API (like the filter for network lists), but I also think that we'll get to it eventually 👍 |
Hi - is podman support now available for k3d? |
I'd imagine not since 4.0.0 only recently came out & this is in the 4.1.0 milestone |
Hi @masterthefly , no, there's no progress on this so far. I'll happily accept any PR though, as we have some higher priorities at the moment 🤔 |
Would love to contribute, how to get started?
ThanksVishy
Sent from Yahoo Mail on Android
On Wed, Feb 3, 2021 at 6:05 AM, Thorsten Klein<notifications@github.com> wrote:
Hi @masterthefly , no, there's no progress on this so far. I'll happily accept any PR though, as we have some higher priorities at the moment 🤔
Thanks for chiming in @06kellyjac 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
I noticed this as well, and running in verbose mode, it appears that k3d reads an additional env var, |
Even works okay if |
Certainly! See below from my notes - hope this is helpful! Table of Contents
Install Podman
Rootless PodmanFollow the guide for setting up rootless podman in The Arch Wiki Make Podman handle registries like DockerSet Set docker hostAdd Test that the image can be pulled from docker hub by defaultRun Test network creation using bridge mode:
This should return valid IPs like so :
Run k3dRun
Run Which should produce the following:
Running
|
@johnhamelink Wow, thank you for the detailed write-up! Unfortunately, I have already done all of these, and in fact I can even assign a static IP to rootless containers directly:
However, I am still failing creation immediately at the beginning:
Even though the network
This looks specific to my machine since rootless podman appears to get past this point for everyone else, so I'll work on my end to figure it out — don't want to turn the issue thread into a troubleshooting session. |
So after enabling cgroup v1 by setting the
After running
Running
|
@geraldwuhoo You're hitting the error I attempted to fix in #986, try applying that patch. @johnhamelink Try using Podman v4 |
Running k3d on PodmanRequirements
Using PodmanEnsure the Podman system socket is available: sudo systemctl enable --now podman.socket
# or sudo podman system service --time=0 To point k3d at the right Docker socket, create a symbolic link: ln -s /run/podman/podman.sock /var/run/docker.sock
# or install your system podman-docker if available
sudo k3d cluster create Using rootless PodmanMake a fake system-wide Docker socket (for now):
Ensure the Podman user socket is available: systemctl --user enable --now podman.socket
# or podman system service --time=0 Set DOCKER_HOST when running k3d: XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/run/user/$(id -u)}
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock
k3d cluster create |
@serverwentdown I had a go at your instructions above, but I'm still having issues with podman-rootless and bridge networking after installing
|
There's still one more thing I need to check out:
|
That |
@jiridanek Which version of k3d and Podman are you using? It'd help me narrow down the cause. Anyway, you can find a solution on this blog post: https://www.redhat.com/sysadmin/container-image-short-names |
|
@serverwentdown After upgrading to the latest k3d, which reports
|
I am facing the same issue (with the same version of k3d/k3s). Let me know if I can provide anything else which might be helpful. |
You'll need to upgrade to Podman v4. You can use the COPR if using Fedora: https://podman.io/blogs/2022/03/06/why_no_podman4_f35.html |
@jegger can you try with podman 4? when I try it still does not work:
|
I have btrfs LVM on LUKS, so I suspect openshift/microshift#629, kubernetes-sigs/kind#2411 could be a problem in k3s as well. |
Also,
|
Following the instructions from the kind issue (and loading iptables), I now got
this allows k3s to start inside the containers, and I can use it with
but I cannot use it with
|
@jiridanek Thanks for the debugging work! It seems your cluster has already started. Can you also confirm that the generated kubeconfig is correct (#1045). You can paste it (with credentials redacted) here. |
|
@jiridanek I'll have to attempt to create a fresh VM to reproduce this, but I can only do that on Saturday. I'd suggest to try some things that might fix the connection problem:
|
I pretty much did the steps above as part of the Fedora 35 -> 36 upgrade, so I guess I'll have to wait for you to investigate. One thing I suspected was the |
I can reproduce the problem on a clean Fedora 35 system using Vagrant:
Note port-forwarding works fine outside k3d:
|
It looks like the
An IP address is seen inside the container:
For comparison my
|
This seems to be a |
Since this is a closed issue we should probably open a separate ticket |
Podman is a Docker drop-in alternative https://podman.io/ and it fixed some architecture issues that Docker has, e.g., no daemon, rootless.
More info: https://developers.redhat.com/articles/podman-next-generation-linux-container-tools/
The text was updated successfully, but these errors were encountered: