成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spiderpool:如何解決僵尸 IP 回收的問題

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
Spiderpool 在各種測試場景下表現(xiàn)優(yōu)秀。雖然 Spiderpool 是一種適用于 Underlay 網(wǎng)絡(luò)下的 IPAM 解決方案,但是其 IP 分配以及回收的能力,相較于主流 Overlay CNI (如 Calico)也毫不遜色,盡管 Spiderpool 面臨著更多的、復(fù)雜的 IP 地址搶占與沖突的問題。?

在 Underlay 網(wǎng)絡(luò)中,如何回收僵尸 IP?云原生網(wǎng)絡(luò)開源項目--Spiderpool 提供了相應(yīng)的解決方案,讓我們一探究竟。

01Underlay網(wǎng)絡(luò)解決方案

為什么需要 Underlay 網(wǎng)絡(luò)解決方案?在數(shù)據(jù)中心私有云中,有許多需要 Underlay 網(wǎng)絡(luò)的應(yīng)用場景:

  • 低延遲和高吞吐量:在一些需要低延遲和高吞吐量的應(yīng)用場景中,Underlay 網(wǎng)絡(luò)方案通常比 Overlay 網(wǎng)絡(luò)方案更具優(yōu)勢。由于 Underlay 網(wǎng)絡(luò)是基于物理網(wǎng)絡(luò)構(gòu)建的,因此可以提供更快速和穩(wěn)定的網(wǎng)絡(luò)傳輸服務(wù)。
  • 傳統(tǒng)主機應(yīng)用上云:在數(shù)據(jù)中心內(nèi),許多傳統(tǒng)主機應(yīng)用仍然使用傳統(tǒng)的網(wǎng)絡(luò)對接方式,例如服務(wù)暴露和發(fā)現(xiàn)、多子網(wǎng)對接等。在這種情況下,使用 Underlay 網(wǎng)絡(luò)解決方案可以更好地滿足這些應(yīng)用的需求。
  • 數(shù)據(jù)中心網(wǎng)絡(luò)管理:數(shù)據(jù)中心管理人員通常需要對應(yīng)用實施安全管控,例如使用防火墻、Vlan 隔離等手段。此外,他們還需要使用傳統(tǒng)的網(wǎng)絡(luò)觀測手段實施集群網(wǎng)絡(luò)監(jiān)控。使用 Underlay 網(wǎng)絡(luò)解決方案可以更方便地實現(xiàn)這些需求。
  • 獨立的宿主機網(wǎng)卡規(guī)劃:在一些特殊的應(yīng)用場景下,例如 Kubevirt、存儲項目、日志項目等,需要實施獨立的宿主機網(wǎng)卡規(guī)劃,以保證底層子網(wǎng)的帶寬隔離。使用Underlay 網(wǎng)絡(luò)解決方案可以更好地支持這些應(yīng)用的需求,從而提高應(yīng)用的性能和可靠性。

隨著數(shù)據(jù)中心私有云的不斷普及,Underlay 網(wǎng)絡(luò)作為數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的重要組成部分,已經(jīng)被廣泛應(yīng)用于數(shù)據(jù)中心的網(wǎng)絡(luò)架構(gòu)中,以提供更高效的網(wǎng)絡(luò)傳輸和更好的網(wǎng)絡(luò)拓撲管理能力。

02Underlay 網(wǎng)絡(luò)中的僵尸 IP 問題

什么是僵尸 IP ?在 IPAM 中記錄了分配給 Pod 使用的 IP 地址,但是這些 Pod 在 Kubernetes 集群中已經(jīng)不復(fù)存在,這些 IP 可稱為 僵尸 IP 。

在實際的生產(chǎn)中,難免會遇到集群中出現(xiàn)僵尸 IP ,如:

  • 在集群中 delete Pod 時,但由于網(wǎng)絡(luò)異常或 cni 二進制 crash 等問題,導(dǎo)致調(diào)用 cni delete 失敗,從而導(dǎo)致 IP 地址無法被 cni 回收。
  • 節(jié)點意外宕機后,集群中的 Pod 永久處于 `deleting` 狀態(tài),Pod 占用的 IP 地址無法被釋放。

在使用 Underlay 網(wǎng)絡(luò)的 Kubernetes 集群中,當出現(xiàn)僵尸 IP 時,可能會帶來如下的一些問題:

  • Underlay 網(wǎng)絡(luò)下 IP 資源有限:在大規(guī)模集群中,Pod 的數(shù)量可能非常龐大,IPAM 會為每個 Pod 實例分配指定的 Underlay 子網(wǎng) IP 以進行網(wǎng)絡(luò)通信,如果出現(xiàn)僵尸 IP 問題,可能會導(dǎo)致大量的 IP 資源浪費,或?qū)⒚媾R無 Underlay IP 資源可用的局面。
  • 固定 IP 需求,導(dǎo)致新 Pod 啟動失敗:將一個擁有 10 個 IP 地址的 IP 池,固定給 10 個副本的應(yīng)用使用,如出現(xiàn)上述的僵尸 IP 問題,舊的 Pod IP 無法被回收,新 Pod 將因為缺少 IP 資源,且無法獲取到可用的 IP,從而無法啟動。這將對應(yīng)用的穩(wěn)定性和可靠性造成威脅,甚至可能導(dǎo)致整個應(yīng)用程序都無法正常運行。

03解決方案:Spiderpool

Spiderpool(https://github.com/spidernet-io/spiderpool) 是一個 Kubernetes 的 Underlay 網(wǎng)絡(luò)解決方案,通過提供輕量級的 meta 插件和 IPAM 插件,Spiderpool 靈活地整合與強化了開源社區(qū)中現(xiàn)有的 CNI 項目,最大程度的簡化 Underlay 網(wǎng)絡(luò)下 IPAM 的運維工作,使得多 CNI 協(xié)同工作真正的可落地,支持運行在裸金屬、虛擬機、公有云等環(huán)境下。

Spiderpool 通過如下的 IP 回收機制,以解決 Underlay 網(wǎng)絡(luò)中出現(xiàn)的故障 IP 問題:

  • 對處于 Terminating 狀態(tài)的 Pod,Spiderpool 將在 Pod 的 spec.terminationGracePeriodSecond 后,自動釋放其 IP 地址。該功能可通過環(huán)境變量 SPIDERPOOL_GC_TERMINATING_POD_IP_ENABLED 來控制。該能力能夠用以解決節(jié)點意外宕機的故障場景。
  • 在 cni delete 失敗等故障場景,如果一個曾經(jīng)分配了 IP 的 Pod 被銷毀后,但在 IPAM 中還記錄分配著 IP 地址,形成了僵尸 IP 的現(xiàn)象。Spiderpool 針對這種問題,會基于周期和事件掃描機制,自動回收這些僵尸 IP 地址。

04等比例 IP分配測試

IPAM 要求能夠精準地分配 IP 地址,同時 Spiderpool 還具備了健壯的故障 IP 回收能力,筆者做了如下的等比例 IP 分配測試,來進行驗證。本次等比例 IP 分配測試,基于 0.3.1 版本的 CNI Specification,以 Macvlan 搭配 Spiderpool(版本 v0.6.0)作為測試方案,并選擇了開源社區(qū)中的 Whereabouts(版本 v0.6.2)搭配 Macvlan 、Kube-ovn(版本 v1.11.8)Calico-ipam(版本 v3.26.1)幾種網(wǎng)絡(luò)解決方案為對比,測試場景如下:

1. 創(chuàng)建 1000 個 Pod,同時限制可用的 IPv4/IPv6 地址數(shù)量均為 1000 個,確保可用的 IP 地址數(shù)量與 Pod 數(shù)量為 1:1。

2. 使用如下命令一次性地重建這 1000 個 Pod,記錄被重建的 1000 個 Pod 全部 Running 的耗時。驗證在固定 IP 地址時,并發(fā)重建的 Pod 在涉及 IP 地址的回收、搶占與沖突的場景下,各 IPAM 插件能否快速的調(diào)節(jié)好有限的 IP 地址資源,保證應(yīng)用恢復(fù)的速度。

~# kubectl get pod | grep "prefix" | awk '{print $1}' | xargs kubectl delete pod

3. 將所有節(jié)點下電后再上電,模擬故障恢復(fù),記錄 1000 個 Pod 再次達到 Running 的耗時。

4. 刪除所有的 Deployment,記錄所有 Pod 完全消失的耗時。

測試數(shù)據(jù)如下:

圖片

Spiderpool 與 Kube-ovn 的 IPAM 分配原理,是整個集群節(jié)點的所有 Pod 都從同一個 CIDR 中分配 IP,所以 IP 分配和釋放需要面臨激烈的競爭,IP 分配性能的挑戰(zhàn)會更大;Whereabouts 和 Calico 的 IPAM 分配原理,是每個節(jié)點都有一個小的 IP 集合,所以 IP 分配的競爭比較小,IP 分配性能的挑戰(zhàn)會小。但從實驗數(shù)據(jù)上看,雖然 Spdierpool 的 IPAM 原理是 "吃虧" 的,但是分配 IP 的性能卻是很好的。

在測試 Macvlan + Whereabouts 這個組合期間,創(chuàng)建的場景中 922 個 Pod 在 14m25s 內(nèi)以較為均勻的速率達到 Running 狀態(tài),自此之后的 Pod 增長速率大幅降低,最終 1000 個 Pod 花了 21m49s 達到 Running 狀態(tài)。至于重建的場景,在 55 個 Pod 達到 Running 狀態(tài)后,Whereabouts 無法繼續(xù)分配 IP 給 Pod。由于測試場景中 IP 地址數(shù)量與 Pod 數(shù)量為 1:1,如果 IPAM 組件未能正確的回收 IP,新 Pod 將因為缺少 IP 資源,且無法獲取到可用的 IP,從而無法啟動。

05總結(jié)

從上面的測試可以發(fā)現(xiàn),Spiderpool 在各種測試場景下表現(xiàn)優(yōu)秀。雖然 Spiderpool 是一種適用于 Underlay 網(wǎng)絡(luò)下的 IPAM 解決方案,但是其 IP 分配以及回收的能力,相較于主流 Overlay CNI (如 Calico)也毫不遜色,盡管 Spiderpool 面臨著更多的、復(fù)雜的 IP 地址搶占與沖突的問題。

責任編輯:武曉燕 來源: 道客船長
相關(guān)推薦

2023-07-18 16:05:00

IP地址

2010-08-25 13:06:53

IP地址故障

2012-09-05 11:09:15

SELinux操作系統(tǒng)

2017-10-17 09:21:06

2009-11-13 15:27:12

無線路由器

2011-07-28 20:36:12

2010-04-29 17:46:31

Oracle死鎖

2009-09-21 17:10:14

struts Hibe

2021-10-20 20:27:55

MySQL死鎖并發(fā)

2019-11-26 14:30:20

Spring循環(huán)依賴Java

2024-12-05 09:06:58

2015-07-10 09:08:52

IP地址IP地址沖突

2023-06-02 09:16:11

云原生網(wǎng)絡(luò)區(qū)域

2017-07-20 07:30:16

大數(shù)據(jù)數(shù)據(jù)互聯(lián)網(wǎng)

2024-10-29 16:41:24

SpringBoot跨域Java

2013-05-21 10:49:59

Windows硬件沖突

2011-08-29 10:34:00

網(wǎng)絡(luò)安全云安全云計算

2023-10-30 18:35:47

MySQL主從延時

2021-06-06 13:05:15

前端跨域CORS

2011-03-23 14:42:47

CPU過度消耗
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产免费一区二区三区 | 国产成人免费视频网站视频社区 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 精品粉嫩超白一线天av | 欧美久久一区二区 | 免费看91| 欧美一级久久 | 成人黄色在线观看 | 美女黄色在线观看 | 日韩在线精品视频 | 色爱区综合 | 亚洲视频在线一区 | 亚洲精品久久久久中文字幕欢迎你 | 国产激情视频在线观看 | 91欧美| 韩日中文字幕 | 一区二区三区网站 | 久久久久久久久久一区二区 | 中文字幕久久久 | 在线观看免费观看在线91 | 亚洲视频免费观看 | 久久福利电影 | 久久久久久久久久爱 | 日韩av一区在线观看 | 夜夜久久 | 国产精品欧美一区喷水 | 玖玖免费 | 97国产精品 | 男女国产网站 | 天天操天天插 | 日韩高清一区二区 | 国产高清免费视频 | 久久国产一区二区 | 中文字幕成人av | 国产欧美日韩一区二区三区在线 | 天天久久| 先锋资源在线 | 一区二区三区国产好 | 91国自视频| 欧美日韩一区在线播放 | 亚洲v区|