kube-dns实现原理的解读

前言 最近一直在做类似skydns的dns服务发现相关的研究和代码实现,也就有了兴趣想解读下kube-dns的实现过程,学习和参考下社区的做法。 源码结构 如何从头开始阅读一份开源项目的源码呢?一般来说,我们会从执行入口顺腾摸瓜地依次八下去,这里强烈推荐难易大佬的k8s源码阅读笔记,条理非常清晰,解读的方式也很值得学习,我们这里不妨也参考难易的方法进行kube-dns代码的阅读。 我们首先需要从github仓库clone下来kube-dns的源代码。不难看到其代码入口cmd目录下除开测试组件,主要是dnsmasq、dns、sidecar这三块组件的代码: OK,由此我们产生了第一个也是最核心的问题: Q1: kube-dns、dnsmasq-nanny、sidecar分别实现了什么功能?…

Read More