-
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
Add cluster DNS to node resolv.conf (cannot pull image from cluster-internal host name) #2162
Comments
as a test, on minikube host, I updated /etc/systemd/resolvd.conf, adding
and then did on minikube host:
in a pod:
|
I too have an issue with this. A clean setup ends up with the DNS set to 10.0.2.3 which is not the ip of the kube-dns service (10.96.0.10). Any idea why this is happening? |
This is my work around. |
I'm also having an issue with the wrong dns server being set in /etc/resolv.conf. |
same to me, |
Yeah, this bit me too. Is there any reason not to add kube-dns to resolv.conf (as the first entry)? I guess it needs to be done as part of the kube-dns add-on, which perhaps complicates things. Otherwise it seems like a simple fix? @r2d4 What's the more-info-needed label about? |
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. |
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. |
Stale issues rot after 30d 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. |
I still have this issue that I can push to the internal registry but I can't use that image within a Deployment:
Actually, my question is, how is the registry addon supposed to work? Are images stored in this registry supposed to work as images of a Pod? /remove-lifecycle rotten. |
I have exactly the same issue (and question) as rhuss |
Here's my solution that doesn't use the (now removed) kube-dns addon and doesn't use a hardcoded IP address. Run this script from outside Minikube after every Minikube startup: DNS=$(kubectl get service/kube-dns --namespace kube-system --template '{{.spec.clusterIP}}')
CONFIGURED=$(echo "[Resolve]\nDNS=$DNS" | base64)
CURRENT=$(minikube ssh "cat /etc/systemd/resolved.conf | base64" | tr -d "\r")
if [ "$CURRENT" != "$CONFIGURED" ]; then
minikube ssh "echo $CONFIGURED | base64 --decode | sudo tee /etc/systemd/resolved.conf"
minikube ssh "sudo systemctl restart systemd-resolved --wait"
echo "Configured and restarted"
else
echo "Already configured"
fi I wonder if this is something that'd make sense as default Minikube behaviour? |
The above required me to restart the core-dns services in kube-system to get all to be happy again. |
I also needed to set: VBoxManage modifyvm "permanent" --natdnshostresolver1 on on the VM. I think this may be related to dnsmasq running on the host. |
I'm using hyperkit instead of virtualbox, disabling dnsmasq and restarting minikube is what did the trick for me. |
This is a known issue in Kubernetes, but we can do better here: https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/#known-issues Kubernetes installs do not configure the nodes’ resolv.conf files to use the cluster DNS by default, because that process is inherently distribution-specific. This should probably be implemented eventually. |
Still an issue in v1.6. |
No change yet - help wanted. |
No change yet - help wanted. |
No change yet at minikube v1.23.2 with driver virtualbox - help wanted. |
Would an implementation that only works with systemd-resolved be accepted ? It would make everything way simpler to support only one backend. |
systemd is the most common backend and so would be the best bang for the buck implementation-wise, but certainly wouldn't cover all use cases. Adding it to the dns repository directly would be beyond the scope of this issue (and indeed this repo) but we'd accept a minikube-specific fix just as well. |
Minikube version (use
minikube version
): v0.23.0Linux xps 4.9.58 #1-NixOS SMP Sat Oct 21 15:21:39 UTC 2017 x86_64 GNU/Linux
cat ~/.minikube/machines/minikube/config.json | grep DriverName
): virtualboxcat ~/.minikube/machines/minikube/config.json | grep -i ISO
orminikube ssh cat /etc/VERSION
): minikube-v0.23.6.isoWhat happened:
even though this service is available:
when I ssh into a pod in the same namespace:
when I read /etc/resolv.conf from minikube:
It looks like minikube has the wrong dns server.
10.0.0.10
finds the service correctly.What you expected to happen:
I expect kubernetes to be able to pull the image based on that registry host name.
How to reproduce it (as minimally and precisely as possible):
The text was updated successfully, but these errors were encountered: