我正在为安装目的在装有Docker 18.06.010ce的CentOS 7 Linux机器上尝试使用minikube
我使用以下方法安装了minikube
minikube start --vm-driver=none"
我部署了一些应用程序,但只是发现它们无法使用其主机名互相交谈。
我使用删除了minikube
minikube delete
我使用重新安装了minikube
minikube start --vm-driver=none
然后,我按照“调试DNS解析”下的说明进行操作 (https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/) 但只是发现DNS系统无法正常工作
更确切地说,我跑步:
1。
kubectl create -f https://k8s.io/examples/admin/dns/busybox.yaml
2。
# kubectl exec -ti busybox -- nslookup kubernetes.default
Server: 10.96.0.10
Address 1: 10.96.0.10
nslookup: can't resolve 'kubernetes.default'
command terminated with exit code 1
3。
# kubectl exec busybox cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local contabo.host
options ndots:5
4。
# kubectl get pods --namespace=kube-system -l k8s-app=kube-dns
NAME READY STATUS RESTARTS AGE
coredns-c4cffd6dc-dqtbt 1/1 Running 1 4m
kube-dns-86f4d74b45-tr8vc 2/3 Running 5 4m
令人惊讶的是,kube-dns和coredns都在运行 应该担心吗?
我一直在寻找没有成功的解决方案 步骤2总是返回错误
我简直无法接受这么简单的事情对我来说是一个巨大的麻烦 请协助
答案 0 :(得分:1)
我的矿山正在启用coredns和禁用kube-dns。
C02W84XMHTD5:ucp iahmad$ minikube addons list
- addon-manager: enabled
- coredns: enabled
- dashboard: enabled
- default-storageclass: enabled
- efk: disabled
- freshpod: disabled
- heapster: disabled
- ingress: disabled
- kube-dns: disabled
- metrics-server: disabled
- nvidia-driver-installer: disabled
- nvidia-gpu-device-plugin: disabled
- registry: disabled
- registry-creds: disabled
- storage-provisioner: enabled
您可以禁用kube-dns:
minikube addons disable kube-dns
答案 1 :(得分:0)
请注意下面kube-dns
窗格的输出,它仅在3个容器中运行2个。
kube-dns-86f4d74b45-tr8vc 2/3 Running 5 4m
我上次遇到这个是Docker的默认FORWARD
策略为DROP
时。使用以下将其更改为ACCEPT
可以解决我的问题。
iptables -P FORWARD ACCEPT
也可能是其他事情,请检查pod日志。
答案 2 :(得分:0)
删除/ etc / kubernetes和/ var / lib / kubelet和/var/lig/kubeadm.yaml并重新启动minikube之后,我现在可以成功重现DNS解析调试步骤(https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/)
我敢肯定,在minikube的开始/顶部迭代中,一些过时的设置仍然存在,导致配置不一致。
答案 3 :(得分:0)
值得一提的是,重新启动iptables后DNS解析丢失了。
我怀疑这是与iptables规则相关的,某些规则,即被minikube放置,并且由于iptables的一部分而丢失,重新出现了问题
答案 4 :(得分:0)
在删除/ etc和/ var / lib下的所有状态文件后,我设法通过重新安装Minikube来解决了该问题,但是却忘记了更新。
现在可以将其关闭。