Istio 是什么?
使用云平臺(tái)可以為組織提供豐富的好處。然而,不可否認(rèn)的是,采用云可能會(huì)給 DevOps 團(tuán)隊(duì)帶來(lái)壓力。開(kāi)發(fā)人員必須使用微服務(wù)已滿足應(yīng)用的可移植性,同時(shí)運(yùn)營(yíng)商管理了極其龐大的混合和多云部署。Istio 允許您連接、保護(hù)、控制和觀測(cè)服務(wù)。
在較高的層次上,Istio 有助于降低這些部署的復(fù)雜性,并減輕開(kāi)發(fā)團(tuán)隊(duì)的壓力。它是一個(gè)完全開(kāi)源的服務(wù)網(wǎng)格,可以透明地分層到現(xiàn)有的分布式應(yīng)用程序上。它也是一個(gè)平臺(tái),包括允許它集成到任何日志記錄平臺(tái)、遙測(cè)或策略系統(tǒng)的 API。Istio 的多樣化功能集使您能夠成功高效地運(yùn)行分布式微服務(wù)架構(gòu),并提供保護(hù)、連接和監(jiān)控微服務(wù)的統(tǒng)一方法。
什么是服務(wù)網(wǎng)格?
在從單體應(yīng)用程序向分布式微服務(wù)架構(gòu)的轉(zhuǎn)型過(guò)程中,開(kāi)發(fā)人員和運(yùn)維人員面臨諸多挑戰(zhàn),使用 Istio 可以解決這些問(wèn)題。
服務(wù)網(wǎng)格(Service Mesh)這個(gè)術(shù)語(yǔ)通常用于描述構(gòu)成這些應(yīng)用程序的微服務(wù)網(wǎng)絡(luò)以及應(yīng)用之間的交互。隨著規(guī)模和復(fù)雜性的增長(zhǎng),服務(wù)網(wǎng)格越來(lái)越難以理解和管理。它的需求包括服務(wù)發(fā)現(xiàn)、負(fù)載均衡、故障恢復(fù)、指標(biāo)收集和監(jiān)控以及通常更加復(fù)雜的運(yùn)維需求,例如 A/B 測(cè)試、金絲雀發(fā)布、限流、訪問(wèn)控制和端到端認(rèn)證等。
Istio 提供了一個(gè)完整的解決方案,通過(guò)為整個(gè)服務(wù)網(wǎng)格提供行為洞察和操作控制來(lái)滿足微服務(wù)應(yīng)用程序的多樣化需求。
為什么要使用 Istio?
Istio 提供一種簡(jiǎn)單的方式來(lái)為已部署的服務(wù)建立網(wǎng)絡(luò),該網(wǎng)絡(luò)具有負(fù)載均衡、服務(wù)間認(rèn)證、監(jiān)控等功能,而不需要對(duì)服務(wù)的代碼做任何改動(dòng)。想要讓服務(wù)支持 Istio,只需要在您的環(huán)境中部署一個(gè)特殊的 sidecar 代理,使用 Istio 控制平面功能配置和管理代理,攔截微服務(wù)之間的所有網(wǎng)絡(luò)通信:
核心功能
Istio 在服務(wù)網(wǎng)絡(luò)中統(tǒng)一提供了許多關(guān)鍵功能:
流量管理
通過(guò)簡(jiǎn)單的規(guī)則配置和流量路由,您可以控制服務(wù)之間的流量和 API 調(diào)用。Istio 簡(jiǎn)化了斷路器、超時(shí)和重試等服務(wù)級(jí)別屬性的配置,并且可以輕松設(shè)置 A/B測(cè)試、金絲雀部署和基于百分比的流量分割的分階段部署等重要任務(wù)。
通過(guò)更好地了解您的流量和開(kāi)箱即用的故障恢復(fù)功能,您可以在問(wèn)題出現(xiàn)之前先發(fā)現(xiàn)問(wèn)題,使調(diào)用更可靠,并且使您的網(wǎng)絡(luò)更加強(qiáng)大——無(wú)論您面臨什么條件。
安全
Istio 的安全功能使開(kāi)發(fā)人員可以專注于應(yīng)用程序級(jí)別的安全性。Istio 提供底層安全通信信道,并大規(guī)模管理服務(wù)通信的認(rèn)證、授權(quán)和加密。使用Istio,服務(wù)通信在默認(rèn)情況下是安全的,它允許您跨多種協(xié)議和運(yùn)行時(shí)一致地實(shí)施策略——所有這些都很少或根本不需要應(yīng)用程序更改。
雖然 Istio 與平臺(tái)無(wú)關(guān),但將其與 Kubernetes(或基礎(chǔ)架構(gòu))網(wǎng)絡(luò)策略結(jié)合使用,其優(yōu)勢(shì)會(huì)更大,包括在網(wǎng)絡(luò)和應(yīng)用層保護(hù) pod 間或服務(wù)間通信的能力。
可觀察性
Istio 強(qiáng)大的跟蹤、監(jiān)控和日志記錄可讓您深入了解服務(wù)網(wǎng)格部署。通過(guò) Istio 的監(jiān)控功能,可以真正了解服務(wù)性能如何影響上游和下游的功能,而其自定義儀表板可以提供對(duì)所有服務(wù)性能的可視性,并讓您了解該性能如何影響您的其他進(jìn)程。
Istio 的 Mixer 組件負(fù)責(zé)策略控制和遙測(cè)收集。它提供后端抽象和中介,將 Istio 的其余部分與各個(gè)基礎(chǔ)架構(gòu)后端的實(shí)現(xiàn)細(xì)節(jié)隔離開(kāi)來(lái),并為運(yùn)維提供對(duì)網(wǎng)格和基礎(chǔ)架構(gòu)后端之間所有交互的細(xì)粒度控制。
所有這些功能可以讓您可以更有效地設(shè)置、監(jiān)控和實(shí)施服務(wù)上的 SLO。當(dāng)然,最重要的是,您可以快速有效地檢測(cè)和修復(fù)問(wèn)題。
平臺(tái)支持
Istio 是獨(dú)立于平臺(tái)的,旨在運(yùn)行在各種環(huán)境中,包括跨云、內(nèi)部部署、Kubernetes、Mesos 等。您可以在 Kubernetes 上部署 Istio 或具有 Consul 的 Nomad 上部署。Istio 目前支持:
在 Kubernetes 上部署的服務(wù)
使用 Consul 注冊(cè)的服務(wù)
在虛擬機(jī)上部署的服務(wù)
集成和定制
策略執(zhí)行組件可以擴(kuò)展和定制,以便與現(xiàn)有的 ACL、日志、監(jiān)控、配額、審計(jì)等方案集成。
架構(gòu)
Istio 服務(wù)網(wǎng)格邏輯上分為數(shù)據(jù)平面和控制平面。
數(shù)據(jù)平面由一組以 sidecar 方式部署的智能代理(Envoy)組成。這些代理可以調(diào)節(jié)和控制微服務(wù)及 Mixer 之間所有的網(wǎng)絡(luò)通信。
控制平面負(fù)責(zé)管理和配置代理來(lái)路由流量。此外控制平面配置 Mixer 以實(shí)施策略和收集遙測(cè)數(shù)據(jù)。
下圖顯示了構(gòu)成每個(gè)面板的不同組件:
Istio 架構(gòu)
Envoy
Istio 使用 Envoy代理的擴(kuò)展版本,Envoy 是以 C++ 開(kāi)發(fā)的高性能代理,用于調(diào)解服務(wù)網(wǎng)格中所有服務(wù)的所有入站和出站流量。Envoy 的許多內(nèi)置功能被 istio 發(fā)揚(yáng)光大,例如:
Envoy 被部署為 sidecar,和對(duì)應(yīng)服務(wù)在同一個(gè) Kubernetes pod 中。這允許 Istio 將大量關(guān)于流量行為的信號(hào)作為屬性提取出來(lái),而這些屬性又可以在 Mixer 中用于執(zhí)行策略決策,并發(fā)送給監(jiān)控系統(tǒng),以提供整個(gè)網(wǎng)格行為的信息。
Sidecar 代理模型還可以將 Istio 的功能添加到現(xiàn)有部署中,而無(wú)需重新構(gòu)建或重寫(xiě)代碼。可以閱讀更多來(lái)了解為什么我們?cè)谠O(shè)計(jì)目標(biāo)中選擇這種方式。
Mixer
Mixer 是一個(gè)獨(dú)立于平臺(tái)的組件,負(fù)責(zé)在服務(wù)網(wǎng)格上執(zhí)行訪問(wèn)控制和使用策略,并從 Envoy 代理和其他服務(wù)收集遙測(cè)數(shù)據(jù)。代理提取請(qǐng)求級(jí)屬性,發(fā)送到 Mixer 進(jìn)行評(píng)估。
Mixer 中包括一個(gè)靈活的插件模型,使其能夠接入到各種主機(jī)環(huán)境和基礎(chǔ)設(shè)施后端,從這些細(xì)節(jié)中抽象出 Envoy 代理和 Istio 管理的服務(wù)。
Pilot
Pilot 為 Envoy sidecar 提供服務(wù)發(fā)現(xiàn)功能,為智能路由(例如 A/B 測(cè)試、金絲雀部署等)和彈性(超時(shí)、重試、熔斷器等)提供流量管理功能。它將控制流量行為的高級(jí)路由規(guī)則轉(zhuǎn)換為特定于 Envoy 的配置,并在運(yùn)行時(shí)將它們傳播到 sidecar。
Pilot 將平臺(tái)特定的服務(wù)發(fā)現(xiàn)機(jī)制抽象化并將其合成為符合 Envoy 數(shù)據(jù)平面 API 的任何 sidecar 都可以使用的標(biāo)準(zhǔn)格式。這種松散耦合使得 Istio 能夠在多種環(huán)境下運(yùn)行(例如,Kubernetes、Consul、Nomad),同時(shí)保持用于流量管理的相同操作界面。
Citadel
Citadel 通過(guò)內(nèi)置身份和憑證管理可以提供強(qiáng)大的服務(wù)間和最終用戶身份驗(yàn)證??捎糜谏?jí)服務(wù)網(wǎng)格中未加密的流量,并為運(yùn)維人員提供基于服務(wù)標(biāo)識(shí)而不是網(wǎng)絡(luò)控制的強(qiáng)制執(zhí)行策略的能力。從 0.5 版本開(kāi)始,Istio 支持基于角色的訪問(wèn)控制,以控制誰(shuí)可以訪問(wèn)您的服務(wù)。
設(shè)計(jì)目標(biāo)
Istio 的架構(gòu)設(shè)計(jì)中有幾個(gè)關(guān)鍵目標(biāo),這些目標(biāo)對(duì)于使系統(tǒng)能夠應(yīng)對(duì)大規(guī)模流量和高性能地服務(wù)處理至關(guān)重要。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站名稱:ServiceMesh服務(wù)網(wǎng)格新生代——Istio|前沿-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article30/dgohso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、商城網(wǎng)站、外貿(mào)建站、微信公眾號(hào)、虛擬主機(jī)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容