最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IPVS下CoreDNS滾動更新解析失敗原理探究

 更新時間:2023年03月09日 08:59:46   作者:Honest1y  
這篇文章主要為大家介紹了IPVS下CoreDNS滾動更新解析失敗原理探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

IPVS 模式下,當(dāng) coredns 滾動更新期間,集群監(jiān)控日志出現(xiàn)大量的連接超時,由于日志異常的時間和 coredns 變更時間完全重疊,懷疑是 coredns 滾動更新造成,下面進(jìn)行問題復(fù)現(xiàn),并給出優(yōu)化方案。

實驗

  • 創(chuàng)建一個由 2 個 POD 作為后端的 coredns service
  • 通過創(chuàng)建大量 DNS 查詢來訪問此服務(wù)
  • 觸發(fā)滾動更新 coredns

順序查詢

while true;do time (dig +tries=1 -4 +short A <name> @<dns clusterIP> >> dig.log) >> dig.log 2>&1;done

可以看到在 順序執(zhí)行(非并發(fā)壓測)的情況下,已經(jīng)出現(xiàn)較多DNS解析超時的情況

并發(fā)查詢

dnsperf是一個開源的DNS壓力測試工具,用戶可以用它來對DNS服務(wù)器或者Local DNS做壓力測試。dnsperf目前的實現(xiàn)是單進(jìn)程模式,通過epoll非阻塞地處理網(wǎng)絡(luò)事件

$ echo "www.mervinwang.com A" > dnstest
$ dnsperf -d dnstest -s <DNS的IP> -c100000 -Q100000 -l60
數(shù)據(jù)\解析超時時間1000ms500ms
sent6742340925
completed6435834519
lost3065 (4.55%)6406 (15.65%)

優(yōu)化

通過查閱 issue 得知,這里可能與ipvs_udp_timeout有關(guān),默認(rèn)的設(shè)置的是300scoredns 滾動更新的時候 ipvs 中 udp 老鏈接會 300s 才刪除,如果在 300s 內(nèi)客戶端有端口重用的話就會出現(xiàn)這個問題,并且這個時間和日志發(fā)生的時間也很類似,持續(xù)了5分鐘。

優(yōu)化改動

kube-proxy 加了ipvs-udp-timeout=10s

    spec:
      containers:
      - args:
        - --kubeconfig=/var/lib/kube-proxy/config
        - --hostname-override=$(NODE_NAME)
        - --v=2
        - --proxy-mode=ipvs
        ...
        - --ipvs-udp-timeout=10s

等待5分鐘(關(guān)鍵!?。?/p>

coredns configmaphealth lameduck配置改成20s

Corefile: |-
    .:53 {
        errors
        health {
            lameduck 20s
        }
        ready
...
}

查看 coredns日志,等待 reload

修改 coredns configmap 后,coredns 會自動 Reload,Relaod 過程中打印輸出的 lameduck 時間為 上次配置的時間

優(yōu)化后結(jié)果

數(shù)據(jù)類型\解析超時時間1000ms500ms
sent8502780502
completed8493080423
lost97 (0.11%)79 (0.10%)

可以看到,效果還是很明顯的~

最后附上 dnspref 工具的常用參數(shù):

Dnsperf 支持下面的這些命令行參數(shù):
-s     用來指定DNS服務(wù)器的IP地址,默認(rèn)值是127.0.0.1
-p     用來指定DNS服務(wù)器的端口,默認(rèn)值是53
-d     用來指定DNS消息的內(nèi)容文件,該文件中包含要探測的域名和資源記錄類型,見下文
-t     用來指定每個請求的超時時間,默認(rèn)值是3000ms
-Q     用來指定本次壓測的最大請求數(shù),默認(rèn)值是1000
-c     用來指定并發(fā)探測數(shù),默認(rèn)值是100. dnsperf會從-d指定的文件中隨機(jī)選取100個座位探測域名來發(fā)送DNS請求.
-l     用來指定本次壓測的時間,默認(rèn)值是無窮大。
-e     本選項通過EDNS0,在OPT資源記錄中運用edns-client-subnet來指定真實的client ip. 
-i     用來指定前后探測的時間間隔,因為dnsperf是一個壓測工具,所以本選項目前還不支持。
-P     指定用哪個傳輸層協(xié)議發(fā)送DNS請求,udp或者tcp。默認(rèn)值是udp
-f     指定用什么地址類型發(fā)送DNS請求,inet或者inet6。默認(rèn)值是inet
-v     除了標(biāo)準(zhǔn)的輸出外,還輸出每個相應(yīng)碼的個數(shù)。
-h     打印幫助

參考文檔 github.com/kubernetes/…

以上就是IPVS下CoreDNS滾動更新解析失敗原理探究的詳細(xì)內(nèi)容,更多關(guān)于IPVS CoreDNS滾動更新解析失敗的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • k8s如何給node添加標(biāo)簽(最新推薦)

    k8s如何給node添加標(biāo)簽(最新推薦)

    k8s集群如果由大量節(jié)點組成,可將節(jié)點打上對應(yīng)的標(biāo)簽,然后通過標(biāo)簽進(jìn)行篩選及查看,更好的進(jìn)行資源對象的相關(guān)選擇與匹配,這篇文章主要介紹了k8s如何給node添加標(biāo)簽,需要的朋友可以參考下
    2023-02-02
  • K8S?中?kubectl?命令詳解

    K8S?中?kubectl?命令詳解

    這篇文章主要介紹了K8S?中?kubectl?命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • windows下搭建Consul集群

    windows下搭建Consul集群

    這篇文章介紹了windows下搭建Consul集群的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Kubernetes(K8S)徹底卸載詳細(xì)教程

    Kubernetes(K8S)徹底卸載詳細(xì)教程

    網(wǎng)絡(luò)上有很多的K8S安裝安裝教程,但是唯獨很少有卸載教程,有也講得不清不楚,下面這篇文章主要給大家介紹了關(guān)于Kubernetes(K8S)徹底卸載的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 在CentOS上如何安裝Singularity高性能容器

    在CentOS上如何安裝Singularity高性能容器

    Singularity是勞倫斯伯克利國家實驗室專門為大規(guī)模、跨節(jié)點HPC和DL工作負(fù)載而開發(fā)的容器化技術(shù),具備輕量級、快速部署、方便遷移等優(yōu)勢,且支持從Docker鏡像格式轉(zhuǎn)換為Singularity鏡像格式,本文給大家介紹在CentOS上如何安裝Singularity高性能容器,感興趣的朋友一起看看吧
    2024-05-05
  • k8s dashboard安裝過程記錄

    k8s dashboard安裝過程記錄

    這篇文章主要介紹了k8s dashboard安裝過程記錄,本案例k8s版本為v1.22.17,所以安裝v2.7.0版本的dashboard,需要的朋友可以參考下
    2024-05-05
  • 自定義資源CRD使用介紹

    自定義資源CRD使用介紹

    這篇文章主要為大家介紹了自定義資源CRD的使用示例介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 一文詳解基于k8s部署Session模式Flink集群

    一文詳解基于k8s部署Session模式Flink集群

    這篇文章主要為大家介紹了基于k8s部署Session模式Flink集群詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 常見Kubernetes kubectl命令使用詳解

    常見Kubernetes kubectl命令使用詳解

    這篇文章主要為大家介紹了常見Kubernetes kubectl命令使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • k8s部署rabbitmq集群的方式

    k8s部署rabbitmq集群的方式

    本次部署方式為setafulset的方式部署rabbitmq集群,使用svc的無頭服務(wù),本次涉及使用到的服務(wù)有setafulset、secret、configmap、service、pv、pvc、sa,在rabbitmq的官網(wǎng)中使用的是operator的方式,感興趣的朋友一起看看吧
    2024-03-03

最新評論

于都县| 兰州市| 如东县| 西昌市| 南木林县| 龙海市| 广南县| 油尖旺区| 新昌县| 商都县| 府谷县| 开江县| 金山区| 威信县| 老河口市| 遂昌县| 阳江市| 巴林右旗| 秭归县| 宜宾县| 呼和浩特市| 襄垣县| 凤台县| 南丰县| 贞丰县| 永和县| 河南省| 肥城市| 长岭县| 瑞金市| 栖霞市| 南靖县| 乌拉特前旗| 瓦房店市| 广丰县| 兴和县| 且末县| 马山县| 孙吴县| 靖边县| 如皋市|