更新於 2023/04/24閱讀時間約 2 分鐘

terraform-ansible

簡介🧑🏻‍💻

最近在研究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的狀態
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.