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

  • Bài 1/2: Các công cụ quản lý cấu hình

    🔥 Tự Động Hóa Cấu Hình Mạng: Khi YAML Gặp Switch và Router! 🔥
    Bài viết dành cho anh em NetDevOps, Automation Engineer và những ai đã từng "mò mẫm CLI giữa đêm khuya chỉ để sửa một cái VLAN."

    Trong một buổi tối yên tĩnh, bạn nhận được cuộc gọi từ bộ phận vận hành: “Anh ơi, cần thêm VLAN 200 vào 20 thiết bị Core trong vòng 30 phút nữa!”
    Nếu bạn vẫn đang làm tay, copy-paste CLI từ notepad rồi ssh từng con switch một – thì bài viết này là dành cho bạn.
    Vấn đề đặt ra:


    Triển khai mạng thủ công = chậm, dễ sai, khó mở rộng.

    Giải pháp? Công cụ Quản lý Cấu hình (Configuration Management Tools). Những công cụ này chính là "trợ lý tự động" cho hạ tầng của bạn. Chúng giúp:

    ✅ Triển khai cấu hình cho hàng trăm/thậm chí hàng ngàn thiết bị cùng lúc
    ✅ Đảm bảo trạng thái cuối mong muốn (Desired State)
    ✅ Tự động rollback, kiểm tra lỗi, push config, kiểm tra version
    ✅ Tích hợp vào CI/CD workflow như một phần của NetDevOps pipeline
    Phân loại công cụ quản lý cấu hình
    • Agent-based: Cần cài "tác nhân" trên thiết bị. → Khó áp dụng cho thiết bị mạng truyền thống (không hỗ trợ OS/Linux).
    • Agentless: Giao tiếp qua SSH, API → Phù hợp với switch, router, firewall. Ví dụ: Ansible.
    • Proxy-agent: Không cài lên từng thiết bị, nhưng cần một node trung gian (proxy) để điều phối, thường thấy ở SaltStack.

    Ví dụ thực chiến


    Bạn muốn kiểm tra version IOS của 500 thiết bị Cisco, sau đó update nếu phát hiện phiên bản lỗi thời?
    Với Ansible + YAML:

    - name: Check and upgrade IOS
    hosts: core_switches
    gather_facts: no tasks:
    - name: Get IOS version
    ios_facts: - name: Upgrade if version is old
    ios_upgrade: src: ios_image.bin
    force: yes when: ansible_net_version != "17.9.4"



    Vài dòng code YAML thôi, là bạn đã điều phối hàng loạt thiết bị mà không cần lập trình kiểu Python, Bash...
    Vì sao phải dùng những công cụ này?
    • Đồng nhất cấu hình toàn hệ thống
    • Tăng tốc độ triển khai ứng dụng mới
    • Giảm thiểu lỗi do con người
    • Chuẩn hóa các quy trình NetOps
    • Kết nối với CI/CD để auto-deploy mạng theo từng lần commit (NetDevOps thật sự)

    Những công cụ phổ biến bạn nên biết
    • Ansible – Agentless, dễ học, rất mạnh cho mạng.
    • Terraform – Khai báo hạ tầng cloud, nhưng cũng hỗ trợ networking thông qua provider.
    • Puppet & Chef – Mạnh ở server/app nhưng áp dụng cho mạng hơi hạn chế.
    • SaltStack – Hybrid giữa push/pull, có thể dùng proxy-agent.


    💡 Gợi ý học tập & lab:
    Bắt đầu với Ansible để automate cấu hình switch/router. Kết hợp thêm Git + GitLab CI để xây dựng pipeline NetDevOps. Hãy thử build playbook để:
    • Backup config định kỳ
    • Deploy VLANs theo file CSV
    • Tự động kiểm tra lỗi security trên ACL


    Kết luận:
    Nếu bạn từng tốn 1 giờ để add một VLAN, thì chỉ cần vài dòng YAML, bạn có thể làm việc đó trong vài giây, trên toàn mạng.
    Thế giới đang chuyển mình với Infrastructure as Code – và mạng lưới cũng không nằm ngoài cuộc chơi này.

    🧠 Bạn không cần phải là developer để làm DevOps – bạn chỉ cần công cụ phù hợp và mindset tự động hóa.
    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