【关注】关注CoreDNS ,DoT,DoH

CoreDNS

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

Stubdomain and upstreamnameserver in kube-dns translates to the proxy in CoreDNS. The federation in kube-dns has an equivalent federation in CoreDNS.

配置文件

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

[root@devops-101 ~]# kubectl -n kube-system get configmap coredns -oyaml
apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
           pods insecure
           upstream
           fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        proxy . /etc/resolv.conf
        cache 30
        reload
    }
kind: ConfigMap
metadata:
  creationTimestamp: 2018-08-20T07:01:55Z
  name: coredns
  namespace: kube-system
  resourceVersion: "193"
  selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
  uid: ec72baa4-a446-11e8-ac92-080027b7c4e9

配置文件各项目的含义 名称|含义 —|— errors|错误会被记录到标准输出 health|可以通过http://localhost:8080/health查看健康状况 kubernetes|根据服务的IP响应DNS查询请求,kubeadm的Cluster DomainService CIDR默认为cluster.local10.95.0.0/12,可以通过--service-dns-domain--service-cidr参数配置。 prometheus|可以通过http://localhost:9153/metrics获取prometheus格式的监控数据 proxy|本地无法解析后,向上级地址进行查询,默认使用宿主机的 /etc/resolv.conf 配置 cache|缓存时间

检查COreDNS运行状况

检查Pod状态

[root@devops-101 ~]# kubectl -n kube-system get pods -o wide
NAME                                 READY     STATUS    RESTARTS   AGE       IP              NODE
coredns-78fcdf6894-52gp9             1/1       Running   4          4h        172.16.0.11     devops-101
coredns-78fcdf6894-mkvqn             1/1       Running   4          4h        172.16.0.10     devops-101
etcd-devops-101                      1/1       Running   4          3h        192.168.0.101   devops-101

检查部署

[root@devops-101 ~]# kubectl -n kube-system get deployments
NAME      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
coredns   2         2         2            2           4h

验证可以采用本文刚开始部分提到的方法。