[HỌC ANSIBLE TỪ GỐC – PHẦN 1: BẠN CẦN BIẾT NHỮNG GÌ?]
Bạn là DevOps hay Network Engineer mới bắt đầu với Ansible? Đã bao giờ bạn gặp lỗi mà không biết "nó sai ở đâu"? Hay thấy YAML thì... nổi da gà? 😅 Đừng lo! Hôm nay chúng ta sẽ bắt đầu từ khái niệm nền tảng nhất: Ansible gồm những thành phần gì và các mẹo thực chiến để làm chủ nó.
🧩 Ansible được cấu thành từ gì?
👉 Nhìn vào sơ đồ trong ảnh bạn sẽ thấy Ansible chia làm 4 khối chính: 1. Platform – Môi trường bạn chạy Ansible:
🧠 Tips & Tricks cực đỉnh khi học Ansible (Từ Jason, một network automation expert thực chiến)
✅ 1. Comment out để debug
Đừng chạy cả playbook khi bạn chỉ muốn kiểm tra một task. Dùng # để comment các task còn lại. Cứ kiểm tra từng task một → dễ dàng phát hiện lỗi hơn. ✅ 2. Cẩn thận với biến (variable)
💥 Một vài built-in variables hữu ích:
🎯 Tóm lại:
Ansible không hề khó – chỉ cần bạn hiểu nó gồm những gì, làm việc với nó từng phần một, và có một số mẹo debug đúng chỗ, bạn sẽ thấy automation là một trò chơi rất cuốn.
Bạn là DevOps hay Network Engineer mới bắt đầu với Ansible? Đã bao giờ bạn gặp lỗi mà không biết "nó sai ở đâu"? Hay thấy YAML thì... nổi da gà? 😅 Đừng lo! Hôm nay chúng ta sẽ bắt đầu từ khái niệm nền tảng nhất: Ansible gồm những thành phần gì và các mẹo thực chiến để làm chủ nó.
🧩 Ansible được cấu thành từ gì?
👉 Nhìn vào sơ đồ trong ảnh bạn sẽ thấy Ansible chia làm 4 khối chính: 1. Platform – Môi trường bạn chạy Ansible:
- Có thể là macOS, Linux, WSL, hoặc Ansible Automation Platform.
- Dùng command line hoặc UI như AWX để tương tác.
- Python: Ngôn ngữ nền tảng của Ansible.
- Ansible Core: Chạy các lệnh, task, module.
- Collections: Gói tập hợp các module, plugin, vai trò (role) dành riêng cho một thiết bị hay nền tảng (Cisco, F5, v.v.).
- Inventory: Danh sách thiết bị.
- Tasks: Các bước cần thực hiện.
- Roles: Tổ chức lại các task theo chức năng.
- Có thể là switch, router, hoặc Meraki, Catalyst Center với giao tiếp qua REST API hoặc SSH.
🧠 Tips & Tricks cực đỉnh khi học Ansible (Từ Jason, một network automation expert thực chiến)
✅ 1. Comment out để debug
Đừng chạy cả playbook khi bạn chỉ muốn kiểm tra một task. Dùng # để comment các task còn lại. Cứ kiểm tra từng task một → dễ dàng phát hiện lỗi hơn. ✅ 2. Cẩn thận với biến (variable)
- Ansible phân biệt rõ ràng device và devices.
- Biến có thể nằm ở nhiều nơi: host_vars, group_vars, inventory, playbook.
- Luôn nhớ về "variable precedence": Biến khai báo trong playbook sẽ ưu tiên cao nhất.
- Đừng để một Jinja2 template 500 dòng rồi đau đầu debug.
- Chia theo interface, routing, ACL, etc.
- Dùng công cụ như TD4A (Template Driven for Automation) để test nhanh template + variable ngay trên giao diện web → tiết kiệm cả tá thời gian.
- Dùng VS Code, có highlight YAML, kiểm tra indent, hiển thị dấu cách/tab, cực kỳ dễ nhìn.
- Có lỗi indent? Ctrl + A → Shift + Tab → indent lại từ đầu, đừng cố mò từng dòng.
💥 Một vài built-in variables hữu ích:
- inventory_hostname: tên thiết bị hiện tại.
- Dùng để sinh file output như {{ inventory_hostname }}.cfg cho từng thiết bị → tự động, chuyên nghiệp hơn.
🎯 Tóm lại:
Ansible không hề khó – chỉ cần bạn hiểu nó gồm những gì, làm việc với nó từng phần một, và có một số mẹo debug đúng chỗ, bạn sẽ thấy automation là một trò chơi rất cuốn.