TÌM HIỂU VÀ CÀI ĐẶT ANSIBLE CHO QUẢN TRỊ MẠNG (P1)

TÌM HIỂU VÀ CÀI ĐẶT ANSIBLE CHO QUẢN TRỊ MẠNG (P1)

-  Ansible là 1 framework , thường chạy trên linux, để tự động hóa các task (hoạt động bằng cách ssh vào thiết bị rồi thực hiện lệnh) , tương tự như python nhưng nó có sẵn các template config, mình làm theo là được.

- Chủ yếu dùng tự động hóa các task trên server.

- Nhưng bên network cũng có thể sử dụng được 1 ít, ví dụ backup cấu hình, khai báo cấu hình…

- Link trang chủ: https://www.ansible.com/

Cài đặt ansible trên ubuntu

sudo apt update && sudo apt upgrade -y

sudo apt install software-properties-common

sudo add-apt-repository ppa:ansible/ansible

sudo apt update

sudo apt install ansible

Check lại:

ansible --version

Cài xong sẽ có 2 file quan trọng ở thư mục /etc/ansible

hainm@ubuntu20:~$ ls -lrt /etc/ansible

total 12

drwxr-xr-x 2 root root 4096 Thg 10 26  2022 roles

-rw-r--r-- 1 root root 1094 Thg 11  2 10:20 hosts

-rw-r--r-- 1 root root  685 Thg 11  2 10:27 ansible.cfg

Ví dụ dùng ansible để show run của các router R1, R2:

 

Ta cần khai báo các IP của router trong file /etc/ansible/hosts

[Routers]

R1 ansible_host=192.168.200.11

R2 ansible_host=192.168.200.12

Trong đó ansible_host là từ khóa, còn R1, R2 đặt tùy ý

Ta sửa tiếp file ansible.cfg trỏ về file hosts

[defaults]

inventory = ./hosts

host_key_checking = False

timeout =  5

Gõ: ansible --list-hosts all để thấy hiện ra R1, R2 là được.

Như vậy là đủ để test thử lệnh automation

 

Để test thử lệnh show run trên các router, ta dùng lệnh sau trên ubuntu:

ansible all -m raw -a "show run" -u admin -k

Trong đó

all là chạy lệnh cho tất cả các router trong file hosts

-m raw là module của ansible để gửi lệnh

-a show run là lệnh gửi tới router

-u admin là user ssh của router

-k là ta cần nhập password ssh của router

 

Để lưu vào show run vào file, ta dùng lệnh

ansible all -m raw -a "show run" -u admin -k > /home/hainm/all_show_run.txt

Còn nếu muốn show run lưu từng file cho mỗi router thì cần dùng playbook (phần sau)

Các lệnh trên gọi là ad-hoc command, dùng cho các task đơn giản. Phần sau ta sẽ dùng playbook để tạo các task phức tạp , ví dụ tạo filebackup cho từng router, hoặc router có pass ssh khác nhau.

 

Bài viết cùng danh mục