使用 CoreDNS 进行服务发现
你必须拥有一个 Kubernetes 的集群,同时你的 Kubernetes 集群必须带有 kubectl 命令行工具。 建议在至少有两个节点的集群上运行本教程,且这些节点不作为控制平面主机。 如果你还没有集群,你可以通过 构建一个你自己的集群,或者你可以使用下面任意一个 Kubernetes 工具构建:
你的 Kubernetes 服务器版本必须不低于版本 v1.9. 要获知版本信息,请输入 .
关于 CoreDNS
CoreDNS 是一个灵活可扩展的 DNS 服务器,可以作为 Kubernetes 集群 DNS。 与 Kubernetes 一样,CoreDNS 项目由 托管。
有关手动部署或替换 kube-dns,请参阅 。
迁移到 CoreDNS
在 Kubernetes 1.21 版本中,kubeadm 移除了对将 kube-dns
作为 DNS 应用的支持。 对于 kubeadm
v1.26,所支持的唯一的集群 DNS 应用是 CoreDNS。
当你使用 升级使用 kube-dns
的集群时,你还可以执行到 CoreDNS 的迁移。 在这种场景中,kubeadm
将基于 ConfigMap 生成 CoreDNS 配置(”Corefile”), 保存存根域和上游名称服务器的配置。
如果你只想升级 CoreDNS 或使用自己的定制镜像,也可以手动升级 CoreDNS。 参看 文档了解如何平滑升级。 在升级你的集群过程中,请确保现有 CoreDNS 的配置(”Corefile”)被保留下来。
如果使用 kubeadm
工具来升级集群,则 kubeadm
可以自动处理保留现有 CoreDNS 配置这一事项。
CoreDNS 调优
当资源利用方面有问题时,优化 CoreDNS 的配置可能是有用的。 有关详细信息,请参阅有关。