Kỹ năng xử lý bẫy vận hành Terraform
Bộ cẩm nang "lỗi cụ thể → nguyên nhân → bản sửa dán ngay" cho provisioner Terraform, tách biệt nhiều môi trường và triển khai từ đầu.
Tự động hóaNâng cao★ 1,323⑂ 212Điểm AI 8/10Cập nhật lần cuối: 8 thg 8, 2026
Làm được gì
- Chẩn đoán các lỗi hay gặp với
null_resource,remote-exec,local-exec,fileprovisioner theo dạng thông báo lỗi chính xác → nguyên nhân gốc → đoạn code sửa dán ngay. - Xử lý các điểm vỡ khi dựng máy mới: chờ cloud-init, prompt debconf treo tiến trình, lỗi quyền
EACCEStrên volume, thiếuCREATE DATABASEvà migration, build args củadocker compose. - Tổng hợp bẫy tách biệt môi trường (tài nguyên trùng tên toàn cục, bản ghi DNS trùng gây chia tải sai ~50%, snapshot lẫn giữa các môi trường).
- Danh sách kiểm tra trước
terraform apply: domain hardcode, biến môi trường bắt buộc, định dạng Cloudflare API Token, bản ghi DNS, khóa SSH.
Dành cho ai
- Kỹ sư hạ tầng/DevOps dùng Terraform tạo VM rồi chạy stack Docker Compose bên trong.
- Người vận hành gateway Caddy phát hành TLS qua Cloudflare DNS-01.
- Ai đang mắc tình huống production chạy tốt nhưng môi trường staging mới lại lỗi.
Ví dụ sử dụng
- Gặp
docker: not foundtrongremote-exec→ nhận ngay block provisioner cócloud-init status --waitvà cổng kiểm tra. - Container liên tục
Restartingsauterraform apply→ kiểm tra quyền volume (uid 1001) rồi tới thiếu database/migration. - TLS lỗi chỉ ở staging → chuyển domain hardcode sang
{$VAR}trong Caddyfile,${VAR:?required}trong compose và xác thực tokencfut_.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/daymade/claude-code-skills/HEAD/terraform-skill/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục terraform-skill từ repo GitHub daymade/claude-code-skills vào ~/.claude/skills/terraform-skill/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/daymade/claude-code-skills.git /tmp/claude-code-skills && mkdir -p ~/.claude/skills && cp -r /tmp/claude-code-skills/terraform-skill ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và clone repo:
git clone https://github.com/daymade/claude-code-skills.git - Tạo thư mục skill:
mkdir -p ~/.claude/skills - Sao chép skill này:
cp -r claude-code-skills/terraform-skill ~/.claude/skills/ - Kiểm tra thư mục
references/(multi-env-isolation.md, pre-deploy-validation.md...) đã được copy kèm. - Khởi động lại Claude Code, rồi thử hỏi: "provisioner remote-exec báo docker not found, sửa sao?"
- Nhớ thay các biến ví dụ như
LOBEHUB_DOMAINbằng giá trị của dự án bạn.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT