概念

CoreDNS是CNCF基金会的一个已毕业项目,是用go语言实现的高性能、插件式、易扩展的DNS服务端。

作为服务发现的基本功能,在Kubernetes集群内需要能够通过服务名对服务进行访问,这就需要一个集群范围内的DNS服务来完成服务名到ClusterIP的解析,主要用来解析service Name对应的IP地址。

DNS服务在Kubernetes中经历了三个阶段:
在Kubernetes 1.3版本之前,有SkyDNS提供DNS服务;之后的版本到Kubernetes 1.10之间的版本都是有KubeDNS提供DNS服务; Kubernetes 1.11版本开始,Kubernetes集群的DNS服务由CoreDNS提供。

架构图

在这里插入图片描述

域名解析示例

#进入容器
kubectl exec -it myserver-centos-deployment-5564dff7bb-k4v8f bash -n application
[root@myserver-centos-deployment-5564dff7bb-k4v8f /]# nslookup kubernetes.default.svc.cluster.local
Server:		10.100.0.2
Address:	10.100.0.2#53

Name:	kubernetes.default.svc.cluster.local
Address: 10.100.0.1

Logo

开源、云原生的融合云平台

更多推荐