溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

istio各組件概念是什么

發(fā)布時(shí)間:2021-10-12 10:29:54 來(lái)源:億速云 閱讀:154 作者:柒染 欄目:云計(jì)算

istio各組件概念是什么,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

本文檔介紹了Istio:一個(gè)連接,管理和保護(hù)微服務(wù)的開(kāi)放平臺(tái)。Istio提供了一種通過(guò)負(fù)載平衡,服務(wù)到服務(wù)身份驗(yàn)證,監(jiān)控等創(chuàng)建已部署服務(wù)網(wǎng)絡(luò)的簡(jiǎn)便方法,無(wú)需更改服務(wù)代碼。您可以通過(guò)在整個(gè)環(huán)境中部署特殊的邊車(chē)代理來(lái)添加對(duì)服務(wù)的Istio支持,該代理攔截微服務(wù)之間的所有網(wǎng)絡(luò)通信,使用Istio的控制平面功能進(jìn)行配置和管理。

Istio目前支持Kubernetes上的服務(wù)部署,以及在Consul或Eureka注冊(cè)的服務(wù)以及在各個(gè)VM上運(yùn)行的服務(wù)。

有關(guān)Istio組件的詳細(xì)概念信息,請(qǐng)參閱我們的其他概念指南。

為什么要使用Istio?

隨著單片應(yīng)用程序向分布式微服務(wù)架構(gòu)過(guò)渡,Istio解決了開(kāi)發(fā)人員和運(yùn)營(yíng)商面臨的許多挑戰(zhàn)。術(shù)語(yǔ)服務(wù)網(wǎng)格通常用于描述構(gòu)成此類(lèi)應(yīng)用程序的微服務(wù)網(wǎng)絡(luò)以及它們之間的交互。隨著服務(wù)網(wǎng)格的大小和復(fù)雜性的增加,理解和管理變得更加困難。其要求可包括發(fā)現(xiàn),負(fù)載平衡,故障恢復(fù),指標(biāo)和監(jiān)控,以及通常更復(fù)雜的操作要求,如A / B測(cè)試,金絲片發(fā)布,速率限制,訪問(wèn)控制和端到端身份驗(yàn)證。

Istio通過(guò)提供整體服務(wù)網(wǎng)格的行為洞察和操作控制,提供完整的解決方案,以滿足微服務(wù)應(yīng)用的各種需求。它在服務(wù)網(wǎng)絡(luò)中統(tǒng)一提供了許多關(guān)鍵功能:

  • 交通管理??刂品?wù)之間的流量和API調(diào)用流,使呼叫更可靠,并在面對(duì)不利條件時(shí)使網(wǎng)絡(luò)更加健壯。

  • 服務(wù)身份和安全。在網(wǎng)格中提供具有可驗(yàn)證身份的服務(wù),并提供在流經(jīng)不同可信度的網(wǎng)絡(luò)時(shí)保護(hù)服務(wù)流量的能力。

  • 政策執(zhí)行。將組織策略應(yīng)用于服務(wù)之間的交互,確保實(shí)施訪問(wèn)策略,并在消費(fèi)者之間公平地分配資源。通過(guò)配置網(wǎng)格而不是通過(guò)更改應(yīng)用程序代碼來(lái)進(jìn)行策略更改。

  • 遙測(cè)。了解服務(wù)之間的依賴(lài)關(guān)系以及它們之間的流量的性質(zhì)和流量,提供快速識(shí)別問(wèn)題的能力。

除了這些行為,Istio還可以擴(kuò)展以滿足不同的部署需求:

  • 平臺(tái)支持。Istio旨在運(yùn)行在各種環(huán)境中,包括云,內(nèi)部部署,Kubernetes,Mesos等。我們最初專(zhuān)注于Kubernetes,但很快就會(huì)努力支持其他環(huán)境。

  • 集成和定制。策略實(shí)施組件可以擴(kuò)展和定制,以與現(xiàn)有的ACL,日志記錄,監(jiān)控,配額,審計(jì)等解決方案集成。

這些功能極大地減少了應(yīng)用程序代碼,底層平臺(tái)和策略之間的耦合。這種減少的耦合不僅使服務(wù)更容易實(shí)現(xiàn),而且使操作員更容易在環(huán)境之間移動(dòng)應(yīng)用程序部署或新的策略方案。因此,應(yīng)用程序本身更具可移植性。

建筑

Istio服務(wù)網(wǎng)格在邏輯上被分成數(shù)據(jù)平面控制平面。

  • 數(shù)據(jù)平面是由一組的部署為介導(dǎo)和控制微服務(wù)之間的所有網(wǎng)絡(luò)通信,與通用的策略和遙測(cè)轂(混頻器)沿著側(cè)柜智能代理(特使)的。

  • 控制平面是負(fù)責(zé)管理和配置代理服務(wù)器的路由流量,并配置攪拌機(jī),在執(zhí)行政策和收集遙測(cè)。

下圖顯示了構(gòu)成每個(gè)平面的不同組件:

Istio建筑

使者

Istio使用Envoy代理的擴(kuò)展版本,這是一種用C ++開(kāi)發(fā)的高性能代理,用于調(diào)解服務(wù)網(wǎng)格中所有服務(wù)的所有入站和出站流量。Istio利用Envoy的許多內(nèi)置功能,例如動(dòng)態(tài)服務(wù)發(fā)現(xiàn),負(fù)載平衡,TLS終止,HTTP / 2和gRPC代理,斷路器,運(yùn)行狀況檢查,基于%的流量分配的分階段部署,故障注入和豐富的指標(biāo)。

特使在相同的Kubernetes吊艙中作為相關(guān)服務(wù)的邊車(chē)部署。這允許Istio將關(guān)于流量行為的大量信號(hào)作為屬性提取,這反過(guò)來(lái)它可以在Mixer中用于執(zhí)行策略決策,并被發(fā)送到監(jiān)控系統(tǒng)以提供有關(guān)整個(gè)網(wǎng)格行為的信息。sidecar代理模型還允許您將Istio功能添加到現(xiàn)有部署,而無(wú)需重新架構(gòu)或重寫(xiě)代碼。您可以在我們的設(shè)計(jì)目標(biāo)中詳細(xì)了解我們選擇此方法的原因。

混合器

Mixer是一個(gè)獨(dú)立于平臺(tái)的組件,負(fù)責(zé)跨服務(wù)網(wǎng)格實(shí)施訪問(wèn)控制和使用策略,并從Envoy代理和其他服務(wù)收集遙測(cè)數(shù)據(jù)。代理提取請(qǐng)求級(jí)別屬性,將其發(fā)送到Mixer進(jìn)行評(píng)估。有關(guān)此屬性提取和策略評(píng)估的更多信息,請(qǐng)參閱混音器配置。Mixer包含一個(gè)靈活的插件模型,使其能夠與各種主機(jī)環(huán)境和基礎(chǔ)架構(gòu)后端進(jìn)行交互,從這些細(xì)節(jié)中抽象出Envoy代理和Istio管理的服務(wù)。

飛行員

Pilot為Envoy邊車(chē)提供服務(wù)發(fā)現(xiàn),為智能路由(例如,A / B測(cè)試,金絲雀部署等)提供流量管理功能,以及彈性(超時(shí),重試,斷路器等)。它將控制流量行為的高級(jí)路由規(guī)則轉(zhuǎn)換為特定于Envoy的配置,并在運(yùn)行時(shí)將它們傳播到sidecars。Pilot將特定于平臺(tái)的服務(wù)發(fā)現(xiàn)機(jī)制抽象化,并將其合成為符合Envoy數(shù)據(jù)平面API的任何邊車(chē)所消耗的標(biāo)準(zhǔn)格式。這種松散耦合允許Istio在多個(gè)環(huán)境(例如,Kubernetes,Consul / Nomad)上運(yùn)行,同時(shí)為流量管理保持相同的操作員界面。

堡壘

Citadel提供強(qiáng)大的服務(wù)到服務(wù)和最終用戶(hù)身份驗(yàn)證,內(nèi)置身份和憑證管理。它可用于升級(jí)服務(wù)網(wǎng)格中的未加密流量,并使運(yùn)營(yíng)商能夠基于服務(wù)標(biāo)識(shí)而非網(wǎng)絡(luò)控制來(lái)實(shí)施策略。從版本0.5開(kāi)始,Istio支持基于角色的訪問(wèn)控制,以控制誰(shuí)可以訪問(wèn)您的服務(wù)。

官網(wǎng)地址:https://istio.io/docs/concepts/what-is-istio/overview/

根據(jù)官網(wǎng)文檔的個(gè)人理解:

Envoy:(可以理解為pod網(wǎng)關(guān))

每個(gè)pod中有一個(gè)envoy代理(相當(dāng)于是pod的一個(gè)動(dòng)態(tài)網(wǎng)關(guān))。攔截pod中所有服務(wù)的所有入站和出站流量。Envoy的許多內(nèi)置功能,例如動(dòng)態(tài)服務(wù)發(fā)現(xiàn),負(fù)載平衡,TLS終止,HTTP / 2和gRPC代理,斷路器,運(yùn)行狀況檢查,指標(biāo)上報(bào)。

Mixer :(可以理解為指標(biāo)收集器,收集各項(xiàng)指標(biāo)。對(duì)接外部組件做指標(biāo)存儲(chǔ),展示。如:Prometheus,F(xiàn)luentd,Jaeger)

從Envoy代理和其他服務(wù)收集遙測(cè)數(shù)據(jù)。代理提取請(qǐng)求級(jí)別屬性,將其發(fā)送到Mixer進(jìn)行評(píng)估。

演示如何從網(wǎng)格中收集遙測(cè)信息。

  • 分布式跟蹤。如何配置代理以向Zipkin或Jaeger發(fā)送跟蹤請(qǐng)求

  • 收集度量標(biāo)準(zhǔn)和日志。此任務(wù)說(shuō)明如何配置Istio以收集度量標(biāo)準(zhǔn)和日志。

  • 收集TCP服務(wù)的度量標(biāo)準(zhǔn)。此任務(wù)說(shuō)明如何配置Istio以收集TCP服務(wù)的度量標(biāo)準(zhǔn)。

  • 查詢(xún)普羅米修斯的指標(biāo)。此任務(wù)說(shuō)明如何使用Prometheus查詢(xún)Istio指標(biāo)。

  • 使用Grafana可視化度量標(biāo)準(zhǔn)。此任務(wù)說(shuō)明如何設(shè)置和使用Istio儀表板來(lái)監(jiān)視網(wǎng)格流量。

  • 生成服務(wù)圖。此任務(wù)說(shuō)明如何在Istio網(wǎng)格中生成服務(wù)圖。

  • 使用流利的日志記錄。此任務(wù)說(shuō)明如何配置Istio以記錄到Fluentd守護(hù)程序

Pilot :

功能:

注冊(cè)中心(zk,ectd)從k8s api獲取相關(guān)服務(wù)信息

配置中心 (spring cloud config,Apollo)。通過(guò)配置api,動(dòng)態(tài)轉(zhuǎn)換為envoy的配置

Citadel:

安全中心

簡(jiǎn)而言之:

Envoy:動(dòng)態(tài)服務(wù)獲取,負(fù)載平衡,路由,斷路器,超時(shí),指標(biāo)上報(bào)。

Mixer:指標(biāo)收集,對(duì)接外部組件(Prometheus,F(xiàn)luentd,Jaeger)

Pilot:注冊(cè)中心,配置中心

Citadel:安全中心

關(guān)于istio各組件概念是什么問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI