此页面介绍了 CoreDNS 升级过程以及如何安装 CoreDNS 而不是 kube-dns。
你必须拥有一个 Kubernetes 的集群,同时你的 Kubernetes 集群必须带有 kubectl 命令行工具。 建议在至少有两个节点的集群上运行本教程,且这些节点不作为控制平面主机。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面任意一个 Kubernetes 工具构建:
您的 Kubernetes 服务器必须是 v1.9 或更高版本。 要检查版本,请输入 kubectl version
。
CoreDNS 是一个灵活可扩展的 DNS 服务器,可以作为 Kubernetes 集群 DNS。 与 Kubernetes 一样,CoreDNS 项目由 CNCF 托管。
通过替换现有集群部署中的 kube-dns,或者使用 kubeadm 等工具来为你部署和升级集群, 可以在你的集群中使用 CoreDNS 而非 kube-dns。
有关手动部署或替换 kube-dns,请参阅 CoreDNS GitHub 项目。
在 Kubernetes 1.21 版本中,kubeadm 移除了对将 kube-dns
作为 DNS 应用的支持。 对于 kubeadm
v1.24,所支持的唯一的集群 DNS 应用是 CoreDNS。
当你使用 kubeadm
升级使用 kube-dns
的集群时,你还可以执行到 CoreDNS 的迁移。 在这种场景中,kubeadm
将基于 kube-dns
ConfigMap 生成 CoreDNS 配置("Corefile"), 保存存根域和上游名称服务器的配置。
你可以在 CoreDNS version in Kubernetes 页面查看 kubeadm 为不同版本 Kubernetes 所安装的 CoreDNS 版本。
如果你只想升级 CoreDNS 或使用自己的定制镜像,也可以手动升级 CoreDNS。 参看指南和演练 文档了解如何平滑升级。 在升级你的集群过程中,请确保现有 CoreDNS 的配置("Corefile")被保留下来。
如果使用 kubeadm
工具来升级集群,则 kubeadm
可以自动处理保留现有 CoreDNS 配置这一事项。
当资源利用方面有问题时,优化 CoreDNS 的配置可能是有用的。 有关详细信息,请参阅有关扩缩 CoreDNS 的文档。
自定义DNS服务本页说明如何配置DNSPod(s),以及定制集群中DNS解析过程。在开始之前你必须拥有一个Kubernetes的集群,同时你的Kub...
配置Pod以使用卷进行存储此页面展示了如何配置Pod以使用卷进行存储。只要容器存在,容器的文件系统就会存在,因此当一个容器终止...
配置Pod初始化本文介绍在应用容器运行前,怎样利用Init容器初始化Pod。在开始之前你必须拥有一个Kubernetes的集群,同时你的Kube...
通过环境变量将Pod信息呈现给容器此页面展示Pod如何使用环境变量把自己的信息呈现给Pod中运行的容器。环境变量可以呈现Pod的字段...
强制删除StatefulSet中的Pods本文介绍如何删除StatefulSet管理的Pods,并解释这样操作时需要记住的注意事项。在开始之前这是一项...