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 Host Variable trong Ansible để cấu hình hostname cho thiết bị

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

  • Lab: Sử dụng Host Variable trong Ansible để cấu hình hostname cho thiết bị

    Mô tả:
    • 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 ).
    Yêu cầu kỹ thuật:
    • 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ả
    Các bước thực hiện:

    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 )
    Bước 4 : Chạy playbook và kiểm tra

    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
Working...
X