您的位置:首页 > 其它

kubernetes二进制部署coredns(12)

2020-04-09 15:12 357 查看

【今日推荐】:为什么一到面试就懵逼!>>>

CoreDNS是一个Go语言实现的链式插件DNS服务端,是CNCF成员,是一个高性能、易扩展的DNS服务端。可以很方便的部署在k8s集群中,用来代替kube-dns

具体的区别可以参考官方文档或者:https://zhuanlan.zhihu.com/p/80141656?from_voters_page=true

原理:
kubedns: kubedns 基于 SkyDNS 库,通过 apiserver 监听 Service 和 Endpoints 的变更事件同时也同步到本地 Cache,实现了一个实时的 Kubernetes 集群内 Service 和 Pod 的 DNS服务发现


配置文件我都放到了百度网盘了,需要可以直接下载

链接:https://pan.baidu.com/s/1pC97t6rRgB0HaKHWQ_yk5Q
提取码:dc4o

首先我们启动了pod进入之后看一下没有dns的效果是啥样的

发现不了百度的域名在pod当中

我们测试一下网络是否正常


到外网是没有问题的

说明我的上面的10.0.0.2这个dns没有生效

这个是在之前配置集群的时候定义好的,dns使用这个ip地址,所以这里就用这个


这两个忽略就好

这样会生成一个coredns的yaml

看一下配置


接下来启动一下


启动了在测试一下


看到了吧,这次在pod中可以访问百度了

如果我们要自定义dns,可以创建一个
ConfigMap 建立了一个 DNS 配置,它具有一个单独的存根域和两个上游域名服务器


然后把这个configmap挂载到pod中

如果当前的1个dns怕出现问题可以修改副本数量

kubectl edit deployment coredns -n kube-system



好了今天的dns就讲解到这里,后续有问题欢迎私信留言

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  watermark shadow