日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Ambient模式

更新時間: 2024-09-03 17:37:06

本文介紹Ambient模式的概念及相關功能。

功能介紹

阿里云服務網格ASM從1.18版本開始支持Ambient模式。該模式下引入了一種新的Sidecarless的數據平面形態,幫助簡化應用服務的網格接入,提供一種漸進式采用網格技術的途徑,并降低Istio網格用戶的基礎設施成本。image.png

ASM Ambient模式支持Sidecar和Sidecarless兩種形態的數據平面架構。您可以根據應用程序的需求選擇其中之一或兩者融合使用。在ASM 1.18版本中,Sidecar代理已支持HBONE(基于HTTP的覆蓋網絡環境),因此它們可以通過零信任隧道zTunnel提供安全覆蓋層、通過Waypoint代理提供7層處理能力,支持Sidecarless模式下的應用程序相互操作。

設計理念

將數據平面分層:4層用于基礎處理,特點是低資源、高效率;7層用于高級流量處理,特點是功能豐富,但需要更多的資源。您可以根據所需功能的范圍,以漸進增量的方式使用服務網格技術。

層級

主要功能

4層

  • 流量管理:TCP路由

  • 安全:面向4層的簡單授權策略、雙向TLS

  • 可觀測:TCP監控指標及日志

7層

  • 流量管理:HTTP路由、負載均衡、熔斷、限流、故障容錯、重試、超時等

  • 安全:面向7層的精細化授權策略

  • 可觀測:HTTP監控指標、訪問日志、鏈路追蹤

數據面L4與L7代理的解耦模式下,一方面,將L4 Proxy能力下移到CNI組件中,L4 Proxy組件以DaemonSet的形式運行,分別運行在每個節點上。這意味著它是為一個節點上運行的所有Pod提供服務的共享基礎組件。

另一方面,L7代理不再以Sidecar模式存在,而是解耦出來,稱為Waypoint Proxy,它是為每一個Service Account創建的7層代理Pod。

概述1.png

4層和7層代理的配置仍然保持通過Service Mesh控制面組件來進行下發管理。通過這種解耦模式,實現了Service Mesh數據平面與應用程序之間的進一步解耦分離。

在Istio的具體實現中,可以分為以下3個部分:

  • Waypoint代理:

    • L7組件完全獨立于應用程序運行,安全性更高。

    • 可以靈活選擇為指定服務、工作負載指定不同的L7代理(Waypoint代理)。

    • 通過K8s Gateway CRD定義觸發啟用。

  • zTunnel:將L4處理下沉到CNI級別,來自工作負載的流量被重定向到zTunnel,然后zTunnel識別工作負載并選擇正確的證書進行處理。

  • 與Sidecar模式兼容:Sidecar模式仍然是網格的一等公民,Waypoint代理可以與部署了Sidecar的工作負載進行本地通信。

image

不影響應用程序是使Ambient Mesh比傳統的Sidecar模式具備更少侵入性的原因之一。與采用Sidecar模式時必須將Sidecar代理注入到每個應用程序部署中相比,Ambient模式下無需以任何方式重新部署或修改現有應用程序。通過不重新部署和直接修改應用程序,可以有效地降低落地風險并簡化采用Mesh的落地曲線。

Ambient Mesh的設計是非侵入式的,并且僅對存在特定標記的命名空間并使現有應用程序成為Ambient Mesh的一部分,可以逐步采用。一旦應用程序成為Ambient Mesh的一部分,它立即獲得mTLS和L4可觀察性功能。

Ambient模式下的路由

在Ambient模式下,工作負載可以分為以下3類:

  • 未攔截:這是一個沒有啟用任何Mesh特性的標準Pod。

  • 已攔截:這是一個通過zTunnel攔截流量的Pod。您可以通過在命名空間上設置istio.io/dataplane-mode=ambient標簽來捕獲Pod。

  • Waypoint啟用:這是一個已攔截且部署了Waypoint代理的Pod。默認情況下,Waypoint代理將應用于同一命名空間中的所有Pod。還可以通過在Gateway上設置istio.io/for-service-account注釋,將其設置為僅適用于特定的服務賬戶。如果同時存在命名空間Waypoint代理和服務賬戶Waypoint代理,則服務賬戶Waypoint代理的優先級更高。

zTunnel路由

  • 出站

    當一個被攔截的Pod發起出站請求時,它將被透明地重定向到zTunnel,zTunnel將確定請求的轉發位置和方式。一般情況下,流量路由的行為與Kubernetes默認的流量路由相同。對一個Service的請求將被發送到該Service內的一個端點,而直接對Pod IP的請求將直接發送到該IP。根據目標的能力,會發生不同的行為。如果目標也被攔截,或者具有Istio代理能力(例如注入了Sidecar代理或網關),請求將升級為加密的HBONE隧道。如果目標有一個Waypoint代理,除了升級為HBONE外,請求將被轉發到該Waypoint代理。

    需要注意的是,在請求一個Service時,會選擇一個特定的端點來確定是否有Waypoint代理。但是,如果有Waypoint代理,請求將被發送到Service的目標目的地,而不是選定的端點。這樣可以使Waypoint代理將面向服務的策略應用于流量。在Service同時具有啟用Waypoint和未啟用Waypoint的端點的罕見情況下,一些請求將被發送到Waypoint,而對同一服務的其他請求則不會。

  • 入站

    當一個被攔截的Pod接收到入站請求時,它將被透明地重定向到zTunnel。當zTunnel接收到請求時,它將應用授權策略,并只有在請求符合策略時才轉發請求。一個Pod可以接收HBONE流量或明文流量。默認情況下,zTunnel將接受這兩種流量。因為在評估授權策略時,明文請求沒有對等身份,您可以設置一個策略要求一個身份(任意身份或特定身份),以阻止所有明文流量。

    當目標啟用了Waypoint代理時,所有請求必須經過Waypoint代理來執行策略。zTunnel將確保這一點,但存在一個特殊情況:良好行為的HBONE客戶端(例如另一個zTunnel或Istio Sidecar代理)會知道將請求發送到waypoint,但其他客戶端(例如網格之外的工作負載)可能對waypoint代理一無所知,直接發送請求。當發送這些直接調用時,zTunnel會將請求繞圈(hairpin)到它的waypoint,以確保策略得到正確執行。

Waypoint路由

Waypoint代理只接收HBONE請求。在接收到請求后,Waypoint代理將確保請求的目標是其管理的Pod或包含其管理的Pod的Service。

對于任何類型的請求,在轉發之前,Waypoint代理將執行策略(例如授權策略、WASM插件、遙測等)。

對于直接請求到Pod的情況,策略應用后,請求將直接轉發。

對于針對Service的請求,Waypoint代理還將應用路由和負載均衡。默認情況下,Service將簡單地路由到自身,并在其端點間進行負載均衡。您可以通過為該Service設置路由來覆蓋默認行為。

與Sidecar模式的差異點

  • 4層與7層處理的解耦,引入基于Rust的zTunnel作為基礎的4層處理模塊,適合做高性能、低利用率的網絡代理能力。

  • Waypoint代理面向目標服務進行定義,僅需包含非常有限的動態集群、端點和路由相關的詳細信息,而無需將所有潛在連接到其運行的Kubernetes集群中的任何服務的詳細信息都包含內。這有效地消除了對Waypoint代理支持Sidecar資源的需求,也避免您手動配置Sidecar資源。

Ambient Sidecarless模式的優勢

  • 網格代理與應用程序解耦,獨立運行,當代理更新或重啟時,不需要對應用程序進行重啟。

  • 擴大了對應用程序的支持,包括支持Kubernetes Jobs等。

  • 消除了Sidecar模式下對應用程序的要求,包括服務器發送優先協議等。

  • 更好地逐步采用網格技術的接入,例如從安全覆蓋層開始,使用加密身份的mTLS、簡單的第4層授權策略和可觀測功能。

  • 在沒有任何L7處理的情況下,安全覆蓋層顯著地減少了CVE和其他補丁的攻擊面和更新數據平面的頻率。

  • 獨立于工作負載擴展服務網格數據平面,從而降低基礎設施的成本。

上一篇: 準備工作 下一篇: 使用限制
阿里云首頁 服務網格 相關技術圈