即便Kubernetes已經成為容器編排領域事實上的黃金標準,但是如果想要將基于微服務的應用程序集成到企業網絡當中,仍然需要需要借助于其他工具的幫助,而NSX正是這樣的工具之一。
Kubernetes已經稱為容器編排領域的實際標準,大量運行基于容器應用程序的企業都已經采用這種方案。最初 Kubernetes并不是一款企業級IT產品,而是谷歌Borg控制器(谷歌使用其運行大規模云基礎架構)的衍生產品。由于其最初并不是針對企業級IT開發,因此需要額外支持才能夠適應企業架構,首先需要考慮的就是網絡方面。讓 Kubernetes適用于現有企業網絡的可行方式之一是將軟件定義網絡產品加入到 Kubernetes中,提供企業級網絡特性;而VMware NSX networking就是這樣的一種產品。
Kubernetes允許開發和運維團隊使用自動化技術按需創建、管理和銷毀容器組。一個基于微服務的應用程序也許需要數十種微服務,每種微服務還包含一組容器。某些微服務可能只需要三或四個容器,而有些可能需要數百個。
Kubernetes提供了一種管理微服務容器組以及由這些微對于現在的DevOps來說,每天都有可能對微服務進行數十次改動;這些改動可能是針對現有代碼添加全新特性或者是修復漏洞。快速應用多種更新的能力是 DevOps、微服務和容器所承諾敏捷性的重要標志。部署這些更新需要創建全新版本并且銷毀之前的容器,因此企業每天要創建和銷毀數千個容器。
這些容器的每一個都需要安全連接到正確的網絡上。Kubernetes可以使用標準的Docker網絡——其和普通的企業網絡有很多不同之處——或者可以將其他網絡提供商的產品連接到 Kubernetes。
將微服務集成到NSXNSX networking采用和Kubernetes 相同的自動化方式。應用程序可以通過調用NSX實現其所需要的網段、負載均衡、防火墻和路由功能,并且軟件命令可以創建和銷毀網絡組件。只有軟件定義網絡平臺才能夠對現有網絡進行更改。而不是像傳統企業那樣通過復制和粘貼物理交換機和網絡設備配置文件來管理網絡。為了實現DevOps和容器的靈活性,網絡必須是軟件定義和控制的。
NSX networking的優勢之一就是其分布式工作方式:負載均衡、防火墻和路由,所有這些都工作每臺物理服務器、而不是集中式設備上。NSX的分布式特性對于需要擴展數千個容器的網絡功能來說至關重要。通常我們會將vSphere hypervisor和NSX關聯起來,但那是另外一種稱為NSX-T的版本,通過 Open vSwitch工作在物理服務器和hypervisor層。在這兩個版本之間,管理員可以在vSphere平臺、物理服務器、其他hypervisor的虛擬機、甚至是公有云平臺上的虛擬機中使用NSX networking with container。未來的某個時間,很有可能出現適用于所有平臺的NSX networking產品,而不是像現在這樣在vSphere和非 vSphere平臺使用單獨的管理產品。
Kubernetes和NSX集成允許將基于微服務的應用程序集成到企業網絡。當開發人員使用 Kubernetes啟動一個CRM(客戶關系管理)開發系統的容器時,NSX會自動創建一個全新網絡,將容器連接到CRM開發網絡中。當開發人員完成工作,將容器刪除之后,NSX會自動銷毀其所創建的網絡。 NSX with Kubernetes能夠自動為基于微服務的應用程序提供網絡連接。原生云應用和傳統應用的集成能夠發揮傳統應用數據的價值。
Kubernetes插件Kubernetes的插件架構并不只限于 NSX; Kubernetes文檔列舉了很多網絡插件,其中主要的集成插件適用于原生云網絡平臺,比如 CoreOS Flannel、Calico和Weave Cloud。這些工具能夠改善原生云應用程序不同組件之間的網絡連接情況。還有一些其他網絡插件被設計用來集成到企業網絡。如果企業已經在現有網絡使用NSX,那么繼續使用NSX with Kubernetes能夠發揮最大價值。將軟件定義網絡和容器編排平臺合并在一起是實現更好的應用程序靈活性的重要組成部分,而Kubernetes with NSX networking能夠幫助企業實現這個目標。