zoukankan      html  css  js  c++  java
  • busybox测试dns问题

    获取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 {     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":{},"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

  • 相关阅读:
    一个短信验证码倒计时插件
    记一次图片优化经历
    前端开发中两种常见的图片加载方式
    《javascript面向对象精要》读书笔记
    less hack 兼容
    第一次项目总结
    你总说毕业遥遥无期,可转眼就各奔东西
    【翻译】理念:无冲突的扩展本地DOM原型
    【翻译】jQuery是有害的
    202002280156-《统治世界的10种算法(摘自极客大学堂)》
  • 原文地址:https://www.cnblogs.com/menkeyi/p/11409001.html
Copyright © 2011-2022 走看看