1. 程式人生 > >《Istio官方文件》什麼是Istio——設計理念

《Istio官方文件》什麼是Istio——設計理念

原文連結  譯者:carvendy

設計理念

  這頁概述了Istio的核心設計理念。

  Istio的架構裡有一些關鍵的設計理念,是在服務在一定規模上和高效能的標準上,系統必備的能力。

  • 公開透明。為了適應Istio,運維人員和開發人員應該做一些最小限度的工作從系統中獲取真實值。為此,Istio可以自動注入在服務間的所有網路路徑。Istio使用了sidecar代理獲取流量,通過代理而無需任何程式碼,就可以在自動的應用網路層來路由流量。在Kubernetes,代理注入到了pods,而流量是通過iptables的規則來獲取的。在sidecar代理會注入,而流量路由是程式化的,Istio是可以協調所有流量的。此原則也可以適應於效能。當使用Istio開發時,運維人員在保證效能的可用性下,應該檢視在源消耗的最小增長。元件和API必須設必須考慮效能和規模。
  • 增長率。作為運維人員和開發人員,在系統必須增長到他們需要的數量時,將會越來越依賴Istio提供的功能。當希望加入自己的新特性,更加需要地可以自己擴充套件策略系統,使得源策略更加完整,可以控制和傳輸關於網格行為的訊號量來分析其他系統的行為。策略在執行的的時候,提供標準的擴充套件機制可以插入到其他服務中。除此之外,它可以基於網格產生的新訊號量,來擴充套件更多的策略。
  • 可移植性。生態中,Istio可以在多個維度中使用。Istio必須執行在雲或在預上線環境可以有最小的影響。可以容易地移植Istio的基礎服務到新環境,並且這可以使用Istio操作單個服務釋出到多種環境(在多個雲上冗餘來做例子)。
  • 策略一致性
    。應用策略通過API喚醒服務間提供可以控制服務網格的行為,但是將策略應用於不一定在API級別上表達的資源也同樣重要。作為例子,允許由ML任務在限額內使用CPU,這比在工作的時候才初始化要更好。為此,策略系統作為獨立的系統來維護的,它使用自己的API而不是直接使用sidecar代理,並在需要時候可以讓服務指向使之完整結合。