Skip to content

Packer

Template Packer để build GCE image, đặt tại thư mục packer/.

Thành phần

File Nội dung
nginx.pkr.hcl Source googlecompute + provisioner cài nginx
variables.pkr.hcl Biến: project_id, zone, source_image_family, machine_type, ssh_username
locals.pkr.hcl Tên image sinh tự động: nginx-YYYYMMDD-hhmmss
versions.pkr.hcl Ràng buộc phiên bản plugin googlecompute

Image nginx

Base image: debian-12. Provisioner shell chạy:

sudo apt-get update -qq
sudo apt-get install -y nginx
sudo systemctl enable nginx

Image build ra có tên dạng nginx-<timestamp>, dùng làm vm_disk_image cho VM tri-vm-2 trong Terraform.

Sử dụng

cd packer
packer init .
packer validate .
packer build -var "project_id=user-twfljuofjeac" .

Sau khi build xong, cập nhật biến vm_disk_image trong terraform/variables.tf (hoặc truyền qua -var) để VM dùng image mới, rồi terraform apply lại.