terraform-ansible

閱讀時間約 2 分鐘

簡介🧑🏻‍💻

最近在研究terraform與ansible的整合,不過還在摸索中,機器的版控對於維運來講相對重要,這時候有terraform的出現,在建立機器後會隨之產生機器的狀態檔,而ansible則是在建立好機器後幫助我完成我所需的機器相關設定
這是一款terraform結合ansible的小玩具,在gcp環境下使用terraform幫我建置好機器,接著使用local exec執行ansible的playbook完成機器的設定

資料夾結構

├───ansible-playbook
│ ├───group_vars
│ │ └───all
│ ├───roles
│ │ ├───instance
│ │ │ └───tasks
│ │ └───ops_agent
│ │ └───tasks
│ └───vars
│ └───instance
├───modules
│ └───main.tf
│ └───variables.tf
└───roles
└───general
└───general.tf
  • ansible-playbook:放置ansible相關工具
  • modules:放置主要使用的resource以及定義好的變數
  • roles:放置自定義參數

使用指南

先建立gcp sa給terraform可以有建立vm的權限,接著可以下
  • terraform init -> 先讓terraform下載相關的repo
  • terraform plan -> 查看terraform會做哪些事情,一開始都會先去檢查狀態檔,最上面代表動作,此範例為create,最下面的plan代表總共有4個resource會add
  • terraform apply -> 建立機器指令,apply一樣會把plan的部分也顯示出來,並詢問是否要繼續,打上yes後便會開始建置機器
  • terraform destroy -> 機器建立完要刪除時下這指令,destroy一樣會去檢查狀態檔,這次的動作為destroy,最下面的plan顯示4個資源會被destroy
  • terraform show -> 可以顯示當前terraform的狀態
為什麼會看到廣告
17會員
78內容數
golang
留言0
查看全部
發表第一個留言支持創作者!
wang alan的沙龍 的其他內容
K8s-Monitor
閱讀時間約 3 分鐘
k8s-reloader
閱讀時間約 11 分鐘
Centos 7 安裝gitlab
閱讀時間約 1 分鐘