Kubernetes: Kube-DNS vs. CoreDNS



我是 Kubernetes 的新手,希望更好地了解 Kube-DNS 和 CoreDNS 之间的区别。

据我了解,建议使用较新的 CoreDNS 而不是较旧的 Kube-DNS。

我已经使用kubeadm设置了一个小集群,现在我对 CoreDNS 和 Kube-DNS 之间的区别有点困惑。

使用kubectl get pods --all-namespaces我可以看到我有两个正在运行的CoreDNSpod。

但是,使用kubectl get svc --all-namespaces我还看到我在kube-system命名空间中运行着一个名为kube-dns的服务。当我用kubectl describe svc/kube-dns -n kube-system检查它时,我可以看到kube-dns服务链接到coredns。

我现在想知道我是否真的同时运行 kube-dns 和 coredns。否则,为什么该服务被称为kube-dns而不是core-dns

我有K8S 1.12。对 dns pod 进行描述。

Kubectl describe pod coredns-576cbf47c7-hhjrs --namespace=kube-system | grep -i "image:">

图片:k8s.gcr.io/coredns:1.2.2

看起来 coredns 正在运行。根据文档,CoreDNS 是 K8S 1.11 的默认值。对于以前的安装,它是 kube-dns。

图像很重要,其余的是元数据(名称、标签等(。

根据K8S博客在这里。

在 Kubernetes 1.11 中,CoreDNS 已经达到了基于 DNS 的服务发现的正式发布 (GA(,作为 kube-dns 插件的替代方案。这意味着CoreDNS将在各种安装工具的即将推出版本中作为选项提供。事实上,kubeadm 团队选择从 Kubernetes 1.11 开始将其作为默认选项。

另请参阅此链接以获取更多信息。

最新更新