首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Kubernetes中的核心无法解析Pod DNS记录

问为什么Kubernetes中的核心无法解析Pod DNS记录
EN

Stack Overflow用户
提问于 2020-06-06 12:21:35
回答 2查看 199关注 0票数 2
代码语言:javascript
复制
ytong@controller-4135505:~/cka$ cat 14.15-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: busy33
  labels:
    app: 14-15
spec:
  dnsPolicy: ClusterFirstWithHostNet
  hostname: 14-15
  subdomain: ytong82
  containers:
  - name: busybox-container
    image: busybox
    command: ['sleep', '3600']
代码语言:javascript
复制
ytong@controller-4135505:~/cka$ kubectl get pods -o wide | grep busy33
busy33                     1/1     Running     0          91s     10.36.0.1   worker3-4135521   <none>           <none>

我尝试解析它的pod DNS记录,如下所示

代码语言:javascript
复制
ytong@controller-4135505:~/cka$ kubectl exec -it busy33 -- nslookup -type=a 10-36-0-1.default.svc.cluster.local
Server:         10.96.0.10
Address:        10.96.0.10:53

** server can't find 10-36-0-1.default.svc.cluster.local: NXDOMAIN

command terminated with exit code 1
ytong@controller-4135505:~/cka$ kubectl exec -it busy33 -- nslookup -type=a 14-15.ytong82.default.svc.cluster.local
Server:         10.96.0.10
Address:        10.96.0.10:53

** server can't find 14-15.ytong82.default.svc.cluster.local: NXDOMAIN

command terminated with exit code 1

以上两个命令都不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-06 12:28:59

使用镜像busybox:1.28而不是其他镜像,因为这些镜像有DNS解析问题。

当您尝试使用pod进行DNS解析时,您需要使用下面的命令,该命令使用pod而不是svc

代码语言:javascript
复制
kubectl exec -it busy33 -- nslookup 10-36-0-1.default.pod.cluster.local
票数 2
EN

Stack Overflow用户

发布于 2020-06-06 13:29:36

将svc.cluster.local替换为pod.cluster.local,它适用于通过ip地址解析pod DNS名称

代码语言:javascript
复制
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      10-36-0-1.default.pod.cluster.local
Address 1: 10.36.0.1 busy33
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62227255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档