-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
No DNS resolution with Kind running in rootful Podman #1939
Comments
/assign @aojea |
I can' t reproduce it in my Fedora 32 and podman podman 2.1.1.
usual suspects are firewalld ot iptables mode |
@aojea thank you for following up! I installed a fresh copy of Fedora Silverblue 33 in Boxes. It appears to be using nftables also:
|
OK I found the issue @aojea. There's an interference with my firewalld config.
I'll review my firewalld configuration. |
Sounds like https://kind.sigs.k8s.io/docs/user/known-issues/#fedora32-firewalld but with podman as well |
/close |
@aojea: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Thank you for following up, I wasn't sure that this was a duplicate issue - sorry about that. I switched to iptables as per the known-issues page. Working fine now! |
We might need to update the known issues page. I'm pretty certain I have iptables-nft working on my corp workstation, but I'm not sure if firewalld etc. are involved actually. (it's dockerd on ~debian). |
hi @BobyMCbobs , I just found your blog https://blog.calebwoodbine.com/kind-on-fedora-33/ and KIND should be independent of the iptables backend, it should work for iptables-nft (nftables) and iptables-legacy,. https://kind.sigs.k8s.io/docs/user/known-issues/#fedora32-firewalld
But if you say that you are running with podman I need to go deeper to understand better the problem @BobyMCbobs do you still have an environment to reproduce this? |
@aojea: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@aojea, I switched back to nftables for this output and made sure the same errors occurred (including the same image pull cause of DNS).
Finally
A fresh Fedora Silverblue 33 ISO will render the same results to my testing. Set up is same instructions as my post and the steps in this issue. |
Hmm. CNI binaries just use whatever |
does firewalld use iptables-nft? or just nft directly?
kind is doing ~the same update-alternatives trick from kube-proxy, counting
the rules in iptables and iptables-nft and selecting the one with the most
rules.
*docker* injects rules inside the container using the host iptables.
podman I have no idea, but I'm guessing it doesn't do that, so we don't
have anything to go on and default to legacy.
…On Wed, Dec 2, 2020 at 1:51 AM Casey Callendrello ***@***.***> wrote:
Hmm. CNI binaries just use whatever /bin/iptables they find - how are you
packaging them?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1939 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAHADK3PEUJQWPHXPY5B2HLSSYE3HANCNFSM4T5OXRJA>
.
|
They CNI plugin package come from fedora repos, podman just use them for the network iirc |
@BenTheElder, here's the FirewallBackend section from my /etc/firewalld/firewalld.conf file
However, there isn't an nftables program installed - so I believe it's using iptables-nft since it's installed |
Discussed more with Antonio -- There's two potential issues here:
I'd been referring to the latter mostly, but I think you all are discussing the former 😅 |
This is, sadly, a common battle in this world, since there is no kernel-level flag that indicates which mode of iptables is in use. The "official" API is: where does When we need to run iptables in a container, we generally bind-mount For example, see https://github.com/openshift/sdn/blob/master/images/iptables-scripts/iptables |
Interesting approach, thanks. I'm not sure how comfortable I'd be having kind always bind mount The kubernetes approach (which we currently use) is pretty nice, but requires some existing rules of some sort in the namespace unfortunately 😞 |
I just realized this is all moot - we're talking about CNI plugins executed by podman on the real node to bring up the kind "node" containers. Not the CNI executed by containerd / cri-o inside the kind nodes. Scanning the issue, I suspect it's because we have some bits inside the CNI plugins that tweak iptables, and the node in question has firewalld with raw nftables. We support iptables-nft, but not |
Fedora seems to be pushing for firewalld / nft to be the default going forward, is there any hope for fixing this? As is we point users to: |
Definitely! We probably just need to teak the "default" CNI configuration used by podman. |
@aojea is there something we can do here? Or should we just improve the known issues documentation and close this? |
/close |
@aojea: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
most other containers are not touching iptables though ..? |
What happened:
I'm running Kind in rootful Podman and am having issues pulling images.
It appears that there's no DNS working.
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
So there appears to be internet, but no DNS.
Anything else we need to know?:
When running Podman as root, it appears to have DNS resolution
Environment:
kind version
):kind v0.9.0 go1.15.2 linux/amd64
kubectl version
):Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:58:59Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
podman info
):/etc/os-release
):The text was updated successfully, but these errors were encountered: