CoreDNS系列:Kubernetes内部域名解析原理、弊端及优化方式
Kubernetes 中的 DNS
本篇,是 CoreDNS 的前篇之一,后续会着重介绍 CoreDNS,但是步步深入讲 CoreDNS,讲一下 Kubernetes,以及 kubedns 有一定的必要,所以,就有了 CoreDNS 系列,本篇主要尽可能详尽的说明 Kubernetes 的DNS解析原理,以及 Kubernetes 集群中 DNS 解析目前存在的弊端和优化方式。
在 Kubernetes 中,服务发现有几种方式:
①:基于环境变量的方式
②:基于内部域名的方式
基本上,使用环境变量的方式很少,主要还是使用内部域名这种服务发现的方式。
其中,基于内部域名的方式,涉及到 Kubernetes 内部域名的解析,而 kubedns,是 Kubernetes 官方的 DNS 解析组件。从 1.11 版本开始,kubeadm 已经使用第三方的 CoreDNS 替换官方的 kubedns 作为 Kubernetes 集群的内部域名解析组件,我们的重点,是 CoreDNS,但是在开始 CoreDNS 之前,需要先了解下 kubedns,后续,会对这2个 DNS 组件做对比,分析它们的优劣势。
Kubernetes 中的域名是如何解析的
在 Kubernetes 中,比如服务 a 访问服务 b,对于同一个 Namespace下,可以直接在 po