回答如下:coredns1比7.5%node如果层仅有一个计算节点(即该层不是共享层),则可以通过下列方法获得输入张量、输出张量、输入数据的形状和输出数据的形状
多方面考虑问题,多操作,合理的解决方法,逻辑思维方式清晰,认可度高。
参考文献:https://mp.weixin.qq.com/s/vU6jMvNo3loXLltXF6cWVw
CoreDNS作为CNCF中托管的一个域名发现的项目,原生集成Kubernetes,它的目标是成为云原生的DNS服务器和服务发现的参考解决方案。所以,CoreDNS走的也是Traefik的路子,降维打击SkyDNS。
从Kubernetes 1.12开始,CoreDNS就成了Kubernetes的默认DNS服务器,但 kubeadm默认安装CoreDNS的时间要更早。在Kuberentes 1.9版本中,使用 kubeadm方式安装的集群可以通过以下命令直接安装CoreDNS。
下面,我们将详细解释CoreDNS的架构设计和基本用法。
从功能角度看,CoreDNS更像是一个通用的DNS方案,通过 插件模式 极大地扩展 自身功能 ,从而适用于 不同的场景 。
正如CoreDNS官方博客描述的那样:
CoreDNS is powered by plugins.
CoreDNS有以下3个特点。
Corefile是CoreDNS的配置文件(源于Caddy框架的配置文件Caddyfile),它定义了:
通常,一个典型的Corefile格式如下:
例如:
上述配置文件表达的是:DNS server负责根域 . 的解析,其中插件是chaos且没有参数。
当CoreDNS启动后,它将根据配置文件启动不同的DNS server,每个DNS server都拥有自己的插件链。当新来一个DNS请求时,它将依次经历以下3步逻辑:
下面将以一个实际的 Corefile为例,详解CoreDNS处理DNS请求的工作流。
Corefile如下所示:
通过配置文件不难看出,我们定义了两个DNS server(尽管有4个配置块),分别监听5300和53端口。将以上Corefile翻译成处理逻辑图:
无论是Kube-dns还是CoreDNS,基本原理都是利用watch Kubernetes的Service和Pod,生成DNS记录,然后通过重新配置Kubelet的DNS选项让新启动的Pod使用Kube-dns或CoreDNS提供的Kubernetes集群内域名解析服务
如,k8s插件地址: https://github.com/coredns/coredns/tree/master/plugin/kubernetes
下面的文献里,有使用指南
http://ju.outofmemory.cn/entry/363914
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)