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