Kubernetes 使用CoreDNS進(jìn)行服務(wù)發(fā)現(xiàn)

2022-06-07 09:48 更新

使用 CoreDNS 進(jìn)行服務(wù)發(fā)現(xiàn)

此頁面介紹了 CoreDNS 升級過程以及如何安裝 CoreDNS 而不是 kube-dns。

在開始之前

你必須擁有一個 Kubernetes 的集群,同時你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個節(jié)點(diǎn)的集群上運(yùn)行本教程,且這些節(jié)點(diǎn)不作為控制平面主機(jī)。 如果你還沒有集群,你可以通過 Minikube 構(gòu)建一個你自己的集群,或者你可以使用下面任意一個 Kubernetes 工具構(gòu)建:

您的 Kubernetes 服務(wù)器必須是 v1.9 或更高版本。 要檢查版本,請輸入 ?kubectl version?。

關(guān)于 CoreDNS

CoreDNS 是一個靈活可擴(kuò)展的 DNS 服務(wù)器,可以作為 Kubernetes 集群 DNS。 與 Kubernetes 一樣,CoreDNS 項(xiàng)目由 CNCF 托管。

通過替換現(xiàn)有集群部署中的 kube-dns,或者使用 kubeadm 等工具來為你部署和升級集群, 可以在你的集群中使用 CoreDNS 而非 kube-dns。

安裝 CoreDNS 

有關(guān)手動部署或替換 kube-dns,請參閱 CoreDNS GitHub 項(xiàng)目。

遷移到 CoreDNS

使用 kubeadm 升級現(xiàn)有集群

在 Kubernetes 1.21 版本中,kubeadm 移除了對將 ?kube-dns? 作為 DNS 應(yīng)用的支持。 對于 ?kubeadm ?v1.24,所支持的唯一的集群 DNS 應(yīng)用是 CoreDNS。

當(dāng)你使用 ?kubeadm ?升級使用 ?kube-dns? 的集群時,你還可以執(zhí)行到 CoreDNS 的遷移。 在這種場景中,?kubeadm ?將基于 ?kube-dns? ConfigMap 生成 CoreDNS 配置("Corefile"), 保存存根域和上游名稱服務(wù)器的配置。

升級 CoreDNS 

你可以在 CoreDNS version in Kubernetes 頁面查看 kubeadm 為不同版本 Kubernetes 所安裝的 CoreDNS 版本。

如果你只想升級 CoreDNS 或使用自己的定制鏡像,也可以手動升級 CoreDNS。 參看指南和演練 文檔了解如何平滑升級。 在升級你的集群過程中,請確保現(xiàn)有 CoreDNS 的配置("Corefile")被保留下來。

如果使用 ?kubeadm ?工具來升級集群,則 ?kubeadm ?可以自動處理保留現(xiàn)有 CoreDNS 配置這一事項(xiàng)。

CoreDNS 調(diào)優(yōu)

當(dāng)資源利用方面有問題時,優(yōu)化 CoreDNS 的配置可能是有用的。 有關(guān)詳細(xì)信息,請參閱有關(guān)擴(kuò)縮 CoreDNS 的文檔


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號