DNS概述
更新時間 2024-04-17 14:59:49
最近更新時間: 2024-04-17 14:59:49
分享文章
本節介紹網絡的用戶指南:服務發現DNS概述。
創建集群時會自動安裝CoreDNS插件,用來提供集群內部域名解析。在kube-system命名空間下,可以查看到CoreDNS相關Pod:
# kubectl -nkube-system get po -l k8s-app=kube-dns
NAME READY STATUS RESTARTS AGE
coredns-84f6584c85-5rmgq 1/1 Running 0 41h
coredns-84f6584c85-rs4n6 1/1 Running 0 41h
作為集群內部DNS服務器,CoreDNS會將Service域名與Service的IP記錄起來,Pod可以向CoreDNS查詢Service域名獲取對應IP地址。Pod訪問的Service域名格式為
默認情況下,會將Coredns Service的地址作為域名解析服務地址寫在Pod的/etc/resolv.conf
# kubectl -nkube-system get svc kube-dns
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 9d
# kubectl exec -it nginx-demo-748fb499d7-8f2t5 -- cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.96.0.10
options ndots:5
Pod內通過Service域名訪問后端Pod的DNS解析過程,如下圖所示: