kube-dns addon enabled but no kube-dns pods available

10/18/2017

I discovered through some troubleshooting that kube-dns is not working as intended in my minikube cluster. I can see the kube-dns addon enabled when I do minikube addons list command and there is also a kube-dns service running, but there are no kube-dns pods running.

$ kubectl get all -n kube-system
NAME                             READY     STATUS    RESTARTS   AGE
po/kube-addon-manager-minikube   1/1       Running   0          15m
po/kubernetes-dashboard-bltvf    1/1       Running   0          14m

NAME                      DESIRED   CURRENT   READY     AGE
rc/kubernetes-dashboard   1         1         1         14m

NAME                       CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
svc/kube-dns               10.0.0.10    <none>        53/UDP,53/TCP   14m
svc/kubernetes-dashboard   10.0.0.192   <nodes>       80:30000/TCP    14m

$ kubectl get ep kube-dns --namespace=kube-system
NAME       ENDPOINTS   AGE
kube-dns   <none>      19m

I've tried using the kube-dns-controller.yaml file to create/deploy manually but I also get errors validating that file:

error: error validating "kube-dns-controller.yaml": error validating data: [found invalid field optional for v1.ConfigMapVolumeSource, found invalid field tolerations for v1.PodSpec]; if you choose to ignore these errors, turn validation off with --validate=false

Any ideas on what else I should look at to resolve the issue? Thanks!

Note: I am using minikube version v0.19.1 and kubernetes v1.5.2.

-- appdap1
dns
kube-dns
kubernetes
minikube

1 Answer

10/18/2017

Looks like the issue was with the kubernetes version. Once I upgraded to v1.6.0, kube-dns was working fine again.

EDIT: To fix the issue with v1.5.2 I used the workaround seen here

-- appdap1
Source: StackOverflow