[Terraform] Terraform Basic
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
- Viết code
- 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 provider
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. Lưu ý
- Không public những file này, thêm vào
.gitignore
:terraform.tfstate
,terraform.tfstate.*
.terraform.tfstate.lock.info
: terrform 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
- Cấu trúc Repository của cơ sở hạ tầng bằng code triển khai trên terraform:
- Chia thành nhiều môi trường
All rights reserved