NSX +Kubernetes:為業(yè)務帶來DevOps敏捷性
Kubernetes已經(jīng)成為容器編排領(lǐng)域的實際標準,想要使用基于容器應用的企業(yè)已經(jīng)紛紛采用這種技術(shù)。Kubernetes最初并不是一款企業(yè)級IT產(chǎn)品,而只是Google Borg控制器的一個分支,企業(yè)可以使用其運行大規(guī)模云基礎(chǔ)架構(gòu)。由于最初它并非針對企業(yè)進行開發(fā),因此需要對其進行一些改動才能夠適應企業(yè)架構(gòu),讓我們從網(wǎng)絡(luò)開始。讓Kubernetes適應現(xiàn)有企業(yè)網(wǎng)絡(luò)的一種可行方式是使用軟件定義網(wǎng)絡(luò)產(chǎn)品,將其繼承到Kubernetes,提供企業(yè)網(wǎng)絡(luò)特性;而VMware NSX就是這樣的一種產(chǎn)品。
Kubernetes允許開發(fā)和運維團隊使用自動化技術(shù)來按需創(chuàng)建、管理和銷毀容器組。一個基于微服務的應用程序需要數(shù)十種微服務,每一種又都包含一組容器。某些微服務可能只需要三到四個容器,但是其他微服務可能需要數(shù)百個容器。Kubernetes提供了管理微服務容器組以及這些微服務組成的應用的方法。
對于現(xiàn)在的DevOps來說,每天都會有數(shù)十種的改動;這些改動可能是為了添加全新特性或者修復現(xiàn)有代碼bug。快速安裝多種更新是敏捷性的最基本特性,而這也是DevOps、微服務和容器所承諾的。為了實現(xiàn)這些變更,需要啟動新版本的容器并且銷毀舊的容器,因此企業(yè)每天都需要創(chuàng)建和銷毀數(shù)千個容器。
每個容器都需要安全地連接到正確的網(wǎng)絡(luò)上。Kubernetes能夠使用標準的Docker網(wǎng)絡(luò)——雖然其和傳統(tǒng)的企業(yè)網(wǎng)絡(luò)存在很大差異,Kubernetes還能夠使用其他網(wǎng)絡(luò)提供商的產(chǎn)品。
如何在NSX中集成微服務
NSX網(wǎng)絡(luò)使用和Kubernetes相同的自動化機制。應用程序可以通過NSX調(diào)用來定義所需的網(wǎng)絡(luò)、負載均衡器、防火墻和路由器,并且軟件命令可以創(chuàng)建和銷毀網(wǎng)絡(luò)組件。如果沒有使用軟件定義網(wǎng)絡(luò)平臺,那么很難對網(wǎng)絡(luò)進行改動。在很多傳統(tǒng)的企業(yè)網(wǎng)絡(luò)中,管理員都需要將配置文件復制粘接到每一臺物理交換機和路由器上。為了實現(xiàn)DevOps和容器的敏捷性,網(wǎng)絡(luò)必須是軟件定義和軟件控制的。
NSX網(wǎng)絡(luò)的好處之一就是分布式工作方式:負載均衡、防火墻、路由,所有這些都在每臺物理服務器中實現(xiàn),而不是某臺集中設(shè)備上。NSX的分布式特性是將網(wǎng)絡(luò)擴展到數(shù)千臺容器的關(guān)鍵。通常我們會將NSX和vSphere hypervisor平臺關(guān)聯(lián)在一起,但是還有另外一個版本稱為NSX-T,其能夠通過Open vSwitch來和物理服務器還有hyperviosr協(xié)同工作。借助這兩個版本,管理員可以將NSX網(wǎng)絡(luò)應用于vSphere平臺、物理服務器、其他hypervisor甚至是公有云中的虛擬機。未來的某個時間,將會有一種適用于所有平臺的NSX產(chǎn)品,而不再是分別適用于vSphere和非vSphere平臺的的管理產(chǎn)品。
將Kubernetes集成到NSX之后,基于微服務的應用就能夠集成到企業(yè)網(wǎng)絡(luò)中了。當開發(fā)人員告訴Kubernetes創(chuàng)建一個CRM(客戶關(guān)系管理)系統(tǒng)容器時,NSX就會自動部署一個全新網(wǎng)絡(luò),為容器提供到CRM系統(tǒng)的網(wǎng)絡(luò)訪問。當開發(fā)人員完成當前工作、刪除容器之后,Kubernetes會自動移除其所創(chuàng)建的網(wǎng)絡(luò)。集成到Kubernetes的NSX能夠為基于微服務的應用自動交付企業(yè)網(wǎng)絡(luò)。原生云應用和傳統(tǒng)應用程序的集成能夠更好地體現(xiàn)傳統(tǒng)應用程序的數(shù)據(jù)價值。
Kubernetes插件
Kubernetes的插件不僅僅限于NSX;Kubernetes文檔列舉了數(shù)十種網(wǎng)絡(luò)插件。這之中的大多數(shù)是原生云網(wǎng)絡(luò)平臺,如CoreOS Flannel、Calico和Weave Cloud。這些工具能夠改善各種原生云應用之間的網(wǎng)絡(luò)連接。還有一些其它網(wǎng)絡(luò)插件被設(shè)計用來集成到企業(yè)網(wǎng)絡(luò)中。
如果NSX已經(jīng)用于網(wǎng)絡(luò)的其它部分,那么將Kubernetes集成到NSX中能夠發(fā)揮***作用。將軟件定義網(wǎng)絡(luò)和容器編排工具合并是實現(xiàn)更好的應用敏捷性的重要一部分,而將NSX和Kubernetes互連能夠?qū)崿F(xiàn)更好的企業(yè)網(wǎng)絡(luò)連通。