我是Kubernetes的新手,希望能更好地了解Kube-DNS和CoreDNS之间的区别。
据我所知,建议您使用较新的CoreDNS而不是较旧的Kube-DNS。
我已经使用kubeadm
设置了一个小型群集,现在我对CoreDNS和Kube-DNS之间的区别感到有些困惑。
使用kubectl get pods --all-namespaces
,我看到有两个正在运行的CoreDNS pod。
但是使用kubectl get svc --all-namespaces
时,我还看到我有一个名为kube-dns
的服务正在kube-system
命名空间中运行。当我使用kubectl describe svc/kube-dns -n kube-system
进行检查时,可以看到kube-dns
服务链接到coredns。
我现在想知道我是否同时运行kube-dns和coredns。否则,为什么该服务称为kube-dns
而不是core-dns
?
答案 0 :(得分:3)
我有K8S 1.12。对dns pod进行描述。
kubectl描述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博客here。
在Kubernetes 1.11中,CoreDNS已达到基于DNS的服务发现的通用可用性(GA),可以替代kube-dns插件。这意味着CoreDNS将作为各种安装工具的即将发布版本中的一个选项提供。实际上,kubeadm团队选择将其设为从Kubernetes 1.11开始的默认选项。
此外,请参阅此链接以获取more信息。