web-dev-qa-db-ja.com

Kubernetes:Kube-DNSとCoreDNS

私はKubernetesを初めて使用し、Kube-DNSとCoreDNSの違いをよりよく理解したいと思っています。

私の理解では、古いKube-DNSよりも新しいCoreDNSを使用することをお勧めします。

kubeadmを使用して小さなクラスターをセットアップしましたが、CoreDNSとKube-DNSの違いについて少し混乱しています。

kubectl get pods --all-namespacesを使用すると、2つのCoreDNSポッドが実行されていることがわかります。

ただし、kubectl get svc --all-namespacesを使用すると、kube-dnsという名前のサービスがkube-system名前空間で実行されていることもわかります。 kubectl describe svc/kube-dns -n kube-systemでそれを調べると、kube-dnsサービスがcorednsにリンクしていることがわかります。

Kube-dnとcorednの両方を実際に実行しているのではないかと思っています。または、そのサービスがkube-dnsではなくcore-dnsと呼ばれるのはなぜですか?

8
lanoxx

K8S 1.12があります。 DNSポッドの説明を行います。

kubectl describe pod coredns-576cbf47c7-hhjrs --namespace = kube-system | grep -i "image:"

画像:k8s.gcr.io/coredns:1.2.2

Corednsが実行されているようです。ドキュメントによると、CoreDNSはK8S 1.11からのデフォルトです。以前のインストールでは、kube-dnsです。

画像は重要であり、残りはメタデータ(名前、ラベルなど)です。

K8Sブログによると こちら

Kubernetes 1.11では、CoreDNSはkube-dnsアドオンの代替として、DNSベースのサービス検出の一般的な可用性(GA)に達しました。これは、CoreDNSがさまざまなインストールツールの今後のバージョンでオプションとして提供されることを意味します。実際、kubeadmチームは、Kubernetes 1.11以降のデフォルトオプションにすることを選択しました。

また、このリンクを参照してください more info。

5
Praveen Sripati