“基礎設施即代碼”是一種通過代碼來定義計算和網絡基礎設施的方法,它可以應用于任何軟體系統中。這樣的代碼放在代碼版本控制系統中,具有可審查性、可重用性,并且符合測試慣例,還完全遵從持續傳遞的原則。該方法已經在過去的十年内廣泛應用于快速增長的雲計算平台中了,而且也将會成為接下來管理計算機基礎設施的主要方式。對于目前而言,我們若想使用基礎設施即代碼的方式在azure中部署資源,通常可以選擇如下工具:
powershell
ansible
puppet
chef
azure resource manager
etc.
除了上述工具以外,我們還可以選擇使用terraform來實作基礎設施及代碼的部署。那麼接下來我們會和大家讨論如何使用terraform從0開始在azure上部署測試環境。本次我們主要讨論使用terraform部署一個資源組和一個帶有兩個子網的vnet
下載下傳并安裝terraform
若要使用terraform實作ica我們需要先下載下傳并安裝terraform,具體可以參考如下連結:
https://www.terraform.io/downloads.html
準備tf檔案
安裝完terraform以後,我們需要建立一些檔案:
main.tf :包含我們要建立的資源以及一些子產品的調用
variables.tf:包含我們要建立資源的值
以下是main.tf,其中包含了一個資源組和一個帶有兩個子網的虛拟網絡:
該variables.tf檔案将包含我們将部署的資源值:
準備好上述檔案以後,我們就應該開始執行部署指令了,首先我們會執行terraform init來初始化項目,這個過程中terraform會幫助我們下載下傳對于的依賴項:
然後我們需要執行terraform plan來檢視我們要在azure訂閱中執行的操作。若我們的tf檔案編寫有問題,也會在這一步的時候顯示出來:
接下來,我們需要運作terraform apply來執行部署:
部署過程中需要我們輸入yes來确認部署:
部署完成如下圖所示:
此時我們可以登陸到azure檢視對應的資源是否建立成功:
如果要删除已經删除的部署,可以運作terraform destroy:
幾分鐘後,所有内容均已被删除: