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.