获取svc

[root@master01 ~]# kubectl get svc

NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)       AGE

kubernetes        ClusterIP      10.68.0.1       <none>          443/TCP     5d6h

nginx-service    ClusterIP      10.68.36.30   <none>          5000/TCP   45h

启动busybox容器,解析kubernetes域名

[root@master01 ~]# kubectl run --rm -it  mybox-test --image=busybox

/ # nslookup kubernetes

Server:         10.68.0.2

Address:        10.68.0.2:53

** server can't find kubernetes.default.svc.cluster.local.: NXDOMAIN

*** 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

问题分析:

初步看可能是域名不存在或者是dns连接不上

换成dig 镜像试试

[root@master01 ~]#  kubectl run dig --rm -it --image=docker.io/azukiapp/dig /bin/sh

/ # nslookup kubernetes

Server:         10.68.0.2

Address:        10.68.0.2#53

Name:   kubernetes.default.svc.cluster.local

Address: 10.68.0.1

问题解决居然是镜像的问题

CoreDNS

CoreDNS在Kubernetes1.11版本已经做为GA功能释放,成为Kubernetes默认的DNS服务替代了Ku be-DNS,目前是kubeadm、kube-up、minikube和kops安装 工具 的默认选项。


使用ConfigMap做为配置文件。这份配置文件,会默认使用宿主机的DNS服务器地址。

[root@master01 ~]# kubectl -n kube-system get configmap coredns -oyaml

apiVersion: v1

data:
   Corefile: |
     .:53 {
         errors
         health
         ready
         kubernetes cluster.local. in-addr.arpa ip6.arpa {
           pods insecure
           fallthrough in-addr.arpa ip6.arpa
         }
         prometheus :9153
         forward . /etc/resolv.conf
         cache 30
         reload
         loadbalance
     }

kind: ConfigMap

metadata:
   annotations:
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"v1","data":{"Corefile":".:53 {\n    errors\n    health\n    ready\n    kubernetes cluster.local. in-addr.arpa ip6.arpa {\n      pods insecure\n      fallthrough in-addr.arpa ip6.arpa\n    }\n    prometheus :9153\n    forward . /etc/resolv.conf\n    cache 30\n    reload\n    loadbalance\n}\n"},"kind":"ConfigMap","metadata":{"annotations":{},"name":"coredns","namespace":"kube-system"}}
   creationTimestamp: "2019-08-23T08:39:06Z"
   name: coredns
   namespace: kube-system
   resourceVersion: "618253"
   selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
   uid: 0510fab2-7327-4c1c-8b0e-87daaa3ee1ba

名称|含义

---|---

errors|错误会被记录到标准输出

health|可以通过http://localhost:8080/health查看健康状况

prometheus|可以通过http://localhost:9153/metrics获取prometheus格式的监控数据

proxy|本地无法解析后,向上级地址进行查询,默认使用宿主机的 /etc/resolv.conf 配置

cache|缓存时间

检查COreDNS运行状况

[root@master01 ~]# kubectl -n kube-system get pods -o wide|grep coredns

NAME                                          READY   STATUS    RESTARTS            AGE    IP                NODE        NOMINATED NODE   READINESS GATES

coredns-797455887b-4n8b7                      1/1     Running   0          2d2h   10.16.0.3   51.0.1.13   <none>           <none>

coredns-797455887b-qdgk6                      1/1     Running   0          2d2h   10.16.0.2   51.0.1.13   <none>           <none>

检查部署

[root@master01 ~]# kubectl -n kube-system get deployments

NAME                         READY   UP-TO-DATE   AVAILABLE   AGE

coredns                      2/2                  2                 2           2d2h

busybox测试dns问题的更多相关文章

  1. 测试dns

    测试dns nslookup test.cn 10.109.68.114 ipconfig /flushdns dig test.cn @10.109.68.114 sudo /etc/init.d/ ...

  2. 测试DNS服务的命令

    测试DNS服务的命令 dig dig用于测试dns系统,因此不会查询hosts文件进行解析. dig - DNS lookup utility dig [@global-server] [domain ...

  3. curl测试dns解析时间及tcp连接时间

    1.用Linux下的curl命令测量网络请求(分号是分隔符,可以是其他符号): curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer ...

  4. 使用PowerShell 测试DNS

    运行环境:Windows Server 2012 R2 获取服务器DNS命令,下面的仅获取一个dns (nslookup sql.ciras.com)[1].split(':')[1].trim() ...

  5. DNS主从服务,子域授权,view视图,日志系统,压力测试

    DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...

  6. 使用queryperf对DNS服务器作压力测试

    一.querperf简介 当我们把DNS服务器配置好后,我们肯定会想测试一下DNS服务器的性能如何,上线后如果请求数够多服务器还能否响应?于是,我们可以使用软件模拟环境,对DNS服务器作评估性的测试. ...

  7. RHEL7 DNS 服务 unbound 测试

    测试环境: 物理机win10系统,虚拟机软件使用Oracle VirtualBox. rhel1.rusky.com 192.168.100.1 RHEL7(辅DNS) rhel2.rusky.com ...

  8. DNS测试工具的使用(了解)

    dig命令, host命令, nslookup命令,rndc命令 dig命令(直接测试DNS性能,不会查询/etc/hosts文件) dig [-t RR_TYPE] name [@SERVER] [ ...

  9. Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS

    一.搭建单区域DNS服务器 目标: 本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站.测试阶段主要提供以下正向记录: svr7.tedu.cn ---> ...

随机推荐

  1. layui之table.render使用(含后台详细代码实现)

    效果图如下: 前端实现代码如图(完整代码): <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  2. 淘宝接口-IP返回运营商

    #!/usr/bin/evn python# -*- coding:utf-8 -*-import jsonimport urllib2import datetimeimport reimport Q ...

  3. BaiduPCS-Go的安装及使用

    BaiduPCS-Go的安装及使用 linux下会提示输入验证码,浏览器打开验证码url,多输入几次 Contents [hide] 一. 软件下载及安装 二. 软件的使用 1. 账号登录与退出 2. ...

  4. 转:goproxy和go modules的初步使用

    转:https://blog.csdn.net/qq_42403866/article/details/93654421 go module 管理比较方便. 启用: export GO111MODUL ...

  5. kotlin基础 尾递归

    尾调用的重要性在于它可以不在调用栈上面添加一个新的堆栈帧——而是更新它,如同迭代一般. 尾递归因而具有两个特征: 调用自身函数(Self-called): 计算仅占用常量栈空间(Stack Space ...

  6. vue 专题 vue2.0各大前端移动端ui框架组件展示

    Vue 专题 一个数据驱动的组件,为现代化的 Web 界面而生.具有可扩展的数据绑定机制,原生对象即模型,简洁明了的 API 组件化 UI 构建 多个轻量库搭配使用 请访问链接: https://ww ...

  7. electron-vue在使用element-ui时部分组件无法显示问题

    原文连接: https://juejin.im/post/5d132629e51d45772a49ad71 问题描述 在使用electron开发桌面系统时,遇到部分element-ui组件在页面中无法 ...

  8. how to transfer your linux to new work environment

    tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --ex ...

  9. 【GMT43智能液晶模块】例程十五:LAN_TCPC实验——以太网数据传输

    源代码下载链接: 链接:https://pan.baidu.com/s/1bFX8_UpUlML29oqoDGaw5g提取码:mrf5 复制这段内容后打开百度网盘手机App,操作更方便哦 GMT43购 ...

  10. Flutter的Padding、Raw、Column、Expanded组件的基本使用

    Padding组件: Padding组件的基本使用代码: import 'package:flutter/material.dart'; import 'package:flutter_testdem ...