Kubernetes Gateway API如何戰(zhàn)勝Ingress
開源 Kubernetes Gateway API 的推出,提供了一個(gè)可以替代網(wǎng)絡(luò)Ingress管理入站流量的方案。在 The New Stack Makers 的這一集里可以了解更多相關(guān)信息。
譯自How the Kubernetes Gateway API Beats Network Ingress,作者 Heather Joslyn 是 The New Stack 的主編,對于軟件開發(fā)人員和工程師相關(guān)的管理和職業(yè)問題特別感興趣。她以前擔(dān)任 Container Solutions 的首席編輯,這是一家云原生咨詢公司...
芝加哥 - 想要訪問你的網(wǎng)絡(luò)和平臺(tái)的入境流量可能使用的是網(wǎng)絡(luò)的Ingress。但I(xiàn)ngress帶來了擴(kuò)展性、可用性和安全性方面的問題。
例如,NGINX高級產(chǎn)品經(jīng)理Mike Stefaniak在本期 The New Stack 制造者播客節(jié)目中說,一旦你有幾個(gè)團(tuán)隊(duì)在同一個(gè)Kubernetes集群中的同一個(gè)Ingress上工作,"那就涉及到同一資源的許多手。這可能會(huì)在團(tuán)隊(duì)之間造成很多摩擦。
我確實(shí)見過,我們做了一次更新,最終以某種方式改變了它,導(dǎo)致現(xiàn)在沒有流量可以進(jìn)入了。哎呀,全員出動(dòng),我們遇到一個(gè)事故了。"
網(wǎng)絡(luò)Ingress有點(diǎn)像一把鈍器,Stefaniak 和 NGINX 軟件工程師Kate Osborn在本期 TNS 制造者節(jié)目中建議,該節(jié)目在 KubeCon + CloudNative Con 北美洲之旅中錄制。
"最大的問題之一是它不可擴(kuò)展,"Osborn說:"所以這是一個(gè)非常簡單的資源。但是有大量復(fù)雜的路由人們想要做。為了做到這一點(diǎn),他們不得不添加自定義注釋。"
10月推出通用可用性的開源Kubernetes Gateway API為入站流量提供了網(wǎng)絡(luò)Ingress的替代方案。NGINX 也推出了NGINX Gateway Fabric,它為Kubernetes Gateway API提供了一個(gè)實(shí)現(xiàn),使用 NGINX 作為數(shù)據(jù)平面。
可擴(kuò)展性和安全性
四年前在 KubeCon 首次提出,Kubernetes Gateway API 1.0 版本相比網(wǎng)絡(luò)Ingress具有優(yōu)勢。
首先,Osborn 說: "它是可擴(kuò)展的。在多個(gè)網(wǎng)關(guān) API 資源上的多個(gè)點(diǎn)上,您可以引用策略,這是一個(gè)[自定義資源定義],這樣您實(shí)際上可以得到您從注釋中得不到的漂亮驗(yàn)證,不同的實(shí)現(xiàn)可以創(chuàng)建自己的策略。您可以在那里附加它們以使其可擴(kuò)展。"
此外,每個(gè)資源都有一個(gè)相關(guān)角色,避免了 Stefaniak 提到的“同一資源的多個(gè)手”的問題。
正如 Osborn 澄清的那樣:"您可以真正干凈地應(yīng)用[基于角色的訪問控制]策略,這使其更安全,并允許您控制您關(guān)心的內(nèi)容,而不會(huì)影響可能共享基礎(chǔ)設(shè)施的任何其他人。"
隨著開發(fā)人員開始采用 Kubernetes Gateway API,Stefaniak 說他預(yù)計(jì)早期用例將是全新領(lǐng)域,因?yàn)榫W(wǎng)絡(luò)Ingress使用非常普遍。
“Ingress 已經(jīng)存在很長時(shí)間了,可能還會(huì)存在很長時(shí)間,”他說。“因?yàn)榻裉焓褂盟墓揪哂写罅抗δ埽罅砍墒煨浴!?/p>
盡管如此,Osborn說: "網(wǎng)關(guān)有一個(gè)獨(dú)特的機(jī)會(huì)來統(tǒng)一南北流量和東西流量。網(wǎng)關(guān)組中有一個(gè)GAMMA 計(jì)劃正致力于這一點(diǎn) - 能夠包含進(jìn)出集群的所有類型的流量。用一個(gè)單一的、非常表達(dá)性的、面向角色的 API 來做這一點(diǎn)會(huì)非常酷。這里有很多可能性。"
請查看整個(gè)劇集以了解有關(guān) Kubernetes Gateway API 的更多信息。并與社區(qū)聯(lián)系以幫助構(gòu)建下一個(gè)版本。