• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
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.

Announcement

Collapse
No announcement yet.

Lab : Sử dụng Ansible thực hiện Check version thiết bị ( Linux )

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lab : Sử dụng Ansible thực hiện Check version thiết bị ( Linux )

    Sơ đồ mạng:

    Click image for larger version  Name:	ansible 01.jpg Views:	0 Size:	13.1 KB ID:	425505

    Mô tả:
    • Sơ đồ gồm 1 Switch và 1 PC đóng vai trò là Ansible Server chạy hệ điều hành Linux. Yêu cầu các thiết bị ping thông tới nhau.
    • Máy tính của học viên đã cài đặt Ansible.

    Yêu cầu:
    • Tạo một Inventory File chứa thông tin thiết bị
    • Tạo một File Playbook để viết kịch bản cấu hình cho thiết bị
    • Thực hiện chạy Playbook để check version và hiện thông báo.

    Các bước thực hiện:

    Cấu hình SSH Switch:
SW# configure terminal

SW(config)# username admin password 123

SW(config)# enable password 321

SW(config)# crypto key generate rsa 1024

SW(config)#line vty 0 4

SW(config-line)# password 123

SW(config-line)# login local

Trên PC chạy Ansible:

Mặc định sau khi install Ansible về máy sẽ nằm trong đường dẫn /etc/ansible. Để thao tác với Ansible chúng ta cần phải di chuyển đến folder chứa Ansible bằng lệnh: cd /etc/ansible

Tiếp theo cần chỉnh sửa một số default setting của Ansible bằng lệnh : vim ansible.cfg. Bỏ dấu # của dòng 14, 36 và 71.

Tạo Inventory File

Có một Inventory file mặc định của Ansible đó là hosts. Chúng ta có thể tận dụng file này để làm file hosts Inventory của mình. Sử dụng lệnh : vim hosts

Khai báo thông số thiết bị như sau :

Click image for larger version  Name:	ansible 02.jpg Views:	0 Size:	31.3 KB ID:	425506

Các thông số đã được giải thích ở bài trước. Có thể tham khảo ở bài viết : Quản lý và triển khai tự động hạ tầng mạng dùng Ansible

Tạo File Playbook

Dùng lệnh : vim check_version.yml để tạo file và edit file check_version được viết bằng ngôn ngữ YAML.

Click image for larger version  Name:	ansible 03.jpg Views:	0 Size:	48.3 KB ID:	425507

Giải thích code:

Ý tưỡng của file code này sẽ là: thu thập thông tin của thiết bị và xuất ra giá trị version hiện tại của thiệt bị, nếu giá trị version xuất ra khác với version mong muốn thì in ra dòng tin nhắn là : Image is not compliant and need to be upgraded

Upgrade_ios_version: là giá trị version mong muốn

Ios_facts: là Module mà Ansible hỗ trợ để thu thập thông tin thiết bị.

Debug: là hàm để in ra màn hình

Msg: là tin nhắn sẽ hiển thị ra màn hình.

Ansible_net_version: là giá trị version của thiết bị. Giá trị này sẽ được trả về sau quá trình thu thập thông tin thiết bị của Module ios_facts. Có thể tham khảo thêm 1 số giá trị khác ở Document của Ansible

4 dòng cuối có ý nghĩa là: sẽ in ra mà hình dòng chữ “Image is not compliant and need to be upgraded” khi (when) giá trị ansible_net_version ( là version hiện tại của thiết bị ) khác với upgrade_ios_version ( version mình mong muốn ), nếu 2 giá trị bằng nhau sẽ Skip.

Chạy Playbook

Dùng lệnh : ansible-playbook check_version.yml để chạy playbook. Ở đây do mình sử dụng Inventory file mặc định của Ansible nên không cần khai báo, nếu sử dụng Inventory khác tự tạo thì sẽ khai báo với cấu trúc lệnh như sau : ansible-playbook -i .

Kết quả :

Khi chạy Playbook với một thiết bị cần upgrade version:

Click image for larger version  Name:	ansible 04.jpg Views:	0 Size:	225.1 KB ID:	425508

Khi chạy Playbook với một thiết bị không cần upgrade version:

Click image for larger version  Name:	ansible 05.jpg Views:	0 Size:	219.2 KB ID:	425509
Last edited by networkdude; 07-01-2022, 09:47 AM.
Tags:

Working...
X