k8s集群搭建DNS服务

一、k8s集群中DNS服务介绍 

作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,这就需要一个集群范围的DNS服务来完成服务名到ClusterIP的解析。

 

DNS在k8s集群中发展的三个阶段

1. k8s版本 < 1.4 ,DNS由SkyDNS提供

  SkyDNS有4个容器组成

   kube2sky: 监控k8s集群中Service资源的变化

   skydns: 从etcd中读取DNS记录,并为客户端容器应用提供DNS查询服务

   healthz: 提供对skydns服务的健康检查功能

   etcd:  用于保存DNS记录

 

skydns架构图如下:

2. k8s版本 1.4~1.11

  从k8s1.4版本以后SkyDNS组件便被KubeDNS替换,KubeDNS去掉了etcd直接保存在内存中,以提高查询性能。

  KubeDNS由3个容器组成

   kubedns: 监控k8s集群中Service资源的变化,根据Service的名称和IP地址生成DNS记录

   dnsmasq:从kubedns中获取DNS记录,提供DNS缓存,为客户端容器应用提供DNS查询服务

   sidecar: 提供对kubedns和dnsmasq服务的健康检查功能。

 

KubeDNS架构图

 

3. k8s版本大于1.11以后(至今1.19)

   从k8s1.11版本开始,DNS服务由CoreDNS提供。CoreDNS是CNCF基金会的一个项目,是用Go语言实现的高性能、插件式、易扩展的DNS服务器。

CoreDNS只使用了一个容器coredns

架构图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值