我通过一些故障排除发现kube-dns在我的minikube集群中无法正常工作。当我执行minikube addons list
命令时,我可以看到启用了kube-dns插件,并且还运行了kube-dns服务,但没有kube-dns pod正在运行。
$ 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
我已尝试使用kube-dns-controller.yaml
文件手动创建/部署,但我也会收到验证该文件的错误:
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
关于解决问题我还应该考虑什么的任何想法?谢谢!
注意:我使用的是minikube版本v0.19.1和kubernetes v1.5.2。
答案 0 :(得分:0)
看起来问题与kubernetes版本有关。一旦我升级到v1.6.0,kube-dns再次正常工作。
编辑:要修复v1.5.2的问题,我使用了here
的解决方法