我是 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 开始将其作为默认选项。
另请参阅此链接以获取更多信息。