Tự động hóa với Bộ sưu tập Ansible, bước tiếp theo trong hành trình tự động hóa mạng của bạn

Bộ sưu tập Ansible SmartFabric OS10

Bộ sưu tập Ansible Dell SmartFabric OS10 có rất nhiều thứ để cung cấp cho việc tự động hóa mạng của Dell PowerSwitches. Trong blog này, tôi sẽ tìm hiểu sâu hơn một chút về vai trò của Bộ sưu tập Ansible. Ansible đã tiếp tục phát triển qua nhiều năm và tôi có thể nói từ kinh nghiệm của mình rằng việc giới thiệu về Ansible lúc đầu có thể hơi choáng ngợp.

Tài liệu Ansible được tổ chức tốt đã giúp tôi hiểu cách hoạt động của Ansible và nhanh chóng bắt đầu.

Thiên hà Ansible gần tôi

Tôi muốn đề cập rằng phần quan trọng nhất của quá trình phát triển Ansible là sự ra đời của Bộ sưu tập Ansible. Ansible Collection là một phương pháp đơn giản hơn để đóng gói và phân phối nội dung Ansible. Bộ sưu tập Ansible chứa các tài nguyên hữu ích: tệp readme, mô tả tham số mô-đun và vai trò cũng như các ví dụ về sổ tay Ansible. Bộ sưu tập Dell SmartFabric OS10 có nhiều mô-đun, vai trò và plugin cho phép bạn định cấu hình các thiết bị Dell PowerSwitch của mình bằng nhiều ví dụ về sách giải trí.

Khung Ansible có các vai trò, mô-đun và plugin tích hợp phổ biến có trên nút điều khiển Ansible của bạn. Phần mở rộng cho điều đó là Bộ sưu tập Ansible Dell SmartFabric OS10 bao gồm các vai trò, mô-đun, plugin cụ thể để cung cấp Dell PowerSwitch. Kết hợp lại, chúng là các thành phần tạo ra sổ tay YAML, tệp kiểm kê, tệp var nhóm và tệp var máy chủ được sử dụng để quản lý các thiết bị chuyển mạch Dell SmartFabric của bạn. Ansible là một dự án nguồn mở và phương pháp phân phối ngược dòng của cộng đồng dành cho Bộ sưu tập là trang web Ansible Galaxy, nơi bạn có thể truy cập Bộ sưu tập Dell SmartFabric OS10 . Kho lưu trữ cho Bộ sưu tập Ansible Galaxy và Bộ sưu tập Dell SmartFabric OS10 có trên trang web GitHub. Không gian tên Bộ sưu tập Dell SmartFabric OS10 hiện tại để tìm kiếm trên GitHub là delemc.os10 . Tài liệu Bộ sưu tập Dell SmartFabric OS10 cung cấp cái nhìn tổng quan tuyệt vời và các liên kết đến từng vai trò.

Bắt đầu với Readme

Tôi muốn chỉ ra rằng các bộ sưu tập và vai trò đều có readme riêng. Bộ sưu tập readme cung cấp một cái nhìn tổng quan tốt về bộ sưu tập. Vai trò readme cung cấp thông tin chi tiết về từng vai trò, vì vậy chúng ta hãy tìm hiểu sâu hơn về vai trò readme này. Mỗi readme vai trò sẽ giải thích rõ hơn về các biến vai trò, tham số và giá trị khóa. Mỗi tham số khóa có một mô tả ngắn hoặc ghi chú về cách sử dụng khóa vai trò. Vai trò readme bao gồm tất cả thông tin quan trọng được giải thích trong một bảng dễ đọc. Ví dụ về từng loại khóa được cung cấp, cho dù đó là chuỗi, danh sách, số nguyên, giá trị Boolean, giá trị trạng thái hay từ điển. Tôi thực sự khuyên bạn nên xem lại ví dụ về cẩm nang về vai trò để hiểu rõ về cách cấu trúc vai trò và các tham số của vai trò đó.

Thông thường có nhiều tham số chính cho mỗi vai trò. Mỗi vai trò có thể yêu cầu một loạt khóa và giá trị để mô tả trạng thái dự kiến ​​mà cẩm nang sẽ kiểm tra trên thiết bị. Thông thường, chuỗi cặp khóa:giá trị là một phần của tệp Host_vars cho mỗi thiết bị được playbook truy cập. Việc sử dụng các vai trò mang lại sự linh hoạt cho playbook và tệp Host_vars để tự động hóa mạng của bạn.

Thông tin có giá trị khác được cung cấp trong vai trò readme là phần biến kết nối. Phần này cung cấp thông tin cần thiết để liên lạc với switch của bạn. Bạn có thể đặt thông tin kết nối vào tệp Host_vars , tệp kiểm kê hoặc sổ tay.

Sách hướng dẫn mẫu cung cấp thông tin chi tiết nhất về cách bộ sưu tập tương tác với công tắc được quản lý của bạn. Playbook mẫu giải thích các thành phần và cách hoạt động của vai trò bên trong playbook cũng như các tương tác với tệp switch Inventory, switch hosting_vars và switch group_vars . Sách hướng dẫn ví dụ cung cấp thông tin chi tiết về cú pháp và khoảng cách của từng cặp khóa:giá trị để giúp bạn bắt đầu và thực hiện.

Cho tôi xem vai trò

Ví dụ sau đây là đoạn trích từ vai trò Vlan , trong Bộ sưu tập Dell SmartFabric OS10.

Vai trò này tạo điều kiện thuận lợi cho việc định cấu hình các thuộc tính mạng LAN ảo (VLAN). Nó hỗ trợ việc tạo và xóa Vlan và các cổng thành viên của nó. Vai trò này được trừu tượng hóa đối với nền tảng Dell PowerSwitch chạy Dell SmartFabric OS10.

Vai trò Vlan yêu cầu kết nối SSH để kết nối với thiết bị Dell SmartFabric OS10. Bạn có thể sử dụng bất kỳ biến kết nối hệ điều hành tích hợp nào.

    • Vai trò của các biến vai trò ví dụ  (xem vai trò Vlan để biết danh sách đầy đủ) vai trò được trừu tượng hóa bằng cách sử dụng biến ansible_network_os có thể lấy delemc.os10.os10 làm giá trị.
    • os10_vlan (từ điển) giữ khóa có khóa Vlan ID và khóa Vlan mặc định.
    • Khóa Vlan ID phải ở định dạng ” vlan ID ” (1 đến 4094)
    • Các biến và giá trị có phân biệt chữ hoa chữ thường

Bảng 1: Khóa ID VLAN

Chìa khóa Kiểu Ghi chú Ủng hộ
Sự miêu tả sợi dây Định cấu hình mô tả một dòng cho Vlan os10
được gắn thẻ_thành viên danh sách Chỉ định danh sách các thành viên cổng được gắn thẻ vào Vlan tương ứng os10

Lưu ý : Xem vai trò VLAN để có bảng đầy đủ.

Các vai trò mạng Ansible Dell yêu cầu thông tin kết nối để thiết lập liên lạc với các nút trong kho của bạn.

Bảng 2: Ví dụ về biến kết nối

Chìa khóa Yêu cầu Lựa chọn Sự miêu tả
ansible_host Đúng không áp dụng Chỉ định tên máy chủ hoặc địa chỉ để kết nối với thiết bị từ xa qua đường truyền được chỉ định
ansible_ssh_user KHÔNG không áp dụng Chỉ định tên người dùng xác thực thông tin đăng nhập CLI để kết nối với thiết bị từ xa; nếu giá trị không được chỉ định, giá trị biến môi trường ANSIBLE_REMOTE_USER sẽ được sử dụng

Lưu ý : Xem vai trò VLAN để có bảng đầy đủ.

Sách hướng dẫn ansible

Chúng ta hãy kết thúc cuộc thảo luận này bằng Playbook. Một ví dụ về playbook với một tệp máy chủ đơn giản và một tệp kho lưu trữ được hiển thị bên dưới.

Ví dụ về tệp playbook.yaml:

– máy chủ: os10_switches

  kết nối: network_cli

  bộ sưu tập:

    – dellemc.os10

  vai trò:

    – os10_vlan

Ví dụ Host_vars/os10_sw1.yaml

tên máy chủ: os10_sw1

# Tham số cho kiểu kết nối network_cli

ansible_ssh_user: xxxx

ansible_ssh_pass: xxxx

ansible_network_os: dellemc.os10.os10

# Tạo vlan100 và xóa vlan888

os10_vlan:

    vlan 100:

      mô tả: “Nhóm cạnh1”

      trạng thái: hiện tại

    vlan 888:

      trạng thái: vắng mặt

Ví dụ về tệp Inventory.yaml:

[os10_sw1]

os10_sw1 ansible_host=100.104.28.119

[os10_sw2]

os10_sw2 ansible_host=100.104.28.120

[os10_switches:trẻ em]

os10_sw1

os10_sw2

Chạy sổ tay

 Chạy playbook bằng cú pháp Ansible-playbook đơn giản sau:

Ansible-playbook -i Inventory playbook.yaml

Phần kết luận

Tôi khuyên bạn nên bắt đầu hành trình tự động hóa và đổi mới của mình ngay bây giờ. Bộ sưu tập Dell SmartFabric OS10 cung cấp rất nhiều tùy chọn để đưa vào hành trình tự động hóa Ansible cho các thiết bị Dell PowerSwitch cũng như hệ sinh thái Tự động hóa DevOps và NetOps tổng thể của bạn. Truy cập trang web Ansible Galaxy để xem lại vai trò và thông tin chi tiết về Bộ sưu tập Dell SmartFabric OS10. Một tài nguyên quan trọng khác là Trung tâm thiết kế Dell Fabric, nơi bạn có thể tương tác và xây dựng kết cấu mạng của mình cũng như tải xuống các cấu hình chuyển đổi ở định dạng bộ sưu tập Playbook OS10 hoặc Ansible.