【问题标题】:nslookup does not resolve Kubernetes.defaultnslookup 无法解析 Kubernetes.default
【发布时间】:2019-11-07 12:58:56
【问题描述】:

我在我的 minikube 设置上尝试了以下命令来验证 dns 是否工作正常。

kubectl exec -ti busybox -- nslookup kubernetes.default

但这是我得到的输出 ' 服务器:10.96.0.10 地址一:10.96.0.10

nslookup: can't resolve 'kubernetes.default'
command terminated with exit code 1'

除此之外,我检查了 coredns pod 日志,它显示如下内容: ` 2019-11-07T12:25:23.694Z [错误] 插件/错误:0 5606995447546819070.2414697521008405831。 HINFO:读取 udp 172.17.0.5:60961-

10.15.102.11:53:I/O 超时 `

有人能解释一下出了什么问题吗? busybox 图像标签是 image: busybox:1.28

【问题讨论】:

    标签: kubernetes kubernetes-pod kube-dns


    【解决方案1】:

    那是因为您的 busybox pod 对 kubernetes.default 一无所知 修复你的 /etc/resolv.conf

    应该是这样的

    search default.svc.cluster.local svc.cluster.local
    nameserver 10.96.0.10
    options ndots:5
    

    此外,您还可以打开 Debugging DNS Resolution 文档并检查提供的相同示例。

    查看 resolv.conf 文件的内部。 (请参阅从 节点和下面的已知问题了解更多信息)

    kubectl exec busybox cat /etc/resolv.conf
    

    验证搜索路径和名称服务器的设置是否像 以下(请注意,搜索路径可能因不同的云而异 供应商):

    search default.svc.cluster.local svc.cluster.local cluster.local google.internal c.gce_project_id.internal
    nameserver 10.0.0.10
    options ndots:5
    

    如下所示的错误表明存在问题 coredns/kube-dns 插件或相关服务:

    kubectl exec -ti busybox -- nslookup kubernetes.default
    Server:    10.0.0.10
    Address 1: 10.0.0.10
    
    nslookup: can't resolve 'kubernetes.default'
    or
    
    kubectl exec -ti busybox -- nslookup kubernetes.default
    Server:    10.0.0.10
    Address 1: 10.0.0.10 kube-dns.kube-system.svc.cluster.local
    
    nslookup: can't resolve 'kubernetes.default'
    

    【讨论】:

    • 你怎么能在不知道实际的 OP /etc/resolv.conf 文件的情况下声明 Fix your /etc/resolv.conf?此外,您建议的 nameserver 显然与 OP 安装中使用的集群 DNS IP (10.96.0.10) 不同。
    • 好的,同意,更改了名称服务器(但是对于他应该为他的基础设施采用的 OP 来说应该很清楚)。很可能这是 /etc/resolv.conf
    猜你喜欢
    • 1970-01-01
    • 2019-07-02
    • 2017-05-30
    • 1970-01-01
    • 2019-06-29
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多