入門(mén)了解ServiceMesh+Istio?從本文開(kāi)始-創(chuàng)新互聯(lián)

下周六,深圳,闊別已久的線(xiàn)下技術(shù)沙龍要和你見(jiàn)面啦!
 
現(xiàn)場(chǎng)有Rancher Labs研發(fā)經(jīng)理demo剛剛發(fā)布的Rancher 2.3中的Istio、Windows容器、集群模板等功能及使用,還有k3s首次線(xiàn)下workshop,由Rancher Labs資深架構(gòu)師帶你一起玩轉(zhuǎn)k3s!還有長(zhǎng)城證券的運(yùn)維負(fù)責(zé)人分享數(shù)字化浪潮下傳統(tǒng)金融IT的轉(zhuǎn)型。
 
訪(fǎng)問(wèn)鏈接即可了解詳情及報(bào)名啦!

專(zhuān)業(yè)從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),高端網(wǎng)站制作設(shè)計(jì),微信小程序開(kāi)發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用H5高端網(wǎng)站建設(shè)+CSS3前端渲染技術(shù),成都響應(yīng)式網(wǎng)站建設(shè),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專(zhuān)項(xiàng)小組,與您實(shí)時(shí)在線(xiàn)互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。

 
入門(mén)了解Service Mesh + Istio?從本文開(kāi)始
 
諸如容器、Kubernetes等云原生架構(gòu)和技術(shù)的成熟推動(dòng)了服務(wù)網(wǎng)格架構(gòu)的極速增長(zhǎng)以及廣泛采用。盡管云原生環(huán)境可以為企業(yè)帶來(lái)一系列好處,但是其復(fù)雜性也對(duì)負(fù)責(zé)開(kāi)發(fā)維護(hù)這類(lèi)系統(tǒng)的人員,如軟件開(kāi)發(fā)人員、網(wǎng)絡(luò)運(yùn)維人員、基礎(chǔ)架構(gòu)工程師以及CIO、CTO等帶來(lái)了重大挑戰(zhàn)。

服務(wù)網(wǎng)格框架能夠?yàn)榭绮煌圃h(huán)境的應(yīng)用程序整合一致的服務(wù)和網(wǎng)絡(luò)管理能力,它還極大地加快了DevOps實(shí)踐的進(jìn)程,正緣于此,服務(wù)網(wǎng)格近年來(lái)可謂是發(fā)展迅猛。云原生普及的加快,要求擁有云原生應(yīng)用程序的工程團(tuán)隊(duì)必須熟悉服務(wù)網(wǎng)格功能,以判斷該技術(shù)將來(lái)是否能為企業(yè)提供價(jià)值。

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

服務(wù)網(wǎng)格可以連接、保護(hù)、控制以及監(jiān)控在編排平臺(tái)上的服務(wù)?!胺?wù)網(wǎng)格”這一術(shù)語(yǔ)本身用于分布式應(yīng)用程序中服務(wù)之間的一組搭接網(wǎng)絡(luò)連接,也適用于管理該組連接服務(wù)的一系列工具。如果你有兩個(gè)通過(guò)網(wǎng)絡(luò)連接進(jìn)行交互的微服務(wù),那就意味著你有了一個(gè)服務(wù)網(wǎng)格。下圖是一個(gè)十分簡(jiǎn)單的示例,一個(gè)網(wǎng)格和兩個(gè)服務(wù):
 
入門(mén)了解Service Mesh + Istio?從本文開(kāi)始
 
更有可能的是,由于在環(huán)境中微服務(wù)的數(shù)量會(huì)繼續(xù)增長(zhǎng),你的服務(wù)網(wǎng)格會(huì)如下圖所示:
 
入門(mén)了解Service Mesh + Istio?從本文開(kāi)始
 
隨著云環(huán)境擴(kuò)展到混合云和多云部署,開(kāi)發(fā)人員將會(huì)使用微服務(wù)來(lái)加速開(kāi)發(fā)并且確保在多個(gè)容器和分布式云資源中的的可移植性。隨著微服務(wù)生態(tài)系統(tǒng)的復(fù)雜性增長(zhǎng),我們需要高效且智能地管理它,并且深入了解微服務(wù)如何交互以及保護(hù)微服務(wù)之間的通信。

什么是Istio?

 
如果你已經(jīng)聽(tīng)說(shuō)了服務(wù)網(wǎng)格,那么你一定順帶聽(tīng)說(shuō)了Istio。Istio是一個(gè)開(kāi)源的服務(wù)網(wǎng)格,它可以部署在已有的云原生應(yīng)用程序上。它還具有類(lèi)似于平臺(tái)的功能——可以將集成到日志平臺(tái)、遙測(cè)或策略系統(tǒng)中。策略集成使得Istio在創(chuàng)建一個(gè)統(tǒng)一的方法來(lái)保護(hù)、連接以及監(jiān)控既定環(huán)境中的微服務(wù)中扮演一個(gè)安全工具的角色。當(dāng)泛指“Istio服務(wù)網(wǎng)格”時(shí),通常是指Istio中的一系列工具,而特指“某個(gè)Istio 服務(wù)網(wǎng)格”時(shí)則表明由Istio安裝管理的指定應(yīng)用程序集群。Istio的許多CRD允許對(duì)應(yīng)用程序網(wǎng)絡(luò)層的行為進(jìn)行編程配置(通過(guò)使用Kubernetes API),其中應(yīng)用程序是相互依賴(lài)的微服務(wù)集。Istio在某種程度上可以稱(chēng)為當(dāng)今云原生堆棧中服務(wù)網(wǎng)格的同義詞,因?yàn)樗墓δ茏钬S富、最標(biāo)準(zhǔn)化。

我是否需要一個(gè)服務(wù)網(wǎng)格?

盡管服務(wù)網(wǎng)格的采用率可能會(huì)持續(xù)快速增長(zhǎng),特別是當(dāng)功能設(shè)置和類(lèi)似Istio的管理工具進(jìn)一步完善之后,但并不是每個(gè)云原生環(huán)境都需要服務(wù)網(wǎng)格。所以你如何知道一個(gè)服務(wù)是否適合你的企業(yè)或者環(huán)境呢?如果你需要解決下面所描述的一個(gè)或多個(gè)需求或問(wèn)題的方案,那么你應(yīng)該考慮部署一個(gè)服務(wù)網(wǎng)格:

  • 你在基于分布式微服務(wù)的應(yīng)用程序中遇到性能問(wèn)題

  • 你需要為所有微服務(wù)收集并交付一致的請(qǐng)求和連接指標(biāo)

  • 你想直接默認(rèn)在線(xiàn)加密設(shè)置,而無(wú)需直接管理TLS證書(shū)

  • 你需要比Kubernetes網(wǎng)絡(luò)策略提供的更細(xì)粒度的解決方案進(jìn)行服務(wù)到服務(wù)的控制

  • 你想使用金絲雀發(fā)布和應(yīng)用程序API多版本支持進(jìn)行自動(dòng)release

  • 你想無(wú)需修改應(yīng)用程序就可以添加用戶(hù)的身份驗(yàn)證和授權(quán)認(rèn)證信息

另一方面,如果在你的堆棧中不需要服務(wù)網(wǎng)格,那么你需要做一些權(quán)衡。考慮到這些環(huán)境的復(fù)雜性,部署一個(gè)服務(wù)網(wǎng)格(包括Istio)需要大量的遷移工作和運(yùn)維成本。如果你的微服務(wù)部署數(shù)量不會(huì)增長(zhǎng),或者如果有其他解決方案可以滿(mǎn)足你內(nèi)部的HTTP請(qǐng)求路由的需求,或者如果你已經(jīng)有了一個(gè)可管理且高效的解決方案可以解決上述的關(guān)鍵需求,那么此刻服務(wù)網(wǎng)格對(duì)你來(lái)說(shuō)真的不是一個(gè)最佳選擇。

 
但是如果服務(wù)網(wǎng)格繼續(xù)極速被廣泛采用,為支持它而開(kāi)發(fā)的功能生態(tài)系統(tǒng)將會(huì)繼續(xù)擴(kuò)展。這種增長(zhǎng)將提升可管理性和功能性,以便將來(lái)DevOps團(tuán)隊(duì)可以更加輕松地訪(fǎng)問(wèn)更強(qiáng)大的服務(wù)網(wǎng)格工具,而不必?fù)?dān)心將新的基礎(chǔ)架構(gòu)層部署到云原生堆棧中而出現(xiàn)棘手的問(wèn)題或花費(fèi)很高的成本。

Istio工作原理

Istio組件被分為兩部分——控制平面和數(shù)據(jù)平面。控制平面是指管理配置和監(jiān)控?cái)?shù)據(jù)平面的服務(wù)。數(shù)據(jù)平面由作為sidecar由在應(yīng)用程序pod中的智能代理(proxy)組成,這是Kubernetes對(duì)象模型中最小的可部署對(duì)象。這些Istio proxy有助于控制和監(jiān)控微服務(wù)間的網(wǎng)絡(luò)連接。從控制平面接收路由和策略規(guī)則,然后數(shù)據(jù)平面報(bào)告回連接處理遙測(cè)。
 
入門(mén)了解Service Mesh + Istio?從本文開(kāi)始
 
通過(guò)創(chuàng)建Kubernetes資源來(lái)配置Istio服務(wù)網(wǎng)格。此外,有許多Kubernetes CRD可以映射到Istio各種功能上。接下來(lái),我們會(huì)討論更多關(guān)于控制和數(shù)據(jù)平面的作用,但在此之前我們先了解關(guān)于Istio的潛在能力,以及它的不足。

潛力與不足

Istio通過(guò)其可動(dòng)態(tài)配置代理的網(wǎng)格提供了一系列用于處理和控制網(wǎng)絡(luò)連接的特性。但這些功能配置繁重并且擁有陡峭的學(xué)習(xí)曲線(xiàn)。并且有時(shí)把已有的應(yīng)用程序遷移到Istio架構(gòu)時(shí)依舊會(huì)出現(xiàn)一些常見(jiàn)的問(wèn)題,盡管這些架構(gòu)已經(jīng)是Kubernetes原生的微服務(wù)。

此外,Istio缺乏對(duì)如何將用戶(hù)提供的配置轉(zhuǎn)換為Envoy路由的了解。Envoy是作為服務(wù)網(wǎng)格中服務(wù)的入站和出站流量的中介開(kāi)發(fā)的一種高性能的代理,是由來(lái)自共享出行服務(wù)公司Lyft的開(kāi)發(fā)人員創(chuàng)建的,可以用于從單體架構(gòu)轉(zhuǎn)變?yōu)榉?wù)網(wǎng)格架構(gòu)。其他在使用中的問(wèn)題還包括部署和服務(wù)資源配置要求所需的學(xué)習(xí)曲線(xiàn)、在打開(kāi)mTLS時(shí)中斷Kubernetes readiness和liveness探針以及使用沒(méi)有ClusterIP的Kubernetes服務(wù)或繞開(kāi)Kubernetes服務(wù)發(fā)現(xiàn)流程的服務(wù)。

Istio的優(yōu)勢(shì)在于可以讓你在不修改微服務(wù)源代碼的情況之下,很輕松地給微服務(wù)加上諸如負(fù)載均衡、身份驗(yàn)證、監(jiān)控等等的功能。而且目前它正在快速發(fā)展迭代,頻繁發(fā)布新版本,并且積極征求用戶(hù)反饋。盡管目前Envoy還有很多局限,但是隨著Istio持續(xù)發(fā)展,它也會(huì)積極開(kāi)發(fā)和完善自己的功能。

配置控制平面

在Kubernetes集群中,一個(gè)典型的Istio部署應(yīng)該包含以下服務(wù):

  • Pilot,在Istio網(wǎng)絡(luò)自定義資源中集合流量管理規(guī)范配置,并將該配置交付到istio-proxy sidecar。
  • Mixer,用于處理由proxy sidecar生成的請(qǐng)求指標(biāo)的遙測(cè),并將其發(fā)送到已配置完成的后端,并執(zhí)行授權(quán)策略。如果開(kāi)啟了策略檢查(Istio 1.1中默認(rèn)關(guān)閉),proxy sidecar將會(huì)連接到Mixer以確認(rèn)連接是被允許的。但是,這個(gè)方法會(huì)稍微增加網(wǎng)絡(luò)延遲。
  • Citadel,這個(gè)是Istio的公鑰基礎(chǔ)設(shè)施(PKI)服務(wù),它可以生成、輪換和吊銷(xiāo)用于身份驗(yàn)證的客戶(hù)端TLS證書(shū)。
  • Galley,它是大多數(shù)Istio CRD的Kubernetes controller,使用戶(hù)可以更改自定義資源并將內(nèi)容分配到其他Istio服務(wù)中。
     

    數(shù)據(jù)平面

 
數(shù)據(jù)平面由Envoy服務(wù)代理提供支持,該代理使用Istio擴(kuò)展構(gòu)建。Proxy會(huì)攔截到pod服務(wù)端口的傳入流量,并默認(rèn)攔截來(lái)自pod其他容器的所有創(chuàng)出TCP流量。在大部分情況下,無(wú)需更改應(yīng)用程序代碼,僅對(duì)應(yīng)用程序的Kubernetes部署和服務(wù)資源規(guī)范進(jìn)行較小的更改,proxy sidecar 就可以在pod中運(yùn)行。Proxy sidecar的配置由在Istio 控制面板中的服務(wù)進(jìn)行動(dòng)態(tài)管理。

最終,也許會(huì)在某個(gè)時(shí)間點(diǎn)你需要部署服務(wù)網(wǎng)格以確保你的云原生環(huán)境完全正常運(yùn)行并得到充分保護(hù)。因此,熟悉有關(guān)服務(wù)網(wǎng)格的基礎(chǔ)只是將可以幫助你做出準(zhǔn)確的判斷——什么時(shí)候應(yīng)該部署服務(wù)網(wǎng)格以及應(yīng)該如何部署。如果你正在計(jì)劃在Kubernetes和其他容器平臺(tái)上進(jìn)行擴(kuò)展計(jì)劃,那么你通過(guò)了解Istio的設(shè)計(jì)和功能以及它如何降低容器化微服務(wù)和云原生環(huán)境的固有復(fù)雜性,你可以知道Istio是一個(gè)功能強(qiáng)大且快速改進(jìn)的解決方案并且正在積極增強(qiáng)彈性伸縮能力、安全性以及管理的簡(jiǎn)易性。

如果企業(yè)繼續(xù)采用云原生和分布式架構(gòu),那么Istio的服務(wù)網(wǎng)格功能以及底層基礎(chǔ)架構(gòu)的網(wǎng)絡(luò)控制和Kubernetes的安全實(shí)踐將會(huì)極大程度解放DevOps團(tuán)隊(duì)在彈性伸縮和管理應(yīng)用程序基礎(chǔ)架構(gòu)上的壓力。

在10月9日GA的Rancher 2.3版本中,正式集成了Istio,極大簡(jiǎn)化了Istio的安裝和配置。你只需要在UI中使用工具菜單,即可啟動(dòng)Istio。Rancher中現(xiàn)已內(nèi)置支持:

  • 用于流量和遙測(cè)可視化的Kiali儀表板

  • 用于追蹤的Jaeger

  • 用于監(jiān)控和可觀察性的Prometheus和Grafana

 
如果你還想了解更多關(guān)于Rancher 2.3的新功能,歡迎參加我們?cè)谙轮芰?0月26日)舉辦的技術(shù)沙龍,坐標(biāo)深圳。屆時(shí)將有Rancher Labs大中華區(qū)的研發(fā)經(jīng)理現(xiàn)場(chǎng)介紹并demo Rancher 2.3的新功能,點(diǎn)擊此處,趕緊報(bào)名啦!

歡迎添加小助手(×××:×××),進(jìn)官方技術(shù)群,了解更多Kubernetes使用攻略

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱(chēng):入門(mén)了解ServiceMesh+Istio?從本文開(kāi)始-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article34/djjise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站ChatGPT、服務(wù)器托管網(wǎng)站維護(hù)、App設(shè)計(jì)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)