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 2/4: terraform

    Terraform cho Kỹ sư Hạ tầng hiện đại: Bắt đầu với Core và Providers


    Anh em NetDevOps chắc hẳn đã từng nghe đến Terraform – nhưng liệu bạn đã thực sự hiểu sâu về cách nó hoạt động bên dưới chưa? 1. Terraform là gì? Có gì đặc biệt?


    👉 Terraform (phiên bản mới nhất là 1.9.7) chạy dưới dạng một binary duy nhất – cực kỳ nhẹ và dễ triển khai.
    Bạn chỉ cần tải về và chạy file thực thi từ command line để bắt đầu quản lý hạ tầng như một đoạn mã (Infrastructure as Code).

    Nó làm được gì?
    • Đọc file cấu hình .tf (HCL syntax)
    • Quản lý trạng thái hạ tầng (state)
    • Sinh biểu đồ phụ thuộc (graph)
    • Lên kế hoạch triển khai (terraform plan)
    • Và cuối cùng: thực thi hạ tầng (terraform apply)

    🌐 Cài đặt cực dễ:

    brew tap hashicorp/tap brew install hashicorp/tap/terraform



    Hoặc tải trực tiếp tại: https://developer.hashicorp.com/terraform/install
    2. Terraform không tự hiểu thiết bị mạng đâu!


    Đây là điểm hay nhưng cũng dễ hiểu lầm cho anh em mới làm network automation.

    ➡️ Terraform bản thân nó không biết gì về Cisco IOS XE, Meraki, Catalyst Center, hay SD-WAN cả.

    ➡️ Nó hoạt động nhờ vào các plugin gọi là "Providers".

    Khi bạn chạy terraform init, Terraform sẽ tự động tải về các provider cần thiết theo định nghĩa trong file .tf. Ví dụ:


    terraform { required_providers { iosxe = { source = "CiscoDevNet/iosxe" version = "0.5.5" } } }



    Provider chính là "cầu nối" giúp Terraform gọi đúng API của từng thiết bị hay dịch vụ.
    3. Các loại Terraform Provider và cách chọn cho đúng


    Terraform chia providers thành 3 loại:

    Official: Do chính HashiCorp phát triển (như AWS, Azure, GCP)
    🧩 Partner: Do đối tác phát triển (Cisco ACI, MSO, ASA...)
    🌐 Community: Cộng đồng phát triển (nên test kỹ trước khi dùng production)

    Ví dụ với Cisco SD-WAN hay Catalyst Center, bạn có thể dùng như sau:

    terraform { required_providers { sdwan = { source = "CiscoDevNet/sdwan" version = "0.3.9" } } }


    terraform { required_providers { catalystcenter = { source = "CiscoDevNet/catalystcenter" version = "0.1.9" } } }



    📍 Tất cả đều nằm trên registry:
    https://registry.terraform.io/namespaces/CiscoDevNet
    Kết luận cho anh em DevNet / NetDevOps


    Nếu bạn đang quản lý hàng chục thiết bị Cisco và muốn tự động hóa việc cấu hình – Terraform chính là công cụ nên học ngay từ hôm nay!

    ✔️ Dễ dùng hơn Puppet/Chef
    ✔️ Hỗ trợ nhiều nền tảng Cisco
    ✔️ Có thể kết hợp GitOps, CI/CD và Ansible rất mượt

    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