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

承上篇,本系列內我們要以一個典型的三層式虛機架構的部署,來展示NSX-T Data Center搭配Terraform方案的快速自動化編排。但做這些事前首先第一個問題,什麼是Terraform?有那麼多自動化方案,為什麼是Terraform?

 

Terraform是Hashicorp公司於2014年啟動開發並進行維護的開源專案,目前可以說是在開源社群內最廣為使用的Infrastructure as Code工具之一,最主要在於基礎架構的自動化編排 (Orchestration) 功能。通常在我們討論Orchestration方案時,強調的是此工具除了可以快速配置出需求的基本架構,同時還能夠記錄管理者所需求的狀態 (State) 。當現實狀態與需求的狀態有不同時,管理者能夠很容易地透過這類工具,把IT環境恢復到需求的配置上。

 

舉例來說,當你利用了一個Orchestration工具定義要有五台虛機,各自要接在哪些網路上,防火牆規則是如何。管理者可以隨時透過Orchestration工具來要求系統回歸到需求的State。如果任何人移除了兩台虛機,修改了某條防火牆規則,Orchestration工具可以很容易地偵測到異動,並且回復到管理者原先要求的配置。

 

Terraform與Ansible這類Configuration Management工具的著重點不同,重點在於配置、記錄及維持狀態。Ansible / Chef等Configuration Management的工具更著重在單一構件的配置與維護,比如說一個虛機上要依序安裝哪些應用,但對於整體Infrastructure的運作完整性功能及狀態的紀錄,沒有Orchestration這類的工具著重。

 

Terraform近年被廣為使用是由於下列這幾點:

 

  • 以要達成基礎架構自動化編排作業上,Terraform是開源、易於使用、資源易尋、且容易取得商業支援的方案

 

  • Terraform的Echo-System是最完善的,有將近百家IT廠商及公有雲方案提供其基礎架構的介接

 

  • Terraform的學習快速且直覺,易於DevOps Automation Architect上手及使用

 

在Terraform內,不同的公有雲、私有雲、網路、資料庫等等方案叫做Providers。VMware目前與Terraform的合作總共有三個Providers:VMware vCloud Director / VMware vSphere / VMware NSX-T。在後面的例子內我們會使用VMware NSX-T及VMware vSphere這兩個Provider。在本文寫作時,NSX-T Data Center對Terraform的Provider剛剛release最新的版本,已經包含了下列的功能:

 

  • Logical Switch – 邏輯交換器

 

  • Logical Router – Tier0 / Tier1邏輯路由器

 

  • Firewall and NSGroup – 微分段分散式防火牆 / 安全群組

 

  • Load Balancer – 負載平衡機制

 

  • NAT – 網路地址轉換機制

 

  • DHCP and DHCP Relay – IP配發及轉送機制

 

NSX-T Provider的相關模組可以參考下列網頁: https://www.terraform.io/docs/providers/nsxt/index.html 。此模組目前可以支援NSX-T 2.2到2.4最新版本的環境。

後面我們會利用Terraform的NSX-T Provider以及vSphere Provider,從一個空空地只有T0 Router與實體網路介接完畢的環境,如下圖:

 

到把三層式虛機環境,包含對應到此應用的T1 Router / Web-AP-DB網段 / 安全群組 / 防火牆規則 / 負載平衡器 / 需求的虛機 / 安全標籤 等都配置出來,如下所示:

 

那下一篇網誌開始我們就和大家進行展示說明。