安全的 Kubernetes Ingress 和 Egress Controller,如何應(yīng)對(duì)kubernetes的安全挑戰(zhàn)安全的 Kubernetes Ingress 和 Egress Controller本文旨在描述如何部署VoltMesh集群,以充當(dāng)部署至現(xiàn)有Kubernetes基礎(chǔ)架構(gòu)中的出海應(yīng)用工作負(fù)載的高可......
本文旨在描述如何部署VoltMesh集群,以充當(dāng)部署至現(xiàn)有Kubernetes基礎(chǔ)架構(gòu)中的出海應(yīng)用工作負(fù)載的高可用型Ingress和Egress Controller。
本文提供了兩種設(shè)計(jì)方式:
設(shè)計(jì)一利用BGP (Calico)實(shí)現(xiàn)最佳負(fù)載均衡性能,同時(shí)提供最大冗余
設(shè)計(jì)二利用NodePort服務(wù)實(shí)現(xiàn)最大兼容性,但負(fù)載均衡特性欠佳,出口流量可能會(huì)丟失冗余
在此設(shè)計(jì)中,將1個(gè)三節(jié)點(diǎn)VoltMesh集群部署至現(xiàn)有Kubernetes集群前端,并安裝Calico CNI網(wǎng)絡(luò)插件,以便為應(yīng)用工作負(fù)載提供進(jìn)出流量路由和網(wǎng)絡(luò)安全防護(hù)。盡管這一解決方案設(shè)計(jì)側(cè)重于Calico,但也可在未封裝的情況下替代其他支持BGP的CNI插件。
您可以通過(guò)Volterra服務(wù)發(fā)現(xiàn)與Kubernetes API服務(wù)器的集成自動(dòng)發(fā)現(xiàn)應(yīng)用端點(diǎn),從而執(zhí)行實(shí)時(shí)檢測(cè)。隨著應(yīng)用工作負(fù)載不斷橫向擴(kuò)展和收縮,這些應(yīng)用端點(diǎn)或Pod IP將自動(dòng)在VoltMesh源池中進(jìn)行添加和刪除,有助于實(shí)現(xiàn)零接觸負(fù)載均衡器重新配置。
通過(guò)服務(wù)發(fā)現(xiàn)識(shí)別應(yīng)用Pod IP后,VoltMesh集群和應(yīng)用Pod之間的3層路由將通過(guò)Pod IP路由的BGP通告啟用。該集群中的所有VoltMesh節(jié)點(diǎn)將直接對(duì)等互連Calico節(jié)點(diǎn),或通過(guò)中間的“架頂式”路由器對(duì)等互連。VoltMesh支持eBGP和iBGP對(duì)等互連。
在直接對(duì)等互連VoltMesh節(jié)點(diǎn)與Calico節(jié)點(diǎn)時(shí),請(qǐng)務(wù)必注意VoltMesh不是路由反射器服務(wù)器—Calico節(jié)點(diǎn)之間的內(nèi)部對(duì)等互連對(duì)于在Kubernetes集群內(nèi)共享Pod IP信息必不可少,這樣方可避免向每個(gè)Pod到Pod請(qǐng)求添加額外的跳數(shù),甚至破壞Pod到Pod通信。內(nèi)部對(duì)等互連可通過(guò)全網(wǎng)狀部署(適用于小規(guī)模部署)或通過(guò)充當(dāng)路由反射器的指定Calico節(jié)點(diǎn)(適用于大中規(guī)模部署)實(shí)現(xiàn)。
為了針對(duì)應(yīng)用工作負(fù)載啟用VoltMesh Egress Controller功能,VoltMesh集群需要檢查離開(kāi)Kubernetes集群的所有流量,以便在3、4和7層應(yīng)用可配置的安全策略。
如果直接對(duì)等互連VoltMesh節(jié)點(diǎn)與Calico節(jié)點(diǎn),則集群中的單個(gè)VoltMesh節(jié)點(diǎn)將成為所有離開(kāi)Kubernetes集群的流量的默認(rèn)網(wǎng)關(guān)或“下一跳”。默認(rèn)路由通過(guò)BGP從VoltMesh集群通告給所有Kubernetes節(jié)點(diǎn),并由Calico安裝至主機(jī)操作系統(tǒng)。如果用作默認(rèn)網(wǎng)關(guān)的VoltMesh節(jié)點(diǎn)因任何原因發(fā)生故障,VoltMesh集群均可檢測(cè)到,并通過(guò)BGP自動(dòng)將新的網(wǎng)關(guān)地址傳播到Kubernetes節(jié)點(diǎn)。
通過(guò)中間路由器對(duì)等互連VoltMesh節(jié)點(diǎn)可以在VoltMesh集群和路由器之間創(chuàng)建等價(jià)多路徑(ECMP)路由,以支持出口流量通過(guò)所有三個(gè)VoltMesh節(jié)點(diǎn)而非單個(gè)節(jié)點(diǎn)進(jìn)行路由,從而充分利用全主配置,而非主/備/備配置。由VoltMesh集群通過(guò)BGP傳播的默認(rèn)網(wǎng)關(guān)不會(huì)通告給Kubernetes節(jié)點(diǎn),每個(gè)Kubernetes節(jié)點(diǎn)的下一跳仍然是路由器。
虛擬IP或VIP均被用于部署在VoltMesh集群上的所有HTTP(S)和TCP負(fù)載均衡器。當(dāng)一個(gè)VoltMesh節(jié)點(diǎn)發(fā)生故障時(shí),每個(gè)VIP均可使用VRRP實(shí)現(xiàn)高可用性,并通過(guò)BGP進(jìn)行通告。
這一設(shè)計(jì)能夠?yàn)殛P(guān)鍵任務(wù)應(yīng)用提供高可用性和容錯(cuò)性,是推薦的部署配置。
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問(wèn)
微信掃一掃
馬上聯(lián)系在線顧問(wèn)
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部