kubenetes源码分析之DNS(一)
来源:互联网 发布:网络语zqsg的意思 编辑:程序博客网 时间:2024/05/16 11:05
kubernetes服务发现有两个机制,一个是环境变量另一个则是域名解析,而提供域名解析的正是今天要说的主题kube-dns。这篇文章我先介绍一下dns的发展历程接下来的blog会继续进行源码阅读分享。我把发展定义了三个阶段:
阶段一
如果使用过kubernetes 1.2的应该都会知道dns的四件套:kube2sky、etcd、skydns和exechealthz。Kube2sky通过K8S API监视K8S Service资源的变化,并根据Service的信息生成DNS记录写入到etcd中。Skydns为集群中的Pod提供DNS查询服务,DNS记录从etcd中读取。Exechealthz提供健康检查功能。结构如下图所示:
阶段二
kubernetes 1.4以后把以前的四件套整成了三件套,最大的变化是去掉etcd,降低系统的复杂度,exechealth会检查两个容器的健康状态;为集群提供DNS查询服务的skydns变为了dnsmasq;Kubedns替代了kube2sky来监视Service和Endpoint的资源变化。
去除了etcd,那数据存储在哪里呢?这个要看的kubedns的treeCache实现,是一个树存储结构,把:服务名称.命名空间.域名(kubernetes.default.svc.cluster.local),反过来(颠倒顺序local.cluster.svc.default.kubernetes)存储,详细的看后续代码详解。
阶段三
最新的kubernetes是单独建立的kubernetes子项目,最大的变化是把exechealth改为了sidecar,它是一个daemon进程负责监控dns并提供metric性能数据。和阶段二没有本质变化,就不画结构图了。
- kubenetes源码分析之DNS(一)
- kubenetes源码分析之DNS(二)
- kubenetes源码分析之DNS(三)
- kubenetes源码分析之DNS(四)
- kubenetes源码分析之DNS(五)
- kubenetes源码分析之DNS(六)
- kubenetes源码分析之DNS(七)
- kubenetes源码分析之DNS(八)
- LWIP之DNS域名解析分析 (一)
- Wireshark实战分析之DNS协议分析(一)
- trafficserver的DNS初始化源码分析一
- trafficserver的DNS初始化源码分析一
- Memcached源码分析之状态机(一)
- 源码分析之tinyhttpd(一)
- XUtils源码分析之HttpUtils(一)
- HDFS源码分析之UnderReplicatedBlocks(一)
- MapReduce源码分析之JobSubmitter(一)
- PackageManagerService源码分析之入门(一)
- 投资案例分析:投资创业公司时,VC 关注什么?
- 枚举继承自int
- hadoop2.6集群下Zookeeper与Hbase的安装与配置
- Aggressive cows(最大化最小值问题(二分搜索))
- centos7开机碰到emergency mode如何解决
- kubenetes源码分析之DNS(一)
- Flex布局(一)
- 【正一专栏】巴萨四大皆空怎么办
- centos7如何挂载移动硬盘、U盘等
- 开发商城支付功能时解决订单已经支付的bug
- LINUX中yum源的配置以及rpm命令
- 滴滴参赛代码知识点解读--pickle,glob,shulit, sys, os模块
- 常见数据结构应用场景
- linux学习13练习题及答案