-1

[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

image.png

  • 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 khai

    terraform 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 command terraform apply
    • .terraform : Terraform sẽ download provider và module khi chạy command terraform 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

image.png


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí