问题描述:nginx不能解析域名,但是使用nslookup却可以解析域名

./sbin/nginx -t
nginx: [emerg] host not found in upstream "nodejs.default.svc.cluster.local" in /data/app/nginx/conf/nginx.conf:45
nginx: configuration file /data/app/nginx/conf/nginx.conf test failed
sh-4.2# nslookup nodejs.default.svc.cluster.local
Server: 10.254.0.10
Address: 10.254.0.10#53 Name: nodejs.default.svc.cluster.local
Address: 10.254.195.180

问题分析

使用tcpdump进行抓包查看网络请求过程

nginx抓包分析

tcpdump host 10.254.0.10 -nnn
01:49:23.099223 IP 10.10.12.2.52250 > 10.254.0.10.53: 20393+ A? nodejs.default.svc.cluster.local.cluster.local. (72)
01:49:23.099921 IP 10.254.0.10.53 > 10.10.12.2.52250: 20393 NXDomain 0/1/0 (165)

nslookup抓包分析

tcpdump host 10.254.0.10 -nnn
01:49:31.740858 IP 10.10.12.2.35727 > 10.254.0.10.53: 15055+ A? nodejs.default.svc.cluster.local.default.svc.cluster.local. (84)
01:49:31.741433 IP 10.254.0.10.53 > 10.10.12.2.35727: 15055 NXDomain 0/1/0 (177)
01:49:31.741670 IP 10.10.12.2.53645 > 10.254.0.10.53: 40936+ A? nodejs.default.svc.cluster.local.svc.cluster.local. (76)
01:49:31.741986 IP 10.254.0.10.53 > 10.10.12.2.53645: 40936 NXDomain 0/1/0 (169)
01:49:31.742326 IP 10.10.12.2.47267 > 10.254.0.10.53: 55514+ A? nodejs.default.svc.cluster.local.cluster.local. (72)
01:49:31.742624 IP 10.254.0.10.53 > 10.10.12.2.47267: 55514 NXDomain 0/1/0 (165)
01:49:31.742835 IP 10.10.12.2.49354 > 10.254.0.10.53: 22220+ A? nodejs.default.svc.cluster.local. (58)
01:49:31.743119 IP 10.254.0.10.53 > 10.10.12.2.49354: 22220* 1/0/0 A 10.254.195.180 (74)

分析发现nginx默认只会搜索一个cluster.local如果没有返回,则会报错,nslookup却会帮你尽可能的去尝试搜索所有域名,知道找到结果为止。

Kubernetes-dns 域名解析问题的更多相关文章

  1. C++实现DNS域名解析

    一.概述 现在来搞定DNS域名解析,其实这是前面一篇文章C++实现Ping里面的遗留问题,要干的活是ping的过程中画红线的部分: cmd下域名解析的命令是nslookup,比如“nslookup w ...

  2. DNS域名解析过程

    图1-10是DNS域名解析的主要请求过程实例图. 如图1-10所示,当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大体描述如下.当用户在浏览器中输入域名并按 ...

  3. 配置DNS域名解析服务器

    bind这个DNS域名解析服务器解析好后,执行下面的语句实现开启服务 named -c named.conf & -c指配置脚本named.conf的文件地址 named.conf主要有下面几 ...

  4. 域名下Web项目重定向出现DNS域名解析错误问题

    问题: 项目使用的是阿里云的ESC,前几天为IP地址添加了域名 发现发送正常请求时跳转没问题,但发送重定向请求时,页面就会出现DNS域名解析错误的情况 1.我在Tomcat的server.xml中配置 ...

  5. 每天进步一点点——负载均衡之DNS域名解析

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/38017027     在上一篇文章(http://blog.csdn.net/cywosp/ ...

  6. 一张图看懂DNS域名解析全过程

    DNS域名解析是互联网上非常重要的一项服务,上网冲浪(还有人在用这个词吗?)伴随着大量DNS服务来支撑,而对于网站运营来说,DNS域名解析的稳定可靠,意味着更多用户的喜欢,更好的SEO效果和更大的访问 ...

  7. Kubernetes DNS 简介

    环境 $ sudo lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16 ...

  8. DNS域名解析过程,域名的认识

    DNS域名解析过程 参考知乎:https://www.zhihu.com/question/23042131 当你通过浏览器输入url访问资源时,会请求DNS解析域名成对应的IP地址,由IP地址在去与 ...

  9. 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)

    (借鉴请改动)  第十二章收尾  12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在  /etc/export  写入格式:共享目录    允许的客户端(参数)  ro        ...

  10. DNS域名解析之搭建公司内部域--技术流ken

    什么是DNS DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换 ...

随机推荐

  1. [javaSE] 网络编程(TCP通信)

    客户端A与服务端建立通信,服务端获取到客户端A的Socket对象,通过这个通路进行通信 客户端: 获取Socket对象,new出来,创建客户端的Socket服务,构造参数:Sting主机,int 端口 ...

  2. 资源在Windows编程中的应用

    学习目的 掌握菜单和对话框资源的创建和使用. 编写程序: 设计一个窗口应用程序, 其中有一个VC菜单, 该菜单下有"显示", "隐藏", "退出&qu ...

  3. AutoFac简介

    在.NET上现在存在许多的依赖注入容器, 如:Castle Windsor.StructureMap.Autofac .Unity. 这里主要介绍一下Autofac,Autofac和其他容器的不同之处 ...

  4. 让iframe可编辑

    function EnableEdit() { var editor; editor = document.getElementById("HtmlEdit").contentWi ...

  5. (一)windows下安装MongoDB解压版

    windows下安装MongoDB解压版 我安装的是(mongodb-win32-x86_64-2008plus-ssl-4.0.8.zip)版本 亲测可以使用. 连接: Windows下MongoD ...

  6. Navicat MySql乱码解决

    接着上一篇博客继续解决 如上图,鼠标放在localhost上右键,选择编辑连接,弹出下图. 如下选择好之后,连接数据库,进行测试.在test数据库上右键选择命令列界面,如下图,输入show varia ...

  7. sqlserver年月日转汉字大写

    也是今天sql群里有人问,看起来这个问题挺简单,但是我不知道具体该怎么实现.百度了一把,找到一个高手贡献的答案,记一下. 参考链接 sql中转换中文日期 ------ 配合相关函数 ------ cr ...

  8. Android开发问题积累 <加载在线Gif><WebView无法加载网页图片>

    在线Gif加载 解决办法 Glide完美解决 Glide.with(context).load(pic).placeholder(R.drawable.loading).into(imageView) ...

  9. React Native常用组件样式总结

    在react 中,有时要使用 style 指定样式 ,如要跟随放大比例关系,展示图标. const stylebutton = {width:25*scalesize, height:25*scale ...

  10. apply与call简单用法以及判断数组的坑

    1 typeof 和 instanceof var array = [];平时如果判断一个对象是否为数组,可能你会用 typeof array,但是输出为“object”. typeof 一般只能返回 ...