IT评测·应用市场-qidao123.com技术社区

标题: Kubernetes相干的名词表明CoreDNS插件(2) [打印本页]

作者: 大连全瓷种植牙齿制作中心    时间: 6 天前
标题: Kubernetes相干的名词表明CoreDNS插件(2)
为什么需要DNS服务?

service发现是k8s中的一个重要机制,其根本功能为:在集群内通过服务名对服务进行访问,即需要完成从服务名到ClusterIP的解析。
k8s主要有两种service发现机制:环境变量和DNS。没有DNS服务的时候,k8s会采用环境变量的情势,但一旦有多个service,环境变量会变复杂,为解决该题目,我们使用DNS服务。
什么是CoreDNS?

CoreDNS 是 Kubernetes 的焦点组件之一,作为默认的 DNS 服务插件,用于提供集群内的服务发现和域名解析功能。
CoreDNS 不是“可选”插件,而是 Kubernetes 的焦点根本设施组件,负责集群内 DNS 解析。它的设计轻量、模块化,完美契合 Kubernetes 的服务发现需求。
CoreDNS 在 Kubernetes 中的脚色

coredns的架构是怎么样的?

通过下图可以很好的理解coredns的架构,CoreDNS 在 Kubernetes 中以 Pod 的情势运行,并作为一个(或多个)容器摆设在集群内。

CoreDNS的摆设方式

前面说了CoreDNS 在 Kubernetes 中以 Pod 的情势运行,在描述一下其摆设方式:
 

为什么以 Pod 情势运行?


CoreDNS另有其他替代方案吗?

在 Kubernetes 中,CoreDNS 是默认的 DNS 和服务发现插件,但确实存在其他替代方案,雷同于 containerd 和 Docker 在容器运行时领域的竞争关系。
主要替代方案

(1) kube-dns(已弃用)


(2) Istio 的 DNS 署理


(3) 其他自界说 DNS 方案


为什么 CoreDNS 是主流?

对比维度CoreDNSkube-dns(旧版)Istio DNS性能更高(Go 编写,插件化)较低(多组件协作)依赖 Envoy 署理机动性支持插件链(如缓存、转发、日志)固定功能深度集成 Service Mesh维护性活跃维护,Kubernetes 官方保举已弃用需额外摆设 Istio适用场景通用集群旧版本兼容需要高级流量管理的场景
虽然存在替代品(如 kube-dns 或 Istio 的方案),但 CoreDNS 凭借其性能、机动性和官方支持 成为事实标准。替换 CoreDNS 需审慎评估需求,通常仅在特殊场景(如深度集成 Service Mesh)时才有须要。
前面说的替代方案中的kube-dns其实也是coredns的发展进化的一个阶段。
DNS在kubernetes中的进化史

DNS服务在kubernetes中经历了三个阶段(SkyDNS-》KubeDNS-》CoreDNS):


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4