Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [học ansible từ gốc – bạn cần biết những gì?]

    [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:
    • Có thể là macOS, Linux, WSL, hoặc Ansible Automation Platform.
    • Dùng command line hoặc UI như AWX để tương tác.
    2. Engine – Bộ máy xử lý:
    • 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.).
    3. Intent – Cấu trúc logic playbook:
    • 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.
    4. Target – Thiết bị đích:
    • 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.
    ✅ 3. Template thì chia nhỏ
    • Đừ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.
    ✅ 4. Đừng chiến YAML với Notepad!
    • 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.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X