minikube: hyperkit conflict with local DNS daemon (dns: read udp src->dst:53: read: connection refused)
Minikube version (use minikube version): v0.33.1
- OS (e.g. from /etc/os-release): macOS Mojave version 10.14.2
- VM Driver (e.g.
cat ~/.minikube/machines/minikube/config.json | grep DriverName): hyperkit - ISO version (e.g.
cat ~/.minikube/machines/minikube/config.json | grep -i ISOorminikube ssh cat /etc/VERSION): minikube-v0.33.1.iso - Install tools: brew
- Others:
Command “minkube start --vm-driver hyperkit” fails with the following messages:
Starting local Kubernetes v1.13.2 cluster… Starting VM… Getting VM IP address… E0123 16:14:34.829156 21704 start.go:243] Error parsing version semver: Version string empty Moving files into cluster… Setting up certs… Connecting to cluster… Setting up kubeconfig… Stopping extra container runtimes… Starting cluster components… E0123 16:14:37.615834 21704 start.go:376] Error starting cluster: kubeadm init: sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable–etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable–data-minikube --ignore-preflight-errors=Port-10250 --ignore-preflight-errors=FileAvailable–etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable–etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable–etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable–etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI
[init] Using Kubernetes version: v1.13.2
[preflight] Running pre-flight checks
[WARNING Swap]: running with swap on is not supported. Please disable swap
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using ‘kubeadm config images pull’
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.13.2: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io on 192.168.64.1:53: read udp 192.168.64.7:42770->192.168.64.1:53: read: connection refused
, error: exit status 1
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager:v1.13.2: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io on 192.168.64.1:53: read udp 192.168.64.7:45819->192.168.64.1:53: read: connection refused
, error: exit status 1
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-scheduler:v1.13.2: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io on 192.168.64.1:53: read udp 192.168.64.7:46142->192.168.64.1:53: read: connection refused
, error: exit status 1
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-proxy:v1.13.2: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io on 192.168.64.1:53: read udp 192.168.64.7:36363->192.168.64.1:53: read: connection refused
, error: exit status 1
[ERROR ImagePull]: failed to pull image k8s.gcr.io/pause:3.1: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io on 192.168.64.1:53: read udp 192.168.64.7:37734->192.168.64.1:53: read: connection refused
, error: exit status 1
[ERROR ImagePull]: failed to pull image k8s.gcr.io/etcd:3.2.24: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io on 192.168.64.1:53: read udp 192.168.64.7:35622->192.168.64.1:53: read: connection refused
, error: exit status 1
[ERROR ImagePull]: failed to pull image k8s.gcr.io/coredns:1.2.6: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io on 192.168.64.1:53: read udp 192.168.64.7:58397->192.168.64.1:53: read: connection refused
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...
: Process exited with status 1
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 3
- Comments: 17 (6 by maintainers)
I was running into this same issue because I was running dnsmasq.
sudo brew services stop dnsmasqsolved things for me.Ok, so I cannot figure out how to add the IP (I am assuming Minikube IP) to
dnscrypt-proxy.Here’s what I am seeing:
Then I did this…
Not sure where specifically do I go to “add the IP”. Also, since the dnscrypt here was installed by Cisco AnyConnect, not sure if I have a lot of wiggle room.
Thoughts?
Adding the IP to
dnscrypt-proxysolved it, it seems. I feel stupid. I hope that this might help others. Also, maybe it should have been added to the hyperkit page. I’ll see if I submit a PR for it. 😄This seems to also occur with DNSCrypt Proxy as well. Would love for a way to make
minikubework with DNSMasq, DNSCrypt Proxy, etc.My interpretation of this message is that the hyperkit DNS forwarder isn’t available, possibly due to a port conflict, perhaps with another DNS daemon. If you run into this, do you mind sharing the output of:
sudo lsof -ni:53I’ve tried to search for documentation on how hyperkit’s DNS implementation works, but haven’t come up with much: it all seems to be VPNKit magic. Anyone have any tips?
It did not work for me.
Hyperkit version:
MacOS version:
10.14.5When I run
mk sshand do anslookup k8s.gcr.io, it fails.Here’s my
lsofoutput: