Chuyển tới nội dung

Terraform – Hashicorp Configuration Language (HCL) basics – Lý thuyết

Phần 1: HCL và Hệ sinh thái HashiCorp

HCL (HashiCorp Configuration Language) là ngôn ngữ của cả một hệ sinh thái DevOps, học 1 nhưng áp dụng cho 5 công cụ: Terraform (.tf): Xây dựng Hạ tầng, Packer (.pkr .hcl) Đóng gói image, Nomad (.nomad) Điều phối App, Consul (.hcl) Kết nối mạng, Vault (.hcl) Quản lý bảo mật.

Phần 2: 7 Thành phần Cốt lõi

Block: Khối

loại "tên" {
  thuộc_tính = giá_trị
}

Attributes: Thuộc tính được viết dạng key = value

tien_tieu_vat = 50000
tam_trang     = "lo_lang"

Data Type: Kiểu dữ liệu

  • String
  • Number
  • Bool

Comment: Ghi chú

# Comment
// Comment
/*
Comment nhiều dòng
*/

Conditionals: Điều kiện

điều_kiện ? giá_trị_nếu_đúng : giá_trị_nếu_sai

variable "env" {
  default = "dev"
}
resource "aws_instance" "app" {
  instance_type = var.env == "prod" ? "t3.large" : "t3.micro"
}

Functión: Hàm

tên_hàm()

Resource dependencies: Tài nguyên phụ thuộc

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
}

resource "aws_instance" "web" {
  subnet_id = aws_vpc.main.id
}

Liên hệ