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

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

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

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

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

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

07-01-2022

Sơ đồ mạng:

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 :

 

 

 

 

 

 

 

 

 

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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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:

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

 


FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0