1. Terraform là gì?
Terraform là công cụ quản lý cơ sở hạ tầng bằng mã (Infrastructure as code - IaC).
Terraform giúp cho việc triển khai, thay đổi, quản lý thay đổi của cơ sở hạ tầng hiệu quả và an toàn.
2. Terraform workflow
Khởi tạo
- Xây dựng cơ sở hạ tầng bằng code
Plan
- Kiểm tra các thay đổi của cơ sở hạ tầng trước khi triển khai lên cloud
Apply
- Tạo các cơ sở hạ tầng trên cloud
Destroy
- Xoá các cơ sở hạ tầng đã tạo trên cloud
3. Một số command cơ bản
Tải và cài đặt và khởi tạo provider, các module
terraform init
Format và validate syntax của cấu hình hiên tại
terraform fmt terraform validate
Hiển thị những thay đổi của cấu hình hiện tại, cũng như download những module được define trong code
terrafrom plan
Tạo cơ sở hạ tầng trên cloud
terraform apply
Khi đã triển khai xong, terraform sẽ viết dữ liệu của cấu hình vào file có tên là
terraform.tfstate
, dùng command phía dưới để xem thông tin cấu hình cơ sở hạ tầng sau khi triền khaiterraform show
Hiển thị danh sách resource có trong state
terraform state list
Xoá những resource đã triển khai
terraform destroy
4. Tổ chức thư mục Terraform
Chia thành nhiều môi trường
.gitignore
:terraform.tfstate
,terraform.tfstate.*
.terraform.tfstate.lock.info
: terraform sẽ tạo và xoá file này một cách tự động khi chạy commandterraform apply
.terraform
: Terraform sẽ download provider và module khi chạy commandterraform plan
.tfvars
: file lưu những thư mục nhạy cảm