全方位解讀 | Istio v1.1正式發佈

北京時間2019年3月20日,Istio v1.1版本發佈。在Istio繼續1.0版本之後,先後發佈了6個補丁來擴充和完善相關功能。經過8個月的努力,不計其數的測試迭代,1.1版本終於和大家見面,引起廣泛討論。

在對Istio 1.1進行全方位解讀之前,我們先來回顧一下Istio的設計初衷。Istio設計之初期望於能夠簡化應用的開發及部署方式,把應用上線所需的外圍支撐系統與業務應用相分離,從而減輕開發團隊的壓力,提升開發效率。同時Istio基於網絡代理的實現方案,爲業務運行時的流量控制、安全策略以及運行態實時監測提供了強大的支持功能。而這些功能一定程度上等價於給業務系統減負,使得服務能夠更快更方便地構建、遷移和發佈。

Istio 1.1官宣新主題在於enterprise-ready(企業應用水準)。從官方文檔給出的Release Notes分析,1.1版本基於Istio 之前版本被詬病的性能問題做了重點優化,同時針對隔離性、安全性、多集羣和可擴展性做了進一步加強,以滿足用戶對於多場景的支持。

Istio最新架構如圖所示:

全方位解讀 | Istio v1.1正式發佈

性能優化

Istio 1.1帶來的最顯著的性能變化在於提升了數據平面和控制平面的執行效率。根據官方測試數據顯示(在本地環境有待進一步驗證),新發布的istio-proxy(sidecar)僅需要半個vCPU的資源就可以支撐1000 RPS,同時單個Pilot實例僅僅需要1.5個vCPU與2 GB RAM就可以支持1000個應用(2000個pod)。Istio-proxy在半數情況下僅增加5ms延遲,在99%的情況下增加10ms延遲。從而初步解決Pilot資源過度消耗以及istio-proxy延遲大的劣勢。

隔離性

Istio 1.1 提供新類型的sidecar資源,允許用戶基於namespace增加sidecar對象對邊界強制控制,以達到減輕proxy計算負擔的效果。同時增加exportTo字段,用來指定網絡資源在namespace中的生效範圍。

安全性

Istio 1.1在安全性方面同樣有了很大的提升,主要包括更新serviceEntity資源,使得HTTPS的服務不在需要額外的VirtualService來開啓SNI路由;在啓動雙向TLS的場景下,支持Readiness,Liveness健康檢查策略;更新集羣RBAC的權限配置,使用ClusterRbacConfig對象替代原來的RbacConfig,以擴展集羣範圍的RBAC的權限控制;集成Vault PKI,動態加載和替換外部證書,TCP服務授權,插件憑證保護以及SDS身份認證等方式。大範圍增加了Isito的安全特性。

多集羣

Istio 1.1 改進流量控制和策略的默認配置,引入Galley新組件,用來驗證YAML文件的規範性,合法性,以降低配置錯誤的機率。同時Galley可以在集羣中發揮強大的作用,用來從多個kubernetes集羣中收集服務發現信息。同時支持在無需扁平網絡的前提下實現單一控制平面與多個同步控制平面。

部署安裝

Istio 1.1修改Helm chart,關閉Egressgateway,默認關閉Mixer Policy以及允許所有的出口流量,同時允許自定義CRD與istio chart分離,提供數據延續性。

Istio 1.1還提供了其他方面的更新,例如鏈路跟蹤優化,外部Adapter等。

新版本具體更新文檔地址: https://istio.io/docs/

新版本Release代碼下載地址:https://github.com/istio/istio

全方位解讀 | Istio v1.1正式發佈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章