之前的的7篇blog详细分析了kubernetes DNS服务。下面做一下总结,
kubedns
● listwatch k8s api,监控Service和Endpoint资源并更新DNS记录
● 替换etcd,使用TreeCache数据结构保存DNS记录并实现SkyDNS的Backend接口,这样直接从内存取数据相对etcd加快速度。
● 接入SkyDNS,对dnsmasq提供DNS查询服务
dnsmasq-nanny
● 对集群提供DNS查询服务,并且把kubedns设置为upstream
● 提供DNS缓存,降低kubedns负载,提高性能
sidecar
● 定期检查kubedns和dnsmasq的健康状态(nslookup)
● 为k8s活性检测提供HTTP API
整个DNS已经介绍完毕,下面将介绍k8s的另一个组件kubeadm。