coreDNS域名无法解析问题

问题: 在pod内无法解析域名

解决:

busybox的镜像有bug,导致ping可以解析,但是nslookup无法解析

kubectl run -it --rm --image=infoblox/dnstools dns-client

换成上面的就可以,实在解决不了再看下面的

dnstools# nslookup kubernetes

方式一:

创建coredns.yaml  要用hostwork模式,hostwork就是用的宿主机的 服务器IP端口

cluster-dns 指定成宿主机的

然后重启kubelet

然后重新创建pod

修改/etc/resolv.conf

[[email protected] kubernetes]# kubectl get po -o wide -n kube-system
NAME                       READY     STATUS    RESTARTS   AGE       IP           NODE
coredns-6d9f9c4fc9-2h652   1/1       Running   0          1h        10.1.1.111   10.1.1.111
coredns-6d9f9c4fc9-6prhs   1/1       Running   0          1h        10.1.1.68    10.1.1.68

修改三台的 宿主机的 resolv.conf   都改成 10.1.1.111
[[email protected] kubernetes]# cat /etc/resolv.conf
# Generated by NetworkManager
search openstacklocal
nameserver 10.1.1.111

修改三台的,改成各自对应的宿主机的ip地址
[[email protected] kubernetes]# cat kubelet
KUBELET_HOSTNAME="--hostname-override=10.1.1.68"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1"
KUBELET_CONFIG="--config=/etc/kubernetes/kubelet-config.yml"
KUBELET_ARGS="--bootstrap-kubeconfig=/etc/kubernetes/kubelet-bootstrap.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cert-dir=/etc/kubernetes/pki --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --cluster-dns=10.1.1.68 --cluster-domain=cluster.local "

在cul容器内部访问
[ [email protected]-87b54756-tsnwd:/ ]$ curl example-service.default.svc.cluster.local
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

在外部主机访问
[[email protected] kubernetes]# curl example-service.default.svc.cluster.local
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

但是访问下面短的 还是不行
[[email protected] kubernetes]# curl example-service
curl: (6) Could not resolve host: example-service; Unknown error

解决办法,指点:搜索域有问题,
他的是搜索域的问题

在busybox里面可以访问短的域名

[[email protected] kubernetes]# kubectl run -it --rm --image=infoblox/dnstools dns-client
If you don‘t see a command prompt, try pressing enter.
dnstools#
dnstools#
dnstools# curl example-service
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

方式二:

新版本自然解决:

流程:

1、删除原先coredns的配置

2、部署coredns

3. 删除原先的pod、service、重新创建,

#!/bin/bash
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/coredns.yaml.sed
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/deploy.sh
chmod +x deploy.sh
./deploy.sh -i 10.96.0.10 -d cluster.local. > dns.yaml
kubectl apply -f dns.yaml;

--cluster-dns=10.1.1.8 --cluster-domain=cluster.local"

在外边访问service ,那是另外一个问题了啊!但是首先你cluster 中 DNS的IP 不应拿hostip 来顶住哦

可以把内部的cluster ip 再用其他的代理 代理出来,里边的还是用 一个clusterip

#!/bin/bash
export http_proxy=
export https_proxy=
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/coredns.yaml.sed
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/deploy.sh
chmod +x deploy.sh
./deploy.sh -i 10.254.0.2 -d cluster.local. > dns.yaml
kubectl apply -f dns.yaml;
16:30:50

[[email protected] kubernetes]# netstat -anp |grep 53
tcp        0      0 10.1.1.111:10250        10.1.1.8:53506          ESTABLISHED 32337/kubelet
tcp6       0      0 :::53                   :::*                    LISTEN      25791/coredns
tcp6       0      0 :::9153                 :::*                    LISTEN      25791/coredns
udp6       0      0 :::53                   :::*                                25791/coredns
unix  2      [ ACC ]     STREAM     LISTENING     15097    653/NetworkManager   /var/run/NetworkManager/private-dhcp
unix  3      [ ]         STREAM     CONNECTED     20544    653/NetworkManager
unix  2      [ ]         DGRAM                    15853    508/systemd-udevd
unix  2      [ ]         DGRAM                    20239    653/NetworkManager
unix  3      [ ]         STREAM     CONNECTED     20979    653/NetworkManager
unix  3      [ ]         STREAM     CONNECTED     20983    653/NetworkManager  

[ [email protected]-87b54756-782kr:/ ]$ nslookup example-service
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      example-service
Address 1: 10.104.125.95 example-service.default.svc.cluster.local
[ [email protected]-87b54756-782kr:/ ]$ curl example-service
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

原文地址:https://www.cnblogs.com/effortsing/p/10014608.html

时间: 2024-10-10 03:06:45

coreDNS域名无法解析问题的相关文章

域名无法解析 Linux临时或永久修改DNS

最近给VPS重装了系统,因为服务商不提供DHCP,所以只好手动设置IP和DNS Server.悲催的是系统重装的时候忘记了输入DNS Server,最后导致进去系统后,各种域名无法解析. Linux中修改DNS有两种方式,临时修改和永久修改,下面分别介绍. 1.临时修改网卡DNS地址 sudo vim /etc/resolv.conf 改为如下内容: nameserver 8.8.8.8 #修改成你的主DNS nameserver 8.8.4.4 #修改成你的备用DNS search local

IIS_域名泛解析+泛绑定

域名泛解析 cname->主机二级域名,或a->主机IP IIS主机泛绑定,目前我只知道单IP下,只能泛绑定一个域名, 如果有更好的办法,请求指点. 测试php 测试二级域名 域名还没正式上线,期待跟大家见面,谢谢

.net iis 域名泛解析实战

最近做个人网站想实现多个二级域名,一来为了好记,二来为了搜索引擎优化,搜索引擎对二级域名的收录还是比较快的.刚开始做了4,5个二级域名,每个都是在域名解析后台手动添加的,不过随着二级域名越来越多,发现这种方式太麻烦太累了,所以才想通过程序来实现多个二级域名的解析. 实现二级域名泛解析,首先要在域名管理后台添加一个泛解析 添加一条A记录 主机记录写成 *即可 如下图, 其次我们需要在iis上建立一个网站比如叫fanjiexi 主机头要留空 把默认页面设置为我们下面要用的页面fanjiexi.asp

1月13日全球域名商解析新增量25强:万网季军

IDC评述网(idcps.com)01月15日报道:根据DailyChanges公布的最新数据显示,在2016年1月13日,全球域名解析新增量25强榜单上,中国占据7个席位,分别是中国万网.易名中国.DNSPod.西部数码.新网.邦腾科技.聚名网.其中,中国万网表现最佳,新增量为8,507个,排名第3.下面,IDC评述网将对相关数据进行详细分析. (图1)全球域名解析商(国际域名)解析新增量Top25分布图 观察图1,可知在1月13日,全球域名解析新增量25强大战中,DOMAINCONTROL.

1月21日全球域名商解析新增量24强:西数升至第二

IDC评述网(idcps.com)01月25日报道:根据DailyChanges公布的最新数据显示,在2016年1月21日全球域名解析新增量24强比拼中,DOMAINCONTROL.COM蝉联第一,新增量为40,065个.西部数码居亚,新增量23,779个,较上期的2,009个明显增大,排名上升7位.中国万网坚守第3,新增量8,375个,环比缩小.接下来,请看IDC评述网整理的数据情况分析. (图1)全球域名解析商(国际域名)解析新增量Top24分布图 细看图1,可获悉1月21日全球域名解析新增

全球域名商解析新增量20强:中国占据7个席位

IDC评述网(idcps.com)12月29日报道:根据DailyChanges公布的最新数据显示,在2015年12月27日,全球域名解析新增量20强大战中,DOMAINCONTROL.COM连续夺冠,新增量15,215个,优势依旧明显.另外,共有7家中国域名商进入20强榜单.其中,中国万网以新增量4,949个继续占据亚军之位. 接下来,请与IDC评述网一同关注12月27日域名解析新增量20强数据情况. (图1)全球域名解析商(国际域名)解析新增量Top20分布图 如图1所示,12月27日全球域

域名解析和域名泛解析

域名解析和域名泛解析 由于建网站等一系列的需求现在注册域名的朋友是越来越多了,然而注册域名时经常会遇到一些不懂的问题,如域名解析和域名泛解析,不管你是CN域名注册用户还是com域名注册用户,都有可能域名域名解析和域名泛解析的问题,那么你知道什么是域名解析和域名泛解析么?下面我们就来了解下这方面的知识吧! 一.什么是域名解析? 域名解析就是域名到IP地址的转换过程.IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址.域名的解析工作由DNS服务器完成. 二.什么是

13家中国域名商(国际域名)解析量报告(8月11日)

IDC评述网(idcps.com)08月14日报道:根据DailyChanges公布的实时数据显示,截止至2015年8月11日,国内域名解析量前十三强名单顺序,环比上期8月4日,无变化.其中,分列1.8名的中国万网与爱名网表现出色,环比上期,各自净增22,556.16,482个解析量,增势强劲.下面,请看IDC评述网整理的具体数据情况. (图1)中国域名解析商(国际域名)解析量排行榜TOP13分布图 观察图1,可知截止至8月11日,中国域名解析量十三强较量中,中国万网.DNSPod与新网坚守三甲

8月11日全球域名商(国际域名)解析新增量TOP15

IDC评述网(idcps.com)08月14日报道:根据DailyChanges公布的最新数据显示,在2015年8月11日,全球域名解析新增量前三名依次是DOMAINCONTROL.COM.中国万网.DNSPod,新增解析量分别为26,772.5,584.4,398个.由此可见,DOMAINCONTROL.COM的优势巨大,地位无人可撼.接下来,请看IDC评述网对相关数据进行整理与分析. (图1)全球域名解析商(国际域名)解析新增量Top15分布图 如图1所示,在8月11日,全球域名解析新增量十