2022-10-04 分類: 網(wǎng)站建設
服務網(wǎng)格(Service Mesh)并不是新概念,但將其作為運行容器平臺在Kubernetes之上的微服務連接來實現(xiàn),則是服務網(wǎng)格變得更為流行的原因。如果沒有服務網(wǎng)格,則每個微服務都需要配置接受并發(fā)送與其通信的其他微服務的連接,而服務網(wǎng)格完全改變了這一點。
開發(fā)者現(xiàn)在可以創(chuàng)建一個網(wǎng)格,使微服務能夠以可靠,安全和可控的方式相互通信,而不必處理手動配置,并且不必花費大量時間和精力來維護微服務之間的連接。Kubernetes和服務網(wǎng)格相輔相成,因為使用服務網(wǎng)格可以實現(xiàn)更復雜的容器化架構(gòu),而不會增加額外的工作量。還有很多方法可以將服務網(wǎng)格建立為Kubernetes上的一層,來看看時下流行的服務網(wǎng)格工具。
AWS App Mesh
目前,許多Kubernetes支持的應用和微服務都在AWS的環(huán)境中運行,因此談到服務網(wǎng)格很難避開AWS App Mesh不談。AWS App Mesh是亞馬遜自己的服務網(wǎng)格,為AWS的服務創(chuàng)建服務網(wǎng)格層。
AWS App Mesh結(jié)合了Envoy的專有技術(shù)作為其服務代理,通過創(chuàng)建虛擬服務在相同名稱空間內(nèi)的連接服務。AWS環(huán)境中的每個微服務都可以找到該虛擬服務,并將其用于將通信引導至其他微服務。
AWS App Mesh與其他AWS服務,如EKS,F(xiàn)argate和EC2的無縫集成是其最強的優(yōu)勢之一,但是在使用AWS App Mesh方面存在一些限制,不能遷移到App Mesh外部或在多云設置中使用這項服務。
此外,App Mesh還借助CloudWatch和AWS X-Ray來管理服務網(wǎng)格,但這意味著你無需離開主儀表板就可完全控制服務網(wǎng)格層。盡管App Mesh不支持授權(quán)規(guī)則,但也支持如mTLS、高級負載均衡之類的安全功能。
Istio
Istio是Kubernetes最受歡迎的服務網(wǎng)格工具。最初是由為Lyft開發(fā),之后成為了Google和IBM聯(lián)合的開發(fā)項目。背靠這樣的巨頭,Istio在許多部署類型中得到廣泛使用就不足為奇了。
與App Mesh相似,Istio也使用Envoy作為其服務代理,但并不僅限于Envoy作為唯一的入口控制器。Istio的獨特之處在于它提供了巨大的靈活性,而沒有通常的復雜性。實際上可以將Istio用于其他容器化平臺,但是它與Kubernetes的無縫集成才是最為關鍵的
例如,Istio支持網(wǎng)格擴展和多集群網(wǎng)格,這兩個功能都是App Mesh和許多其他服務網(wǎng)格工具所沒有的。Istio也像執(zhí)行這些任務一樣處理流量訪問控制和負載均衡。它甚至支持故障注入和延遲注入。
而使用Istio的唯一不足就是可能會對它提供的功能感到不知如何下手。但如果有足夠的資源使用Istio處理服務網(wǎng)格層,則它可以利用其功能簡化最復雜的微服務體系架構(gòu)。
Linkerd
Linkerd也是非常流行的服務網(wǎng)格工具。Kubernetes社區(qū)已經(jīng)很好地接受了新的系列版本,到2020年4月中旬,其穩(wěn)定的2.7.1版本已經(jīng)發(fā)布。它完全是作為獨立的服務網(wǎng)格工具構(gòu)建的,因此它不依賴Envoy等第三方工具進行管理。它甚至包含linkerd-proxy作為服務代理。
最近的升級,還包括儀表板改進和金絲雀部署的流量拆分功能的可視化。這使其成為實時監(jiān)控和編排金絲雀和藍/綠部署的好工具。
Linkerd在保持獨立性的同時,還與入口控制器保持高度兼容性。實際上,Linkerd能夠與你使用的任何入口控制器一起使用,從而使其在這方面具有很好的靈活性。要使服務網(wǎng)格與應用程序集成在一起,只需要一個簡單的連接器注入命令即可。
Linkerd2也進行了高度優(yōu)化,安裝僅需60秒。如果你正在尋找一個可以使表格發(fā)揮好性能的服務網(wǎng)格工具,那么可以嘗試一下。Linkerd一旦部署,并不需要太多的優(yōu)化。開箱即用的配置能夠支持復雜的微服務陣列,并且能夠防止重大攻擊。Linkerd通過mTLS加密來增強應用程序安全性。
它也是專門為Kubernetes開發(fā)的工具,不支持多云和多集群網(wǎng)格創(chuàng)建,但是當用作Kubernetes實例的服務網(wǎng)格層時,它的功能也不會因此降低。此外,它還可以與OpenCensus配合使用,使跟蹤和管理變得非常容易。
Kuma
Kuma提供了Envoy作為服務代理和對任何入口控制器支持的獨特組合。它與Consul Connect非常相似,但有些新功能令人耳目一新,Kuma也是與其他工具相比,還很年輕。
Kuma不僅可以投入生產(chǎn),而且還具有功能強大的服務網(wǎng)格功能。它支持與OpenTracing兼容的所有后端,并在需要時允許使用外部CA證書。但它還存在許多功能的不足。
目前,在Kuma中無法進行基于路徑或基于標頭的流量拆分,還不支持流量訪問控制和指標等功能。這些功能可能會在以后的更新中引入,但是就目前而言,必須手動進行代理模板處理才能解決這些工具的不足。
盡管如此,Kuma看起來還不錯。它當前為0.4.0的版本,它的開發(fā)團隊正在不斷聽取社區(qū)用戶的意見,盡快追上與其他服務網(wǎng)格工具的差距。
Consul Connect
HashiCorp的Consul Connect,它可以與Envoy和其他各種服務代理替代產(chǎn)品一起使用。它還可以與任何入口控制器一起使用,使其成為最容易集成到現(xiàn)有Kubernetes集群中的一種工具。
Consul Connect可在任何Consul環(huán)境中無縫運行。該服務網(wǎng)格工具雖然提供了許多方便的功能,但只能滿足與其他HashiCorp產(chǎn)品一起使用。
它支持從TCP到gRPC的所有內(nèi)容,也可與Kubernetes,VM和Nomads一起使用。完全支持網(wǎng)格擴展,因此可以擁有跨多個云服務和集群的環(huán)境,并且具有支持微服務的功能強大的服務網(wǎng)格層。
Consul Connect需要改進的一方面是監(jiān)控。目前它可以集成其他監(jiān)控工具來訪問日志和按路由度量。如可以集成Prometheus和Grafana之類的工具來進行可視化數(shù)據(jù)監(jiān)控。只需要從服務代理中提取數(shù)據(jù)即可,而不是直接從Consul Connect中提取數(shù)據(jù)。
Envoy Proxy
以上服務網(wǎng)格工具主要設計為與Envoy一起用作服務代理。與其他邊緣代理工具相比,Envoy確實具有一些優(yōu)勢,高級負載均衡是所有這些工具中最突出的優(yōu)勢。
自動重試,區(qū)域本地負載均衡和請求屏蔽,使你可以配置流量負載均衡來實現(xiàn)好性能。另一方面,高可可視性使Envoy成為維護支持功能強大架構(gòu)的強大網(wǎng)絡的理想解決方案。
寫在最后,這些工具的主要目標是創(chuàng)建一種云架構(gòu),以滿足微服務以可靠,安全的方式相互通信。無論你使用以上哪種工具,都能夠?qū)崿F(xiàn)這個目標。
網(wǎng)頁題目:微服務利器,6個值得擁有的服務網(wǎng)格工具
文章轉(zhuǎn)載:http://www.rwnh.cn/news48/201648.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、Google、定制網(wǎng)站、企業(yè)網(wǎng)站制作、ChatGPT、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容