kube-dns/CoreDNS 实现介绍

发布时间: 更新时间: 总字数:293 阅读时间:1m 作者: IP上海 分享 网址

Kubernetes v1.12 开始使用 CoreDNS 代替 kube-dns。为了能够与依靠传统 kube-dns 服务名称来解析集群内部地址,CoreDNSkube-dnsService 的 metadata.name 名字均为 kube-dns

初始化k8s集群dns域名

使用kubeadm安装集群是指定:

kubeadm init --service-dns-domain "k8s1.xiexianbin.cn"
  • 创建好的pod中可以查看到具体的配置信息
# cat /etc/resolv.conf
# search default.k8s1.xiexianbin.cn svc.k8s1.xiexianbin.cn k8s1.xiexianbin.cn openstacklocal
search svc.cluster.local default.svc.cluster.local
nameserver 10.96.0.10

coredns 配置信息

kubectl get configmap/coredns -n kube-system -o yaml

使用

k8s node节点访问域名

  • 获取core dns ip地址
# kubectl get svc -n kube-system | grep dns
kube-dns         ClusterIP   10.96.0.10    <none>        53/UDP,53/TCP,9153/TCP   13d
  • 配置node节点dns
# cat /etc/resolv.conf
nameserver 10.96.0.10
search default.k8s1.xiexianbin.cn svc.k8s1.xiexianbin.cn k8s1.xiexianbin.cn
  • 访问
tcping  <svc-name>.<ns-name>.svc.k8s1.xiexianbin.cn <port>

coreDNS 添加静态DNS

  • hosts插件格式

coredns-cm.yaml

Name:         coredns
Namespace:    kube-system
Labels:       <none>
Annotations:  <none>

Data
====
Corefile:
----
.:53 {
    errors
    health {
       lameduck 5s
    }
    hosts {
        # format: ip domain
        192.168.179.81 k8s-master
        192.168.179.82 k8s-node-1
        192.168.179.83 k8s-node-2
        192.168.179.85 k8s-node-3
        fallthrough
    }
    ready
    kubernetes kb.cx in-addr.arpa ip6.arpa {
       pods insecure
       fallthrough in-addr.arpa ip6.arpa
       ttl 30
    }
    prometheus :9153
    forward . /etc/resolv.conf {
       max_concurrent 1000
    }
    cache 30
    loop
    reload
    loadbalance
}

Events:  <none>
kubectl replace -f coredns-cm.yaml
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数