PKS 內置了 VMware 新一代虛擬化網路產品 NSX-T,為容器提供微分段、負載均衡、安全策略等高級網路和安全功能,並且支持除 vSphere 以外的其他 Hypervisor。NSX-T 的項目代號為「變形金剛 (Transformer)」,所以通常把它稱之為 NSX-T,以區別於傳統的基於 vSphere 的 NSX。
NSX-T 可以通過 K8s 的容器網路介面 (Container Network Interface) 來向容器提供虛擬化的網路服務,PKS 的用戶可以方便地通過命令行來創建和管理由 NSX-T 提供的虛擬網路服務對象,如:分散式防火牆、邏輯交換機、網路安全策略等等,例如:
- 創建命名空間 :在創建容器 Namespace 的同時,NSX-T 會自動創建一個分散式路由器和邏輯交換機,從網路層面上把這個 Namespace 隔離開來。
- 網路策略:創建網路策略命令會在分散式防火牆上創建一組對應的安全策略,根據安全策略定義的規則來阻止指定的網路流量。
- 應用部署:具體的應用部署之後,NSX-T 就會根據安全策略中的規則來控制對於應用容器的流量訪問,PKS 自來的 traceflow 功能可以方便地查看兩個窗口或服務之間的流量關係。
- 網路策略:刪除相關的網路策略後,就會在相關的分散式防牆上刪除相應的網路策略。
- 負載均衡器 Ingress:NSX-T 也為容器應用提供了負載均衡服務 Ingress,Ingress 具有層7的網路路由功能。
通過 NSX-T 和 Ingress 負載均衡器相配合,可以實現層 7 的路由功能,在演示中我們看到 Ingress 服務可以通過 URL 的後綴 coffee (10.40.14.35/coffee) 或 tea (10.40.14.35/tea)來把訪問請求導向具體的容器服務,因為 Ingress 支持這種基於 HTTP 協議的負載均衡服務。
接下來請大家看一段關於 PKS 中 NSX-T 虛擬化網路功能的演示,主要包括了以下幾個場景:
- 創建命名空間:在 PKS 集群中創建 namespace bar,可以看到 NSX-T 在後台自動創建了一個邏輯路由器和交換機來為命名空間 bar 提供一個獨立的網段;
- 利用網路策略來控制網路通訊:創建網路策略來阻止帶有 db 和 nginx 標籤的 Pod 之間的通訊, NSX-T 提供的 Traceflow 工具可以讓管理員直觀地看到多個 Pod 指定埠之間的通訊被阻止了;
- 通過 Ingress 控制器來均衡負載:部署一個 Ingress 控制器來分配 coffee 和 tea 服務之間的工作負載,Ingress 具有層7 的網綹路由能力,能夠通過 URL 上的服務名字 (coffee 或 tea) 來把網路包專遞給相應的服務。
Comments
0 Comments have been added so far