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

CCE_huawei發表於2019-03-18

Istio 1.0版本釋出到現在,已經過去8個月。Istio1.1的候選版本也到了rc5,預計近期會正式釋出1.1。此版本包含了許多錯誤

修復,在流量管理,安全,策略和遙測,多叢集等領域新增了新的功能。


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

  •  預設關閉了策略執行功能

  • 預設開啟了Mesh外的訪問,再也不用擔心未配置ServiceEntry對外的訪問突然不通了。

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

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

  • 效能上做了多點最佳化,總體表現值得期待。


另外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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69908804/viewspace-2638657/,如需轉載,請註明出處,否則將追究法律責任。

相關文章