什麼是數據平面?
在現代應用架構中,數據平面用於存放和傳輸應用流量和數據流量。
在部署雲原生應用時,該層控制不同環境、應用和平臺之間的應用流量。 由於缺乏可見性並且存在治理差距,分散式環境擴大了威脅面並增加了系統中斷的幾率。
數據平面對於大規模構建高性能現代應用而言至關重要。 決定應用性能的關鍵指標(例如使用者體驗和延遲)取決於回應迅速、安全可靠且高度可擴展的數據平面。 通過執行所有的策略、服務級別協定 (SLA) 、擴展行為以及其他的行為觸發器(例如重試、keepalives 和橫向擴展),數據平面可以對應用下達指示。
在 Kubernetes 中,數據平面由 worker 節點及其 pod ,以及通過 kubelet 代理進行通信的容器(與容器引擎和維護狀態資訊的資料庫共享狀態和條件)組成。 每個節點都有一個 kubelet,負責從控制平面(即 API 伺服器)接收配置指令。
儘管 Kubernetes 數據平面在構造和設計上與傳統的三層 Web 應用所用數據平面有所不同,但功能大致相同,可確保應用運行良好。
什麼是管理平面?
在現代應用架構中,管理平面可為數據平面和控制平面建立安全防護。
在部署雲原生應用時,該管理層在分散式環境中執行通用標準、存取控制和策略。 管理平面能夠將控制平面操作的複雜性抽象出來,並提供應用性能的可視性和洞察。 由於缺乏可視性並存在治理差距,分散式環境擴大了威脅面並增加了中斷幾率。
平臺運營團隊正引入管理平面,以實現更加敏捷和以開發人員為中心的應用開發。 他們可以在管理平面搭建透明護欄,確保使用者不會傷害自己或他人。
儘管兩者功能類似,但管理平面實際上是一個浮動在控制平面之上的元層(meta layer)。 管理平面位於堆疊的較高層面,旨在簡化控制平面的配置,以便更輕鬆地進行擴展並實現可觀測性和彈性。 它可以制定用於所有應用、API 和微服務的全域策略並設置必要的配置。
管理平面還能夠按應用組、類型或地理位置治理並應用策略。 在現代應用時代,許多團隊都可以從強大的管理平面中受益 — 包括網路運營團隊和業務線(營銷團隊、安全團隊、合規團隊等)。
什麼是控制平面?
在現代應用架構中,控制平面為數據平面配置規則。
在部署雲原生應用時,需要該管理系統來簡化分散式環境中流量管理和安全策略的建立與實施。 由於缺乏可見性並且存在治理差距,分散式環境擴大了威脅面並增加了系統中斷的幾率。
控制平面是一個單獨的實體,位於數據平面之上,為數據平面實施規則。 它最初是用於四層網路的策略引擎,現在還影響 Kubernetes 中的七層流量。 在數據平面治理通過應用的數據流和 pod 級的應用行為後,控制平面可以引導數據平面,以監督容器、節點、pod 及整合的編排和協調。 控制平面的元件就集群做出全域決策(例如調度),同時檢測並回應整合事件。
查看原文:NGINX