作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與SD-WAN方案的介紹與推廣。

NSX-T Data Center是最領先的軟體定義網路方案。但請問大家,你的Data Center網路用的好好的,為什麼沒事要來大搞特搞、翻雲覆雨,改成軟體定義網路方案呢?

 

因為微分段功能超棒嗎?是的微分段功能超棒的。但更進一步,CEO要求IT架構能夠因應任何的業務需求快速變化,CIO想的是如何提升業務測試與上線速度並確保安全,而Infra Manager要如何才能達成上級交辦的任務?天天加班手動去改Configuration嗎?和上頭報告說我們做不到嗎?

 

所有在 IT 浪潮前端的企業,CIO / Infra Team都在考慮Infrastructure as Code (基礎架構自動化編排)啊!而要達成基礎架構自動化,首先你的網路必須是軟體定義架構啊!

 

身為最領先的軟體定義網路方案,VMware當然不是在客戶那邊把NSX-T裝一裝然後說掰,後面的事你們自己忙摟。無論是支援現有的泛用Infrastructure as Code工具或是提供對應的API / SDK,NSX-T Data Center需要提供客戶足夠的彈性與能力來打造自己的軟體定義資料中心。在下面這幾篇網誌,我們要和大家介紹NSX-T與目前最廣泛使用的基礎架構自動化編排工具:Terraform by Hashicorp的整合方式,並搭配實際部署展示的實例。但在第一篇,我們要先和大家做一個快速地檢視:NSX-T Data Center有支援的自動化介面、工具、方案有哪一些。

 

NSX-T正式支援的IaaS (Infrastructure as a Service) 方案

 

在本文撰寫的時間點 (NSX-T 2.4版),目前有支援的IaaS方案包含了

 

  • vRealize Automation:從vRA 7.5版之後開始支援底層網路使用NSX-T架構,功能上大致與NSX for vSphere時代差異不大。但目前vRealize Orchestrator並沒有對應NSX-T的workflow,因此如果有vRA預設沒有支援到的功能,用戶可以使用vRA內的XaaS功能呼叫NSX-T的API來達成。

 

  • Openstack:現在VMware本身提供的VIO (VMware Integrated Openstack) 產品底層已經是完整採用NSX-T。而如果用戶或方案整合商有能力自行進行Openstack方案的整合開發與維護,NSX-T在4版提供到Queens / Rocky的Openstack Neutron Plugin。當然,我們還是建議大家用VIO的啦。

 

NSX-T正式支援的CaaS (Container as a Service) 方案

 

VMware擁抱Kubernetes。NSX-T完整支援Kubernetes的CNI (Container Network Interface) 介面 。用戶可以選擇

 

  • 採用我們商業化的產品VMware PKS。

 

  • 自己刻,NSX-T提供完整功能的NSX Container Plugin來支援Kubernetes所需的網路及安全功能

 

NSX-T官方提供的API

 

作為軟體定義網路方案,NSX-T的API極為完整,應該說所有相關的功能都是先有API,然後才有對應的UI介面。目前NSX-T的完整API文件已經不是用PDF這類的方式呈現,用戶可以直接連到https://code.vmware.com來檢視最新的API說明

NSX-T官方提供的SDK

 

VMware目前提供Java / Python兩種Software Development Kit供用戶採用。如果大家有進行這種開發方式,可以參考下列兩個由VMware NSX Team PM的部落格及Github鏈結,有基礎的Python呼叫方法與Sample Code說明:

 

 

 

NSX-T正式支援的基礎架構自動化編排方案

 

NSX-T Data Center支援現行最廣為使用的開源方案Terraform。

 

其他的組態管理工具

 

以Configuration Management的開源工具來說最有名的是Ansible。目前NSX-T對Ansible有非正式的支援,如果大家有興趣的話可以參考這邊的GitHub: https://github.com/vmware/ansible-for-nsxt

 

這個專案的管理者與Contributor全部是VMware的PM與開發者。但我比較不建議採用這邊的方案,理由是

 

  • 並非產品正式Support,有問題的話大家也沒法開call

 

  • 功能極為有限。裡面的模組主要著重在NSX-T的安裝,而非NSX-T建立好後的架構部署。基本的Logical Switch / Logical Router可以建立,要防火牆 / Load Balancer / NAT這些什麼都沒有

 

那麼接下來,我們要特別針對NSX-T與Terraform的整合進行介紹,並且展示如何透過Terraform建立一個三層式架構的虛機方案,包含網路、安全、負載平衡、虛機建立並打上安全標籤的方式,和大家演示Infrastructure as Code的威力。