-
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
Minikube start brings coredns pod online before CNI initializes, breaking DNS for 2+ nodes #11608
Comments
@cwilkers we've done some work to fix networking for multinode clusters, can you try again this with the newest version of minikube and see if it still persists? |
Unfortunately, I see the same behavior with v1.22.0.
|
Well, this seems to continue being an error we're facing so I'll add it as a bug and investigate when I have time. Help is of course welcome as well. |
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 |
The Kubernetes project currently lacks enough active 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 rotten |
I'm not sure if this remains an issue, but I want to keep it open to investigate. |
I haven't verified it lately, but it is likely still an issue. I would like to attempt a fix, but haven't had time to start from scratch on the minikube build system. |
Yes, looks like it's still an issue.
|
I just verified the behavior on 1.26.1, and am looking into the cause again to see if this is something I could help fix. |
We need another workaround, since moving the CNI config got complicated with Kubernetes 1.24 If it is related to /etc/cni/net.d not being empty, that is ? Suggestion is to move podman and cri-o out... |
Basically Kubernetes doesn't work, unless you remove all other software from the (shared) configuration. That is especially true for flannel, which normally doesn't install on host - but bootstraps from containers |
If we cannot reorder it, would it be acceptable to conditionally delete the coredns container as the last part of applying the fabric? |
@afbjorklund I might need a little help with this; I'm able to come up with Go code to check for the status.podIP in the coredns pod, but I haven't figured out the right place in the start code to insert this. Each place I try, the coredns pod either does not yet exist, or does not have an IP yet. |
Here's an alternate idea, but it would require changes to coredns: We could propose to add code in coredns's startup that identifies whether it gets an IP from the pod CIDR, and exit after a timeout if its IP doesn't match. To avoid breaking Kubernetes writ large, we could put this functionality behind a feature gate or environment variable that minikube could make use of. |
Just confirming this still appears to be broken and noting for folks that run into this that the suggested workaround in the kubevirt docs to delete coredns and disable/enable the kubevirt addon doesn't seem to be working. |
Steps to reproduce the issue:
In my case, I am trying to install the kubevirt addon, which creates a pod kubevirt-install-manager in the kube-system namespace, which usually schedules on the second node. This pod attempts to download deployment YAML from the kubevirt project, which fails when DNS is unreachable.
Full output of
minikube logs
command:logs.txt
Full output of failed command:
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system coredns-74ff55c5b-gct25 1/1 Running 0 3m19s 10.88.0.2 minikube
kube-system etcd-minikube 1/1 Running 0 3m27s 192.168.39.118 minikube
kube-system kube-apiserver-minikube 1/1 Running 0 3m27s 192.168.39.118 minikube
kube-system kube-controller-manager-minikube 1/1 Running 0 3m27s 192.168.39.118 minikube
kube-system kube-flannel-ds-amd64-96tgf 1/1 Running 0 2m50s 192.168.39.182 minikube-m02
kube-system kube-flannel-ds-amd64-sqtbg 1/1 Running 0 3m18s 192.168.39.118 minikube
kube-system kube-proxy-fcfnx 1/1 Running 0 3m19s 192.168.39.118 minikube
kube-system kube-proxy-mzwjj 1/1 Running 0 2m50s 192.168.39.182 minikube-m02
kube-system kube-scheduler-minikube 1/1 Running 0 3m27s 192.168.39.118 minikube
kube-system kubevirt-install-manager 1/1 Running 0 26s 10.244.1.2 minikube-m02
kube-system storage-provisioner 1/1 Running 1 3m32s 192.168.39.118 minikube
The text was updated successfully, but these errors were encountered: