Kubernetes-dns 域名解析问题
问题描述: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 域名解析问题的更多相关文章
- C++实现DNS域名解析
一.概述 现在来搞定DNS域名解析,其实这是前面一篇文章C++实现Ping里面的遗留问题,要干的活是ping的过程中画红线的部分: cmd下域名解析的命令是nslookup,比如“nslookup w ...
- DNS域名解析过程
图1-10是DNS域名解析的主要请求过程实例图. 如图1-10所示,当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大体描述如下.当用户在浏览器中输入域名并按 ...
- 配置DNS域名解析服务器
bind这个DNS域名解析服务器解析好后,执行下面的语句实现开启服务 named -c named.conf & -c指配置脚本named.conf的文件地址 named.conf主要有下面几 ...
- 域名下Web项目重定向出现DNS域名解析错误问题
问题: 项目使用的是阿里云的ESC,前几天为IP地址添加了域名 发现发送正常请求时跳转没问题,但发送重定向请求时,页面就会出现DNS域名解析错误的情况 1.我在Tomcat的server.xml中配置 ...
- 每天进步一点点——负载均衡之DNS域名解析
转载请说明出处:http://blog.csdn.net/cywosp/article/details/38017027 在上一篇文章(http://blog.csdn.net/cywosp/ ...
- 一张图看懂DNS域名解析全过程
DNS域名解析是互联网上非常重要的一项服务,上网冲浪(还有人在用这个词吗?)伴随着大量DNS服务来支撑,而对于网站运营来说,DNS域名解析的稳定可靠,意味着更多用户的喜欢,更好的SEO效果和更大的访问 ...
- Kubernetes DNS 简介
环境 $ sudo lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16 ...
- DNS域名解析过程,域名的认识
DNS域名解析过程 参考知乎:https://www.zhihu.com/question/23042131 当你通过浏览器输入url访问资源时,会请求DNS解析域名成对应的IP地址,由IP地址在去与 ...
- 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)
(借鉴请改动) 第十二章收尾 12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在 /etc/export 写入格式:共享目录 允许的客户端(参数) ro ...
- DNS域名解析之搭建公司内部域--技术流ken
什么是DNS DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换 ...
随机推荐
- 资源在Windows编程中的应用
学习目的 掌握菜单和对话框资源的创建和使用. 编写程序: 设计一个窗口应用程序, 其中有一个VC菜单, 该菜单下有"显示", "隐藏", "退出&qu ...
- 采用DTO和DAO对JDBC程序进行进一步优化
采用DTO和DAO对JDBC程序进行进一步优化 DTO:数据传输对象,主要用于远程调用等需要远程调用对象的地方DAO:数据访问对象,主要实现封装数据库的访问,通过它可以把数据库中的表转换成DTO类 引 ...
- Java 中 List 和 数组之间的转换
前言:在 java 开发过程中,经常会遇到数组和 list 互转的情况,这里记录一下,免得以后又去到处百度. 一.数组转为 LIST 这里转自 https://www.cnblogs.com/lius ...
- Xcode 7安装KSImageNamed 不启作用
1. 到 ~/Library/Developer/Xcode/Plug-ins 删除KSImageNamed.xcplugin 2. 在~/Library/Developer/Xcode/Plug- ...
- 一步一步 Pwn RouterOS之调试环境搭建&&漏洞分析&&poc
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文分析 Vault 7 中泄露的 RouterOs 漏洞.漏洞影 ...
- iPhone越狱cydia源大全
越狱后如何添加cydia源及cydia源大全,希望对大家能有所帮助! 工具/原料 cydia 步骤/方法 越狱后添加cydia源 进入Cydia管理中找到软件源,先添加源. 进入“软件源”之后点击右上 ...
- gitlab的仓库迁移到新的gitlab
1.下载原有gitlab源码 git clone http://gitlab.**.com/projectName gitlab地址替换成为新gitlab地址 git remote set-url o ...
- cent7中kickstart
一.基本环境 操作系统:CentOS7.4 内核版本:3.10.0-862.11.6.el7.x86_64 二.组件部署 yum安装tftp tftpd-server xinetd http dhcp ...
- 记开发个人图书收藏清单小程序开发(七)DB设计
前面的书房初始化的前端信息已经完善,所以现在开始实现DB的Script部分. 新增Action:Shelf_Init.sql svc.sql CREATE SCHEMA [svc] AUTHORIZA ...
- linux下yum安装指定的mysql版本
因为直接使用yum安装的mysql会是默认版本5.1的版本 但是有的同学不满足又想要其他版本的怎么办呢? 曾时候我来提供一种方案(仅供参考): 我们可以使用rpm包来进行指定mysql版本的安装, ...