【问题标题】:Not able to nslookup kubernetes.default无法 nslookup kubernetes.default
【发布时间】:2019-02-08 11:34:34
【问题描述】:

我在 Ubuntu 16.04 上运行 kubernetes 集群。当我在master 上运行nslookup kubernetes.default 时,它显示如下:

Server:     192.168.88.21
Address:    192.168.88.21#53

** server can't find kubernetes.default: NXDOMAIN

下面是/etc/resolv.conf的内容

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 192.168.88.21
nameserver 127.0.1.1
search VISDWK.local

使用 Kubernetes 版本

kubeadm version: &version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:36:44Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}

使用 weave 进行联网并安装使用:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

coredns pod 运行良好:

coredns-86c58d9df4-42xqc               1/1     Running   8         1d6h
coredns-86c58d9df4-p6d98               1/1     Running   7         1d1h

以下是coredns-86c58d9df4-42xqc的日志

.:53 2019-02-08T08:40:10.038Z [INFO] CoreDNS-1.2.6 2019-02-08T08:40:10.039Z [INFO] linux/amd64, go1.11.2, 756749c CoreDNS-1.2.6 linux/amd64, go1.11.2, 756749c [INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769 t

谁能帮我调试一下这个问题。请帮忙。谢谢。

【问题讨论】:

    标签: kubernetes coredns


    【解决方案1】:

    busybox 图片有问题。它可以工作,但是在运行 nslookup 命令后出现一些错误

    [node1 ~]$ kubectl run busybox1 --image busybox --restart=Never --rm -it -- sh
    If you don't see a command prompt, try pressing enter.
    / # nslookup kubernetes
    Server:         10.96.0.10
    Address:        10.96.0.10:53
    
    Name:   kubernetes.default.svc.cluster.local
    Address: 10.96.0.1
    
    *** Can't find kubernetes.svc.cluster.local: No answer
    *** Can't find kubernetes.cluster.local: No answer
    *** Can't find kubernetes.default.svc.cluster.local: No answer
    *** Can't find kubernetes.svc.cluster.local: No answer
    *** Can't find kubernetes.cluster.local: No answer
    / # exit
    pod "busybox1" deleted
    [node1 ~]$
    

    试试下面的图片。它完美地工作。其他版本抛出一些错误

    busybox:1.28

    [node1 ~]$ kubectl run busybox1 --image busybox:1.28 --restart=Never --rm -it -- sh
    If you don't see a command prompt, try pressing enter.
    / # nslookup kubernetes
    Server:    10.96.0.10
    Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
    
    Name:      kubernetes
    Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local
    / # exit
    pod "busybox1" deleted
    

    从master测试api服务器

    [node1 ~]$ kubectl get svc|grep kubernetes
    kubernetes      ClusterIP      10.96.0.1      <none>        443/TCP          2h
    [node1 ~]$
    [node1 ~]$ curl -k https://10.96.0.1/version
    {
      "major": "1",
      "minor": "11",
      "gitVersion": "v1.11.7",
      "gitCommit": "65ecaf0671341311ce6aea0edab46ee69f65d59e",
      "gitTreeState": "clean",
      "buildDate": "2019-01-24T19:22:45Z",
      "goVersion": "go1.10.7",
      "compiler": "gc",
      "platform": "linux/amd64"
    }[node1 ~]$
    

    【讨论】:

    • 对不起,我没有得到你。里面busybox的目的是什么。我没有使用busybox
    • 你想测试 nslookup 到 kubernetes.default。使用 busybox:1.28 你可以检查
    • 好的,我从busybox 得到了nslookup 的正确响应。这是否意味着 coredns 工作正常。?
    • 你应该得到上面显示的busybox:1.28的输出。那么你的集群运行良好
    • 是的,我得到了和你一样的输出。但是你能告诉我为什么 nslookup 没有在 master 上响应吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 2017-05-30
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 2012-06-01
    相关资源
    最近更新 更多