本篇文章给大家分享的是有关如何理解CoreDNS作为kubernetes后端的DNS服务器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文开发云主机域名章后可以有所收获,话不多说,跟着小编一起来看看吧。coredns的诸多特性网上很多文章都有提及,在这里不再赘述。简单对比下其相对于bind和skydns的优势:bind可以将解析存储到mysql或者文件中,coredns也可以将解析存储到etcd或者文件中,也支持将kubernetes作为其后端,直接调用kubernetes的api获取解析数据,然后缓存到本地内存。coredns支持插件扩展,目前在第三方插件中还同时支持将powerdns及amazondns作为其后端,后续还会支持越来越来的后端。bind在kubernetes的应用场景下,基本无用武之地。coredns本身就是skydns的继任者,支持skydn开发云主机域名s的所有特性,而且性能更好,更易于扩展。其插件式特性无论是bind还是skydns都无法比拟。coredns官方网站地址:
https://coredns.iocoredns代码地址:
https://github.com/coredns/corednscoredns官方插件地址:
https://coredns.io/pluginscoredns第三方插件地址:
https://coredns.io/explugins/
配置kubernetes后端存储
配置说明
其实官方有kubernetes插件的相关示例及配置说明,地址如下:
https://活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看coredns.io/plugins/kubernetes/我这里就以官方的配置示例作说明:下面对一些常用参数作下说明:resyncperiod: 用开发云主机域名于从kubernetes的api同步数据的时间间隔endpoint: 指定kubernetes的api地址,coredns会自动对其执行健康检查并将请求代理到健康的节点上。示例如下:tls: 用于指定连接远程kubernetes api的相关证书。示例:pods: 指定POD-MODE,有以下三种:disabled:默认insecure:返回一个A记录对应的ip,但并不会检查这个ip对应的Pod当前是否存在。这个选项主要用于兼容kube-dnsverified:推荐的方式,返回A记录的同时会确保对应ip的pod存在。比insecure会消耗更多的内存。upstream: 定义外部域名解析转发的地址,可以是一个ip地址,也可以是一个resolv.conf文件。示例:ttl: 默认5s,最大3600s
示例
一个完整的配置示例:也可以使用如下写法:其他配置也简单作下说明:health:插件,用于检测当前配置是否存活,默认监听http 8080端口,可配置log: 插件,将日志打印到标准输出errors:将错误打印到标准输出prometheus: 插件,用于prometheus监控proxy: wh01之外的域名解析都通过proxy指定的地址实现代理cache: 插件,用于在内存中缓存dns解析,单位为sreload: 插件,单位为s,如果配置文件发生变更,自动reload的间隔
启动coredns
使用systemd启动coredns
以上就是如何理解CoreDNS作为kubernetes后端的DNS服务器,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注开发云行业资讯频道。
本文从转载,原作者保留一切权利,若侵权请联系删除。
《如何理解CoreDNS作为kubernetes后端的DNS服务器》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...