Mô tả:
Bước 1 : Khai báo thông tin thiết bị trong file inventory ( ở lab này sử dụng file inventory mặc định của Ansible )
( Các câu lệnh đã được giải thích trong bài làm quen với Ansible )
Bước 2 : Tạo một thư mục với tên host_vars ( đây là tên thự mục mặc định Ansible quy định nên phải khai báo đúng như vậy ), sau đó di chuyển đến thư mục host_vars vừa tạo bằng lệnh cd.
Tạo 2 file variable cho 2 router vừa khai báo với cấu trúc đặt tên file là <inventory_hostname>.yml
Nội dung file R1.yml : Khai báo hostname muốn đặt cho Router 1
Nội dung file R2.yml : Khai báo hostname muốn đặt cho Router 2
Bước 3 : Viết Playbook cấu hình với tên hostname.yml
Giải thích :
Cấu hình ban đầu của R1 :
Cấu hình ban đầu của R2 :
Dùng câu lệnh ansible-playbook hostname.yml để thực thi playbook ( ở đây do sử dụng inventory file mặc định của Ansible nên không cần khai báo )
Đã thực hiện cấu hình thành công trên R1 và R2
Kiểm tra :
R1 đã được đổi hostname thành R1-demo
R2 đã được đổi hostname thành R2-demo
Hoàn thành.
Thank you.
- Sơ đồ bài thực hành gồm máy Workstation cài đặt Ansible và 2 router
- Tạo một thư mục bao gồm 3 file
- Inventory File ( chứa thông tin host cần cấu hình ).
- File host_vars ( chứa thông tin các giá trị cần cấu hình ).
- Playbook ( chứa các bước cấu hình ).
- Học viên thực hiện khai báo thông tin các host
- Học viên thực hiện viết cấu hình Playbook để cấu hình cho các host sử dụng file giá trị host_vars.
- Kiểm tra kết quả
Bước 1 : Khai báo thông tin thiết bị trong file inventory ( ở lab này sử dụng file inventory mặc định của Ansible )
( Các câu lệnh đã được giải thích trong bài làm quen với Ansible )
Bước 2 : Tạo một thư mục với tên host_vars ( đây là tên thự mục mặc định Ansible quy định nên phải khai báo đúng như vậy ), sau đó di chuyển đến thư mục host_vars vừa tạo bằng lệnh cd.
Tạo 2 file variable cho 2 router vừa khai báo với cấu trúc đặt tên file là <inventory_hostname>.yml
Nội dung file R1.yml : Khai báo hostname muốn đặt cho Router 1
Nội dung file R2.yml : Khai báo hostname muốn đặt cho Router 2
Bước 3 : Viết Playbook cấu hình với tên hostname.yml
Giải thích :
- hosts: Router có nghĩa là playbook này sẽ được thực thi trên các host hiện đang có trong group Router được khai báo trong inventory ( cụ thể ở đây là 2 thiết bị R1 và R2 )
- gather_facts: no là dòng mặc định có khi cấu hình thiết bị mạng vì Ansible không thu thập thông tin của thiết bị mạng.
- Dùng module ios_config và dùng command là lines để cấu hình hostname cho thiết bị với cấu trúc lệnh : hostname {{ hostname.name }}
- Ansible sẽ tìm trong thư mục host_vars và lấy dữ liệu các file variable của các host trong group Router.
- Sau đó sẽ trả về giá trị lấy được từ key hostname -> name ( R1 là R1-demo và R2 là R2-demo )
Cấu hình ban đầu của R1 :
Cấu hình ban đầu của R2 :
Dùng câu lệnh ansible-playbook hostname.yml để thực thi playbook ( ở đây do sử dụng inventory file mặc định của Ansible nên không cần khai báo )
Đã thực hiện cấu hình thành công trên R1 và R2
Kiểm tra :
R1 đã được đổi hostname thành R1-demo
R2 đã được đổi hostname thành R2-demo
Hoàn thành.
Thank you.
Nguồn : VNPRO