K8s集群CoreDNS部署
简介:
CoreDNS 其实就是一个 DNS 服务,而 DNS 作为一种常见的服务发现手段,所以很多开源项目以及工程师都会使用 CoreDNS 为集群提供服务发现的功能,Kubernetes 就在集群中使用 CoreDNS 解决服务发现的问题。
CoreDNS 的大多数功能都是由插件来实现的,插件和服务本身都使用了 Caddy 提供的一些功能,所以项目本身也不是特别的复杂。
实操:
1.官方 hub.docker.com 下载CoreDNS二进制包
2.解压二进制包 /usr/local/src/
3.拷贝模板文件coredns
4.编辑coredns.yml
k8s的 service IP,创建K8s的时候就存在
可以通过进入一个容器查询,因为创建容器会将该ip写入nameserver
添加以上圈起来的权限,否则会出现以下1.8之后的版本bug
执行yaml文件创建coredns
遇到问题:
查看pod日志
#kubectl describe pod coredns-69d84cdc49-qcwjx -n kube-system
解决办法:
注释memory或者升级内核到5.4
重新执行
#kubectl apply -f coredns.yml
然后可以看到coredns的pod可以running了
查询k8s中的service