基于Kubernetes的服務(wù)網(wǎng)格該如何理解

本篇文章為大家展示了基于Kubernetes的服務(wù)網(wǎng)格該如何理解,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

為拜泉等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及拜泉網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、拜泉網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

在Kubernetes和微服務(wù)之間,服務(wù)網(wǎng)格提供了重要的一層。

Kubernetes已經(jīng)解決了容器編排的問題,對于云原生生態(tài)圈來說,剩下的問題是如何使微服務(wù)的交付更有效和更有彈性。這個問題可以通過服務(wù)網(wǎng)格技術(shù)來實現(xiàn)。

近年來,像Istio、Envoy和Linkerd這樣的開源服務(wù)網(wǎng)格項目越來越受歡迎。下面主要探討服務(wù)網(wǎng)格的基本原理,單個vanilla  Kubernetes(plain vanilla Kubernetes)面臨的挑戰(zhàn),并介紹了幾種Kubernetes服務(wù)網(wǎng)格產(chǎn)品。

什么是服務(wù)網(wǎng)格?

服務(wù)網(wǎng)格是一個網(wǎng)絡(luò)基礎(chǔ)設(shè)施層,應用程序不同部分之間的通訊通過它來控制和可視化?,F(xiàn)在的應用往往都是通過這種方式工作的。網(wǎng)絡(luò)被分成不同的部分,每個部分都是一個服務(wù),每個服務(wù)執(zhí)行特定的業(yè)務(wù)功能。

一個服務(wù)可能需要從其它服務(wù)請求數(shù)據(jù)才能執(zhí)行自身的功能。通常,有些服務(wù)會因為請求過量而超載,這就是服務(wù)網(wǎng)格有用的地方。服務(wù)網(wǎng)格通過把請求從一個服務(wù)路由到另外一個服務(wù),來優(yōu)化不同部分之間的通信。

服務(wù)網(wǎng)絡(luò)組件包括:

  • 控制平面:主要負責代理配置,策略管理和TLS證書權(quán)限??刂破矫嫠鸭械木W(wǎng)絡(luò)度量數(shù)據(jù),服務(wù)網(wǎng)格的一些實現(xiàn)也能夠跟蹤服務(wù)。

  • 數(shù)據(jù)平面:由輕量級代理組成。這些代理作為邊車形式分布。代理包括Envoy或者NGINX。您可以使用數(shù)據(jù)平面去創(chuàng)建自己的Kubernetes服務(wù)網(wǎng)格。

普通vanilla Kubernetes面臨的挑戰(zhàn)及服務(wù)網(wǎng)格對此發(fā)揮的作用

當您使用一個普通的vanilla Kubernetes集群而不是服務(wù)網(wǎng)格時,你將遇到以下的問題:

服務(wù)器之間的安全通訊

普通vanilla Kubernetes并不對集群節(jié)點間的流量進行加密,因此,服務(wù)之間的通信并不安全。  您可以使用TLS證書使得Kubernetes服務(wù)之間的通信變得安全。

使用TLS意味著DevOps團隊必須管理和更換證書。此外,您的開發(fā)團隊必須將TLS證書集成到每個服務(wù)中。

服務(wù)網(wǎng)格會加密所有的網(wǎng)絡(luò)流量,從而使你的團隊節(jié)省了時間。服務(wù)網(wǎng)格將TLS邊車插入到每個Kubernetes  Pod中,通過控制平面為你進行證書的更換。

服務(wù)延遲追蹤

單個vanilla  Kubernetes集群故障排除并不是每次都會給您提供造成問題的根源。例如,對于延遲問題,必須分析單個服務(wù)的數(shù)據(jù)。然而,這些數(shù)據(jù)可能與外部服務(wù)的通信無關(guān)。造成問題的原因,有可能與查詢或者前端應用有關(guān)。

要解決這個問題,必須監(jiān)控代碼的性能,分析錯誤并且跟蹤應用程序中的每個服務(wù)請求。像Istio這樣的服務(wù)網(wǎng)格平臺提供了內(nèi)置的分布式跟蹤,并且不需要對代碼進行檢測。

服務(wù)網(wǎng)格使用代理邊車通過出口和入口路由流量。然后邊車添加請求頭信息,方便請求跟蹤,因此,不需要分析代碼就能獲得所有請求的跟蹤信息。

有限負載均衡

當前端需要處理更多流量時,如何更快的精確定位流量瓶頸并擴大前端規(guī)模?單純的Kubernetes并不能提供解決方式。另一方面,服務(wù)網(wǎng)格提供了內(nèi)置的度量標準,你可以利用這些度量來實現(xiàn)更先進的負載平衡。

不同的Kubernetes服務(wù)網(wǎng)格實現(xiàn)

下面的列表回顧了三種目前存在的Kubernetes服務(wù)網(wǎng)格產(chǎn)品。列表明確指出了選擇不同服務(wù)網(wǎng)格產(chǎn)品時的重要差異。

Istio

Istio是一個開源的服務(wù)網(wǎng)格,主要用于管理多個服務(wù)代理。Istio由Google、IBM和Lyft聯(lián)合研發(fā)。最開始僅針對Kubernetes部署,后又重新設(shè)計以支持所有的微服務(wù)平臺。Istio默認與Envoy代理集成。Istio更關(guān)注可伸縮性、性能、可移植性和保持松散耦合組件的靈活性。

Istio的控制平面使用Go語言編寫。操作人員使用控制平面來組合不同的管理策略,每個控制平面組件都被設(shè)計用于不同的應用程序,因此Istio可以與不同的底層數(shù)據(jù)平面配對使用。

Istio的主要功能包括:

  • 安全特性,包括RBAC、身份和密鑰管理。

  • 高級限流、策略和配額

  • 支持HTTP/1.x、HTTP/2、GRPC、WebSockets和所有TCP流量

  • 故障注入

  • 多平臺、混合部署

Linkerd

Linkerd是2016年2月發(fā)布的開源服務(wù)網(wǎng)格項目,是服務(wù)網(wǎng)格家族的第一個產(chǎn)品。平臺的服務(wù)網(wǎng)格設(shè)計很強大且功能很豐富,可以運行在任何環(huán)境。Linkerd基于Finagle庫,用Scala語言編寫。它可以通過擴展,每秒管理數(shù)千個請求。

Linkerd的包由一個控制平面和一個代理數(shù)據(jù)平面組成。Linkerd還有一個由Buoyant支持的商業(yè)版。當前Linkerd版本包含服務(wù)網(wǎng)格接口(SMI)流量API,此API能夠幫忙您自動化Canary部署和其它的高級交付方法。

Linkerd的主要功能包括:

  • 支持不同的平臺,比如Kubernetes,Docker,Amazon ECS,DC/OS

  • 使用內(nèi)置的服務(wù)發(fā)現(xiàn)抽象統(tǒng)一多個系統(tǒng)

  • 支持HTTP/1.x、HTTP/2、GRPC、WebSockets和所有TCP流量

AWS應用程序網(wǎng)格

AWS應用程序網(wǎng)格是一種服務(wù)網(wǎng)格解決方案,它簡化了AWS中的微服務(wù)監(jiān)控和管理,使您能夠控制AWS服務(wù)(比如ECS、EKS、EC2)之間的通信和網(wǎng)絡(luò)流量。此外,應用程序網(wǎng)格使您能夠監(jiān)視、跟蹤和查看微服務(wù)日志記錄。

您可以在應用程序中部署應用程序網(wǎng)格的數(shù)據(jù)平面,但控制平面由Amazon管理,用戶無法訪問它。

上述內(nèi)容就是基于Kubernetes的服務(wù)網(wǎng)格該如何理解,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:基于Kubernetes的服務(wù)網(wǎng)格該如何理解
當前鏈接:http://bm7419.com/article0/ipdooo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、營銷型網(wǎng)站建設(shè)、建站公司、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)面包屑導航

廣告

聲明:本網(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)

商城網(wǎng)站建設(shè)