From e1b27315791a706f54fa24750698afc2fc601e9d Mon Sep 17 00:00:00 2001 From: lIuDuI <1693291525@qq.com> Date: Mon, 21 Jan 2019 11:11:29 +0800 Subject: [PATCH] ZH-trans: add coredns.md (#12282) * ZH-trans: add coredns.md * Update coredns.md --- .../docs/tasks/administer-cluster/coredns.md | 153 ++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 content/zh/docs/tasks/administer-cluster/coredns.md diff --git a/content/zh/docs/tasks/administer-cluster/coredns.md b/content/zh/docs/tasks/administer-cluster/coredns.md new file mode 100644 index 0000000000..26a7741935 --- /dev/null +++ b/content/zh/docs/tasks/administer-cluster/coredns.md @@ -0,0 +1,153 @@ +--- +reviewers: +- johnbelamaric +title: 使用 CoreDNS 进行服务发现 +min-kubernetes-server-version: v1.9 +content_template: templates/task +--- + + + +{{% capture overview %}} + + +此页面介绍了 CoreDNS 升级过程以及如何安装 CoreDNS 而不是 kube-dns。 + +{{% /capture %}} + +{{% capture prerequisites %}} +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} +{{% /capture %}} + +{{% capture steps %}} + + + +## 关于 CoreDNS + + +[CoreDNS](https://coredns.io) 是一个灵活可扩展的 DNS 服务器,可以作为 Kubernetes 集群 DNS。与 Kubernetes 一样,CoreDNS 项目由 CNCF(http://www.cncf.io) 持有。 + + +通过在现有的集群中替换 kube-dns,可以在集群中使用 CoreDNS 代替 kube-dns 部署,或者使用 kubeadm 等工具来为您部署和升级集群。 + + + +## 安装 CoreDNS + + +有关手动部署或替换 kube-dns,请参阅 [CoreDNS GitHub 工程](https://github.com/coredns/deployment/tree/master/kubernetes)。 + + + +## 使用 kubeadm 升级现有集群 + + +在 Kubernetes 1.10 及更高版本中,当您使用 `kubeadm` 升级使用 `kube-dns` 的集群时,您还可以迁移到 CoreDNS。 +在本例中 `kubeadm` 将生成 CoreDNS 配置("Corefile")基于 `kube-dns` ConfigMap,保存联邦、存根域和上游名称服务器的配置。 + + +如果您正在从 kube-dns 迁移到 CoreDNS,请确保在升级期间将 `CoreDNS` 特性门设置为 `true`。例如,`v1.11.0` 升级应该是这样的: + +``` +kubeadm upgrade apply v1.11.0 --feature-gates=CoreDNS=true +``` + + +在 1.11 之前的版本中,核心文件将被升级过程中创建的文件覆盖。 +**如果已对其进行自定义,则应保存现有的 ConfigMap。** 在新的 ConfigMap 启动并运行后,您可以重新应用自定义。 + + +如果您在 Kubernetes 1.11 及更高版本中运行 CoreDNS,则在升级期间,将保留现有的 Corefile。 + + +## 使用 kubeadm 安装 kube-dns 而不是 CoreDNS + +{{< note >}} + + +在 Kubernetes 1.11 中,CoreDNS 已经升级到通用可用性(GA),并默认安装。 + +{{< /note >}} + + +若要安装 kube-dns,请将 `CoreDNS` 特性门值设置为 `false`: + +``` +kubeadm init --feature-gates=CoreDNS=false +``` + + + +## CoreDNS 调优 + + +当涉及到资源利用时,优化内核的配置可能是有用的。有关详细信息,请参阅 [关于扩展 CoreDNS 的文档]((https://github.com/coredns/deployment/blob/master/kubernetes/Scaling_CoreDNS.md))。 + +{{% /capture %}} + +{{% capture whatsnext %}} + + +您可以通过修改 `Corefile` 来配置 [CoreDNS](https://coredns.io),以支持比 ku-dns 更多的用例。有关更多信息,请参考 [CoreDNS 网站](https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/)。 + +{{% /capture %}} + +