k8s DNS相关问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/scylhy/article/details/82317257

k8s DNS相关问题

  在配置好dns后,可以通过hostname访问其他pod,但是ping不通.这是正常的.
  之前,部署fabric到k8s上,遇到了kafka访问不到zookeeper的情况,我一直以为是dns的  
问题,配置好了core-dns,仍然访问不到zookeeper,最终是修改了kafka的manifest,才成功  
访问到zookeeper.所以,这无关dns的事,之前启动容器,未配置dns,就要先安装一个pause,  
以提供dns域名解析.
  • Q1:关于配置了DNS,但仍是ping 不通其他namespace的hostname的问题
  • A:这是正常问题,k8s的设计就是,通过namespace对pod进行分割,所以ping不通,但是可以访
    问服务
  • ref:

  • Q2:nslookup可以解析道baidu,但nslookup: can’t resolve ‘kubernetes.default’
    宿主机在/etc/resolv.conf添加cluster.local,仍未解决.

    root@liu:~# kubectl exec -it busybox /bin/sh
    / # nslookup baidu.com
    Server:    169.169.0.2
    Address 1: 169.169.0.2 kube-dns.kube-system.svc.cluster.local
    
    Name:      baidu.com
    Address 1: 123.125.115.110
    Address 2: 220.181.57.216
    
    root@liu:~# cat /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
    
    search default.svc.cluster.local svc.cluster.local cluster.local
    
    nameserver 100.100.2.136
    nameserver 100.100.2.138
    options timeout:2 attempts:3 rotate single-request-reopen
    
    
    root@liu:~# kubectl exec -it busybox /bin/sh
    / # kubectl exec -ti busybox -- nslookup           kubernetes.default
    /bin/sh: kubectl: not found
    / # nslookup           kubernetes.default
    Server:    100.100.2.136
    Address 1: 100.100.2.136
    
    nslookup: can't resolve 'kubernetes.default'
  • A: 其实,已经可用了,加上type=A即可

    / # nslookup type=A kubernetes.default
    Server:    169.169.0.1
  • ref:

猜你喜欢

转载自blog.csdn.net/scylhy/article/details/82317257