315 · Istio1.1 功能預告,真的假不了

Istio 1.0版本發佈到現在,已經過去8個月。Istio1.1的候選版本也到了rc5,預計近期會正式發佈1.1。此版本包含了許多錯誤修復,在流量管理,安全,策略和遙測,多集羣等領域添加了新的功能。

對1.0的用戶來說,感受最強烈的是:

  1.  默認關閉了策略執行功能

  2. 默認開啓了Mesh外的訪問,再也不用擔心未配置ServiceEntry對外的訪問突然不通了。

  3. 多集羣不再只是1.0那種扁平網絡的簡單方案,提供了單控制面、多控制面幾種方案,可以根據自己的場景需求選擇。

  4. 安全上SDS也終於來了提供更靈活的安全基礎能力。

  5. 性能上做了多點優化,總體表現值得期待。

另外1.1提供了很多新的能力,在配置使用上也會有所不同,雖然不至於像0.8到1.0引入V1alph3導致接口大變樣那麼誇張,但API的使用確實值得我們去注意。最直觀的感受將是,原來的結構上字段突然多了很多。

Istio社區對1.1發佈的初步文檔已經在istio.io上提供,今天我們就率先爲容器魔方粉絲獻上中文版的功能預告

 

 

流量管理

新的sidecar:資源:在指定命名空間中使用sidecar資源時,支持定義可訪問的服務範圍,這樣可以降低發給proxy的配置數量。在大規模的集羣中,我們推薦給每個namespace增加sidecar對象。 這個功能主要是爲了提升性能,減輕proxy計算的負擔。

限制網絡資源的生效範圍:爲所有的網絡資源增加了exportTo的字段,用來表示此網絡資源在哪些namespace中生效。這個字段目前只有兩個值:

  • . 表示此網絡資源只在自己定義的namespace生效;

  • *表示此網絡資源在所有的namespace生效。

更新了serviceEntry的資源:指定服務的位置以及使用雙向TLS關聯的SAN。帶HTTPS端口的service entry不再需要額外的virtualservice來開啓基於SNI的路由。

細粒度的多集羣路由:簡化了多集羣的安裝,並支持額外部署模式,能夠利用ingress gateways連接多個集羣,而不使用pod級別的VPN。在每個集羣中都部署控制面以提供高可用,跨集羣創建全局的命名空間。在高可用控制面方案中,默認開啓AZ/Region的區域感知能力,降低跨區請求造成的性能損耗。

棄用Istio Ingress:刪除了以前棄用的Istio ingress。

安全

Readiness and Liveness 探針:在雙向TLS啓用的場景下支持Kubernetes HTTP readiness和liveness探針。

集羣RBAC配置:使用ClusterRbacConfig資源對象替代原來的RbacConfig。ClusterRbacConfig支持集羣範圍的配置。

基於SDS的身份設置:On-node祕鑰生成和動態證書替換不用重啓Envoy。

TCP授權管理:除了HTTP和gRPC外,支持對TCP服務的授權管理。

最終用戶組授權管理:支持JWT中組聲明或者列表類型的聲明。

每路徑最終用戶認證:可以啓用和禁用基於訪問路徑的JWT認證。

Gateway上外部證書管理:支持動態加載和替換外部證書。

集成Vault PKI:提供Vault保護的祕鑰簽名並與現有Vault PKI集成。

自定義的可信域:在身份標識中支持特定org或cluster的安全域。

多集羣

不可路由的L3網絡:在不可路由的L3網絡多集羣環境中使用一個Istio 控制面。

多控制平面:在多集羣環境中,支持安裝多個Istio控制平面。

策略和遙測

默認關閉策略檢查功能:爲了提高多數客戶場景下的性能,安裝時默認關閉策略檢查, 後期可按需開啓此功能。

Kiali:棄用ServiceGraph,推薦使用 Kiali:提供了更豐富的可視化體驗。

多方面降低開銷 ,提升性能和可擴展性:

  • 減少Envoy生成的統計數據的默認收集

  • 爲Mixer的工作負載增加load-shedding功能

  • 改進Envoy和Mixer的通信協議

控制請求頭和路由:增加選項使適配器可以修改請求頭和路由。

進程外適配器:進程外適配器功能生產可用,下個release棄用進程內適配器。

多方面增強Tracing的能力: 

  • Trace id支持128bit的範圍

  • 支持向LightStep發送追蹤數據

  • 增加選項完全禁用Mixer支持的服務的追蹤功能

  • 增加策略的decision-aware 追蹤

默認的TCP指標:爲追蹤TCP連接增加默認指標。

配置管理

Galley:Galley在Istio中提供主要的配置管理和分發機制。它提供了一個健全的模型來驗證,轉換和分發配置狀態到Istio各組件,使Istio組件與Kubernetes的細節隔離。Galley使用Mesh Configuration Protocol(MCP)和組件交互。

監控端口:Galley的默認監控端口從9093改爲15014。

istioctl和kubectl

校驗命令:爲 Istio Kubernetes 的資源增加離線校驗命令—— istioctl validate。

驗證安裝命令:在使用指定的YAML文件安裝Istio前,可以用istioctl experimental verify-install 來預先檢驗Istio的安裝狀態。

棄用的命令:棄用 istioctl create,istioctl replace, istioctl get 和 istioctl delete,使用 kubectl 代替;棄用 istioctl gen-deploy,使用helm template代替。下個版本(1.2)將刪除這些命令。

命令的縮寫: 用kubectl操作Istio網絡資源時可以使用縮寫,例如: gateways簡寫爲gw,virtualservice簡寫爲vs等等。

升級

Istio Helm 配置的更改:

  • 默認關閉Egressgateway

  • 默認關閉Mixer policy

  • 默認允許所有出口流量(不用配置service entry),出口流量策略設置爲ALLOW_ANY

 相關服務請訪問: https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019

 

 

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