Istio的网络API解释了
Istio 1.0版附帶一個(gè)網(wǎng)絡(luò)API,該API包含許多功能并涵蓋了各種情況。 聯(lián)網(wǎng)API在最近幾個(gè)月中得到了發(fā)展,并且可能無(wú)法立即說(shuō)明。 該API的概念和構(gòu)建塊是什么,以及如何使用各個(gè)Istio資源類型來(lái)通過(guò)我們的服務(wù)網(wǎng)格路由流量?
盡管文檔提供了大量有用的信息,但我還是想用自己的語(yǔ)言來(lái)描述和解釋流量路由。 我必須付出很多努力才能理解概念和動(dòng)機(jī)是什么,尤其是如何應(yīng)用各個(gè)組成部分。
以下視頻旨在解釋Istio的網(wǎng)絡(luò)( v3alpha )API的概念,以及通常如何應(yīng)用構(gòu)建基塊。 它顯示了服務(wù)網(wǎng)格中各個(gè)組件的可視模型,希望可以幫助您理解和使用Istio。
什么時(shí)候使用
虛擬服務(wù) :將屬于網(wǎng)狀網(wǎng)的服務(wù)的流量路由到特定目標(biāo)或其子集,和/或以某些行為(例如超時(shí))注釋HTTP(默認(rèn))路由。
目標(biāo)規(guī)則 :設(shè)置路由流量的策略,例如TLS設(shè)置,異常檢測(cè)或負(fù)載平衡器設(shè)置,和/或定義屬于網(wǎng)格的服務(wù)子集。
服務(wù)條目 :將其他服務(wù)添加到Istio的內(nèi)部服務(wù)注冊(cè)表中,這是將流量路由到外部服務(wù)所必需的。 可以通過(guò)虛擬服務(wù)和目標(biāo)規(guī)則來(lái)增強(qiáng)所添加的服務(wù)。
網(wǎng)關(guān)(入口) :將入口流量路由到服務(wù)網(wǎng)格。 網(wǎng)關(guān)需要綁定到虛擬服務(wù),該服務(wù)定義將入口流量路由到的位置。
網(wǎng)關(guān)(出口) :定義一個(gè)出口,可以將離開網(wǎng)格的所有出口流量路由通過(guò)。 對(duì)于僅特定節(jié)點(diǎn)可以或應(yīng)該訪問(wèn)外部網(wǎng)絡(luò)的方案可能是必需的。
見解和“陷阱”
開始使用Istio的網(wǎng)絡(luò)功能后,您可能需要考慮一些我自己的見解。 其中一些聽起來(lái)很明顯,但可能包含“陷阱”效果。
- 虛擬服務(wù)以及目標(biāo)規(guī)則不必與平臺(tái)(Kubernetes)服務(wù)1:1匹配。
- HTTP和HTTPS / TLS的運(yùn)行方式有所不同,尤其是在路由規(guī)則和其他“增強(qiáng)”方面,這主要是由于流量的加密性質(zhì)。 例如
- HTTPS通信需要通過(guò)TLS規(guī)則(使用端口和SNI)而不是HTTP規(guī)則進(jìn)行路由。
- 為了利用所有路由功能,有必要在服務(wù)網(wǎng)格內(nèi)部使用未加密的HTTP。
- Istio的可選mTLS仍可確保對(duì)網(wǎng)格內(nèi)部流量進(jìn)行加密,而無(wú)需應(yīng)用程序級(jí)HTTPS / TLS。
- 默認(rèn)情況下,不允許外部流量向(外部)網(wǎng)格外的服務(wù)提供服務(wù)。 必須輸入服務(wù)。
- 入口或出口網(wǎng)關(guān)可以負(fù)責(zé)多個(gè)平臺(tái)(Kubernetes)服務(wù),但需要綁定到單個(gè)虛擬服務(wù)定義。
- 通過(guò)為外部主機(jī)名定義的虛擬服務(wù)或目標(biāo)規(guī)則,可以控制或“增強(qiáng)”出口流量。
- 服務(wù)條目中指定的主機(jī)流量可以重新路由到內(nèi)部服務(wù)。
- 只要外部服務(wù)條目未重定向到另一個(gè)內(nèi)部服務(wù),就將其作為單獨(dú)的服務(wù)進(jìn)行監(jiān)視。
- Istio不執(zhí)行DNS解析,但是,代理將根據(jù)主機(jī)名路由通信。
- Istio代理將主機(jī)名和SNI名稱都考慮在內(nèi),并且可以將流量重新路由到內(nèi)部或外部服務(wù)。
我希望這可以澄清Istio的網(wǎng)絡(luò)功能。 我們很高興收到您的反饋!
更多信息
- 交通管理(Istio文檔)
- API參考
- 引入Istio v1alpha3路由API(Istio博客文章)
- 咖啡示例項(xiàng)目
翻譯自: https://www.javacodegeeks.com/2018/08/istios-networking-api-explained.html
總結(jié)
以上是生活随笔為你收集整理的Istio的网络API解释了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 蓑笠的拼音 蓑笠的拼音怎么写
- 下一篇: 怎么验证微信好友是否把我删除