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

 

posted @ 2022-02-19 03:06  小小一兆  阅读(2003)  评论(0编辑  收藏  举报