【发布时间】:2019-06-24 13:23:24
【问题描述】:
我正在运行一个包含一个主节点和 2 个工作节点的 kubernetes 集群。
root@kube-master:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
kube-master Ready master 4d19h v1.14.3
kube-node-01 Ready <none> 4d18h v1.14.3
kube-node-02 Ready <none> 6h3m v1.14.3
现在我的 traefik 入口控制器无法解析 dns 查询。
/ # nslookup acme-v02.api.letsencrypt.org
nslookup: can't resolve '(null)': Name does not resolve
Name: acme-v02.api.letsencrypt.org
Address 1: <my.public.ip> mail.xxx.xxx
现在在我的 opnsense 框上使用 tcpdump,我收到查询,其中我的内部搜索域附加解析到我的公共 ip,这是错误的。
但由于某种原因......启动一个busybox测试吊舱正在工作......
/ # nslookup acme-v02.api.letsencrypt.org
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: acme-v02.api.letsencrypt.org
Address 1: 2a02:26f0:ef:197::3a8e g2a02-26f0-00ef-0197-0000-0000-0000-3a8e.deploy.static.akamaitechnologies.com
Address 2: 2a02:26f0:ef:181::3a8e g2a02-26f0-00ef-0181-0000-0000-0000-3a8e.deploy.static.akamaitechnologies.com
Address 3: 104.74.120.43 a104-74-120-43.deploy.static.akamaitechnologies.com
两个 /etc/resolve.conf 文件都是相同的,除了 namespace
自从 kubernetes 1.11 coredns 是默认的 dns 解析系统。在this 使用 coredns 调试 dns 系统的页面上说我应该使用
root@kube-master:~# kubectl get pods --namespace=kube-system -l k8s-app=coredns
No resources found.
但这不会返回任何东西!使用 kube-dns 返回 coredns pod!
root@kube-master:~# kubectl get pods --namespace=kube-system -l k8s-app=kube-dns
NAME READY STATUS RESTARTS AGE
coredns-fb8b8dccf-jmhdm 1/1 Running 5 4d19h
coredns-fb8b8dccf-tfw7v 1/1 Running 5 4d19h
这是怎么回事?!文档有误还是我的集群内部有问题?
【问题讨论】:
标签: kubernetes coredns