diff --git a/content/zh/docs/tasks/administer-cluster/coredns.md b/content/zh/docs/tasks/administer-cluster/coredns.md index 22ada21026..24773adbb9 100644 --- a/content/zh/docs/tasks/administer-cluster/coredns.md +++ b/content/zh/docs/tasks/administer-cluster/coredns.md @@ -28,8 +28,10 @@ This page describes the CoreDNS upgrade process and how to install CoreDNS inste ## 关于 CoreDNS @@ -37,11 +39,12 @@ Like Kubernetes, the CoreDNS project is hosted by the {{< glossary_tooltip text= 与 Kubernetes 一样,CoreDNS 项目由 {{< glossary_tooltip text="CNCF" term_id="cncf" >}} 托管。 -通过在现有的集群中替换 kube-dns,可以在集群中使用 CoreDNS 代替 kube-dns 部署, -或者使用 kubeadm 等工具来为你部署和升级集群。 +通过替换现有集群部署中的 kube-dns,或者使用 kubeadm 等工具来为你部署和升级集群, +可以在你的集群中使用 CoreDNS 而非 kube-dns, - ## 迁移到 CoreDNS ### 使用 kubeadm 升级现有集群 +在 Kubernetes 1.21 版本中,kubeadm 移除了对将 `kube-dns` 作为 DNS 应用的支持。 +对于 `kubeadm` v{{< skew currentVersion >}},所支持的唯一的集群 DNS 应用是 CoreDNS。 + + -在 Kubernetes 1.10 及更高版本中,当你使用 `kubeadm` 升级使用 `kube-dns` 的集群时,你还可以迁移到 CoreDNS。 -在本例中 `kubeadm` 将生成 CoreDNS 配置("Corefile")基于 `kube-dns` ConfigMap, +当你使用 `kubeadm` 升级使用 `kube-dns` 的集群时,你还可以执行到 CoreDNS 的迁移。 +在这种场景中,`kubeadm` 将基于 `kube-dns` ConfigMap 生成 CoreDNS 配置("Corefile"), 保存存根域和上游名称服务器的配置。 - -如果你正在从 kube-dns 迁移到 CoreDNS,请确保在升级期间将 `CoreDNS` 特性门设置为 `true`。 -例如,`v1.11.0` 升级应该是这样的: - -``` -kubeadm upgrade apply v1.11.0 --feature-gates=CoreDNS=true -``` - - -在 Kubernetes 版本 1.13 和更高版本中,`CoreDNS`特性门已经删除,CoreDNS 在默认情况下使用。 - - -在 1.11 之前的版本中,核心文件将被升级过程中创建的文件覆盖。 -**如果已对其进行自定义,则应保存现有的 ConfigMap。** -在新的 ConfigMap 启动并运行后,你可以重新应用自定义。 - - -如果你在 Kubernetes 1.11 及更高版本中运行 CoreDNS,则在升级期间,将保留现有的 Corefile。 - - -在 kubernetes 1.21 中,kubeadm 移除了对 `kube-dns` 的支持。 - ## 升级 CoreDNS -从 v1.9 起,Kubernetes 提供了 CoreDNS。 -你可以在[此处](https://github.com/coredns/deployment/blob/master/kubernetes/CoreDNS-k8s_version.md) -查看 Kubernetes 随附的 CoreDNS 版本以及对 CoreDNS 所做的更改。 +你可以在 [CoreDNS version in Kubernetes](https://github.com/coredns/deployment/blob/master/kubernetes/CoreDNS-k8s_version.md) +页面查看 kubeadm 为不同版本 Kubernetes 所安装的 CoreDNS 版本。 -如果你只想升级 CoreDNS 或使用自己的自定义镜像,则可以手动升级 CoreDNS。 +如果你只想升级 CoreDNS 或使用自己的定制镜像,也可以手动升级 CoreDNS。 参看[指南和演练](https://github.com/coredns/deployment/blob/master/kubernetes/Upgrading_CoreDNS.md) 文档了解如何平滑升级。 +在升级你的集群过程中,请确保现有 CoreDNS 的配置("Corefile")被保留下来。 + +如果使用 `kubeadm` 工具来升级集群,则 `kubeadm` 可以自动处理保留现有 CoreDNS +配置这一事项。 ## CoreDNS 调优 当资源利用方面有问题时,优化 CoreDNS 的配置可能是有用的。 -有关详细信息,请参阅[有关扩缩 CoreDNS 的文档](https://github.com/coredns/deployment/blob/master/kubernetes/Scaling_CoreDNS.md)。 +有关详细信息,请参阅有关[扩缩 CoreDNS 的文档](https://github.com/coredns/deployment/blob/master/kubernetes/Scaling_CoreDNS.md)。 ## {{% heading "whatsnext" %}} -你可以通过修改 `Corefile` 来配置 [CoreDNS](https://coredns.io),以支持比 kube-dns 更多的用例。 -请参考 [CoreDNS 网站](https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/) +你可以通过修改 CoreDNS 的配置("Corefile")来配置 [CoreDNS](https://coredns.io), +以支持比 kube-dns 更多的用例。 +请参考 `kubernetes` CoreDNS 插件的[文档](https://coredns.io/plugins/kubernetes/) +或者 CoreDNS 博客上的博文 +[Custom DNS Entries for Kubernetes](https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/), 以了解更多信息。