国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

追蹤 Kubernetes 中的 DNS 查詢

開發 前端
在 解析 kubelet 源碼[6] 一文中,我們曾分析了 kubelet 創建 pod 的流程。kubelet 創建 pod sandbox 配置時[7] ,其中重要的一項配置就是準備 pod 的 DNS 配置[8](Pod 的 DNS 配置由 pod 的 dnsPolicy? 和 dnsConfig? 字段進行操作,這里不展開,下面的部分按照 dnsPolicy=ClusterFirst 情況

在過去的文章中,我們曾 追蹤過 Kubernetes 中的網絡數據包[1],這篇文章將追蹤 Kubernetes 中的 DNS 查詢。

讓我們以在 Pod 中解析 Service 完全限定域名(FQDN) foo.bar.svc.cluster.local 為例。

在開始之前,先回顧下 DNS 的解析流程。

DNS 的解析流程

圖片圖片

簡化版的 DNS 處理流程:

  1. DNS 客戶端(如瀏覽器、應用程序或者設備)發送域名 example.com 的查詢請求。
  2. DNS 解析器收到請求,查詢本地緩存,如果本地有記錄且未過期會返回本地的記錄。
  3. 如果本地緩存未命中,DNS 解析器將從 DNS 根服務器開始向下查詢,首先是頂級域名(Top Level Domain, TLD) DNS 服務器(這里是 .com),一直向下直到可以解析 example.com 的服務器。
  4. 能夠解析 example.com 的服務器成為權威 DNS 名稱服務器(Authoritative DNS name server),解析器訪問該服務器并收到 IP 地址等相關信息,然后返回給給客戶端。解析完成。

從流程來看非常重要的一項配置就是上游 DNS 服務器,該配置位于 Pod 中。這里 Kubernetes 的集群 DNS 服務器正是扮演上游 DNS 服務器的角色,比如 kube-dns[2]、CoreDNS[3],二者均實現了 Kubernetes 的基于 DNS 的服務發現規范[4]。對 CoreDNS 感興趣的,可以參考上一篇文章 淺析 CoreDNS 的工作機制[5]。

圖片圖片

Pod DNS 配置

在 解析 kubelet 源碼[6] 一文中,我們曾分析了 kubelet 創建 pod 的流程。kubelet 創建 pod sandbox 配置時[7] ,其中重要的一項配置就是準備 pod 的 DNS 配置[8](Pod 的 DNS 配置由 pod 的 dnsPolicy 和 dnsConfig 字段進行操作,這里不展開,下面的部分按照 dnsPolicy=ClusterFirst 情況進行說明)。

配置的內容包括如下三個部分:

  • DNS 服務器 nameserver:來自 kubelet 配置(通常位于 /var/lib/kubelet/config.yaml)的 clusterDNS 字段
  • 搜索域 search:包含四種域:命名空間域、服務域、集群域,以及節點 /etc/resolv.conf 中定義的搜索域。集群域來自 kubelet 配置的 clusterDomain 字段,默認為 cluster.local;命名空間域 NS.svc.cluster.local;服務域 svc.cluster.local
  • 選項 options:默認為 ndots:5

然后 kubelet 調用 CRI 接口創建容器,由 CRI 的實現將 DNS 配置寫入到容器文件(默認地址 /etc/resolv.conf)中,如 Containerd[9] 的 pkg/cri/server/sandbox_run_linux.go#L272[10]。

我們查看命名空間 default 下某個 pod 的 DNS 配置:

cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.96.0.10
options ndots:5

這里的 nameserver 正是 Service kube-dns 的 cluster IP 地址,也就是集群的 DNS 服務器,即 dnsPolicy=ClusterFirst 的結果。

search 與 ndots

search 用于指定默認的搜索域。當你在使用不完全限定域名(例如,只提供主機名而沒有域名)進行域名解析時,系統會嘗試在搜索域中找到匹配的完全限定域名。搜索域按照出現的順序進行搜索,直到找到匹配的域名或搜索完所有的域名。

ndots 用于指定在進行域名解析時,系統自動添加域名的點號個數閾值。當提供的域名中點號的個數達到或超過這個閾值時,系統會將其視為完全限定域名,而不再使用搜索域進行搜索。默認為 1,這里將其設置為 5。

注:ndots 的值大小會影響 DNS 解析的性能,為了獲得較好的性能,建議使用 FQDN 進行服務訪問,以及將 ndots 改為更小的值。

Pod DNS 解析

當在 Pod 中執行 DNS 解析時,查詢請求被發到本地(pod 中)的 DNS 解析器。這個解析器先在緩存中查詢,如果未命中,則會根據 /etc/resolv.conf 中的配置,將請求發到上游的 DNS 服務器,即集群 DNS 服務器 10.96.0.10 完成域名解析。

根據前面的介紹,假如我們要解析的域名是 foo.bar,會依次進行如下的查詢:

  • foo.bar.default.svc.cluster.local
  • foo.bar.svc.cluster.local(匹配到結果)

當我們使用 foo.bar、foo.bar.svc 都可以完成解析,但 foo.bar.svc.cluster 不行,因為追加了搜索域后無法匹配到結果。假如請求方與目標服務在同一個命名空間下,只用 foo 也是可以的。

參考資料

[1] 追蹤過 Kubernetes 中的網絡數據包: https://atbug.com/tracing-network-packets-in-kubernetes/

[2] kube-dns: https://github.com/kubernetes/dns

[3] CoreDNS: https://coredns.io

[4] Kubernetes 的基于 DNS 的服務發現規范: https://github.com/kubernetes/dns/blob/master/docs/specification.md

[5] 淺析 CoreDNS 的工作機制: https://atbug.com/analysis-of-the-working-mechanism-of-coredns/

[6] 解析 kubelet 源碼: https://atbug.com/how-kubelete-container-runtime-work-with-cni/#創建-pod

[7] 創建 pod sandbox 配置時: https://github.com/kubernetes/kubernetes/blob/release-1.24/pkg/kubelet/kuberuntime/kuberuntime_manager.go#L861

[8] pod 的 DNS 配置: https://github.com/kubernetes/kubernetes/blob/release-1.24/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go#L93

[9] Containerd: https://github.com/containerd/containerd

[10] pkg/cri/server/sandbox_run_linux.go#L272: https://github.com/containerd/containerd/blob/a05d175400b1145e5e6a735a6710579d181e7fb0/pkg/cri/server/sandbox_run_linux.go#L272

責任編輯:武曉燕 來源: 云原生指北
相關推薦

2023-03-27 00:13:26

數據包Kubernete網絡

2018-07-11 15:32:57

KubernetesDNS方式

2021-05-05 20:17:54

dnspeepDNSDNS工具

2022-03-03 12:24:17

暗碼追蹤數字水印打印機

2009-05-22 09:23:11

2015-04-09 10:58:09

2021-05-26 11:06:06

Kubernetes網絡故障集群節點

2021-05-19 08:40:36

DNS 協議查詢

2020-07-09 08:26:42

Kubernetes容器開發

2020-07-31 07:00:00

Kubernetes容器Linux

2021-02-22 09:44:03

KubernetesDNSLinux

2023-07-06 12:54:15

開源KelemetryKubernetes

2023-11-30 16:29:16

PostgreSQL數據庫Kubernetes

2023-04-14 14:31:52

Kubernetes服務

2021-12-29 17:29:07

KubernetesEvents集群

2020-04-27 13:22:30

Kubernetes架構Linux

2022-03-15 08:36:34

NginxKubernetesIngress

2020-12-10 10:40:38

DNS命令行工具Linux

2024-04-22 08:00:00

2009-05-22 08:58:15

點贊
收藏

51CTO技術棧公眾號

欧美极品色图| 国产一线二线三线女| av日韩精品| 精品国产三级a在线观看| 美女福利精品视频| 国产91亚洲精品久久久| av电影免费| av影院午夜一区| 5566av亚洲| 欧美午夜精品一区二区三区电影| 久久久999精品| 外国成人直播| 日韩精品免费视频| 成人国产电影在线观看| 日韩美女一区二区三区四区| 国产美女福利在线| 日本精品国产| 色综合亚洲精品激情狠狠| 免费观看亚洲| 在线视频欧美日韩精品| 欧美高清免费| 久久成人免费视频| 51亚洲精品| 国产成人高潮免费观看精品| 精品免费视频| 国产精品亚洲不卡a| 美女尤物久久精品| 久久躁狠狠躁夜夜爽| 老司机色在线视频| www.亚洲精品| 欧美大尺度在线观看| 亚洲一区二区三区久久久| 不卡av在线网站| 欧美电影在线观看完整版| 7m精品福利视频导航| 欧美综合另类| 国产区一区二区三区| 日韩中文字幕麻豆| 青青视频免费在线| 久久丝袜美腿综合| 免费h片在线观看| 欧美日韩国产中字| 国产最新在线| 深夜福利日韩在线看| 国产精品15p| 国产精品免费观看在线| 亚洲承认在线| 毛片av在线播放| 91农村精品一区二区在线| 福利视频网站| 欧美电影在线免费观看| 成人四虎影院| 国产精品小说在线| 日本视频免费一区| 黄色国产小视频| 一本大道久久a久久精品综合| 9999精品成人免费毛片在线看| 久久精品国产清自在天天线| 久久精品播放| 在线观看欧美一区| 国产精品久久看| 888av在线| 日韩在线免费av| 成人三级视频| 国产美女视频免费| 一区二区三区资源| 啦啦啦中文在线观看日本| 欧美激情一级二级| 99精品国产在热久久婷婷| 奇米精品一区二区三区| 夜夜嗨av一区二区三区中文字幕 | 精品午夜久久| 欧美激情国产日韩| 国产日韩欧美制服另类| 免费a级人成a大片在线观看| 久久久久国色av免费观看性色| 日韩视频一区| aaaaa毛片| 精品在线欧美视频| 99热精品久久| 少妇高清精品毛片在线视频| 91精品婷婷国产综合久久性色 | 久久精品无码中文字幕| 精品久久久久久久久久久| 日本在线播放一二三区| 国产精品入口福利| 风间由美性色一区二区三区 | 精品国产乱码久久久久久蜜柚 | 欧美三级三级三级| 欧美精彩视频一区二区三区| 苍井空浴缸大战猛男120分钟| 亚洲六月丁香色婷婷综合久久| 尤物免费看在线视频| 一区二区三区高清在线| 国产三级日本三级在线播放| 麻豆成人久久精品二区三区小说| 日韩亚洲在线视频| 国产成人亚洲综合a∨猫咪| 狠狠色综合色区| 国产精品主播| 相泽南亚洲一区二区在线播放| 中文字幕午夜精品一区二区三区 | 国产一区二区不卡| 菠萝菠萝蜜在线观看| 欧美色综合影院| 国产另类ts人妖一区二区| 中文在线a√在线8| 蜜桃网站成人| 国严精品久久久久久亚洲影视| 欧美亚一区二区| 久久网站最新地址| 亚洲一线二线三线久久久| 久久综合久久99| 精品一区二区三区免费播放| 日本中文字幕一区二区视频 | 免费男女羞羞的视频网站中文版| 欧美最新大片在线看| 一区二区三区四区视频免费观看| 亚洲a级在线播放观看| 在线看日韩精品电影| 国产精品午夜电影| 另类小说一区二区三区| 一精品久久久| 亚洲v天堂v手机在线| 国产精品亚洲欧美一级在线| 日本蜜桃在线观看视频| 亚洲天堂手机| 一级毛片国产| 日韩精品一区二区三区电影| 97精品在线视频| 久久免费精品视频| 欧美激情三级免费| 亚洲精品丝袜日韩| 欧美日韩一级二级三级| 欧美国产视频在线| 奇米色一区二区| 成人av网站大全| 亚洲精品护士| 日韩美女精品| 最新亚洲视频| 免费一级欧美片在线观看网站| 伦理一区二区三区| 欧美破处大片在线视频| 欧美日韩国产高清| 麻豆中文一区二区| wwww国产精品欧美| 久久成人av少妇免费| 亚洲精品国产动漫| 久久精品97| 999福利在线视频| 91国内外精品自在线播放| 日韩毛片免费观看| 欧美大胆的人体xxxx| 黄色免费网站在线| 亚洲www.| 亚洲美女15p| 天堂精品中文字幕在线| 成人黄页在线观看| 日韩一区二区视频在线观看| 亚洲欧美第一页| 777久久久精品| 一区二区激情小说| 亚洲性夜色噜噜噜7777| 怡红院精品视频| 91黄色激情网站| 亚洲视频每日更新| 中文字幕一区二区三区精华液 | 亚洲精品久久久久久久蜜桃臀| 欧美喷水一区二区| 欧美体内she精视频在线观看| 成人伊人222| 在线观看精品视频| 免费极品av一视觉盛宴| 国精产品999国精产品官网| 国产日韩欧美一区二区| 国产精品亚洲二区在线观看 | 91免费国产视频| 精品国产免费久久久久久尖叫| 91视频国产观看| 成人网18免费网站| 免费久久99精品国产自| 最近2019免费中文字幕视频三| 亚洲综合一区在线| 美女在线一区二区| 精品国产乱码| 国产成人精品亚洲日本在线观看| 97在线资源在| 在线视频国内一区二区| 欧美国产亚洲精品久久久8v| 日韩亚洲一区二区| 成人妇女淫片aaaa视频| 久久久久免费精品国产| 蜜桃视频一区二区三区在线观看| 四虎地址8848精品| 欧美人体大胆444www| 青青草视频在线视频| 国产精品区一区二区三在线播放| 色综合男人天堂| 欧美大胆人体bbbb| 午夜精品久久久久久不卡8050|