Trang chủ Thủ thuật

Hướng dẫn liệt kê các biến của một Host trong Ansible

Hướng dẫn liệt kê các biến của một Host trong Ansible

Trong trường hợp bạn cần kiểm tra các thông tin biến đã gán cho host trong file inventory host Ansible hoặc các thông tin facts hữu ích, bạn sẽ cần biết cách phải làm sao để tìm được chúng. Làm theo hướng dẫn sau đây, bạn sẽ có thể liệt kê và tìm được biến mình cần.

Có nhiều nguồn có thể xác định được các biến Ansible trong đó. Hầu hết các biến này đều có thể được hiển thị thông qua các module setup, nhưng vẫn còn nhiều biến hơn nữa có thể tìm được. 

Ví dụ: nếu bạn sử dụng dynamic inventory script to access a Satellite server, có nhiều biến như organization được cung cấp thông qua inventory script - và các biến này không được hiển thị trong quá trình thiết lập thông thường.

Để nhận tất cả các biến của máy chủ, hãy sử dụng ghi chú sau:

---

- name: dump all

  hosts: all

  tasks:

  - name: get variables

    debug: var=hostvars[inventory_hostname]

Sử dụng lệnh này trong quá trình debug để tìm hiểu xem các biến mà bạn đã đặt ở đâu đó thực sự có thể truy cập được trong playbook của bạn hay không.

Dưới đây là 4 biến có thể sử dụng nhiều:

- inventory_hostname: là hostname của host được cấu hình trong file inventory host.

- group_names: group_names là danh sách (mảng) của các group mà host đó đang thuộc về. Thường áp dụng nhiều cho template Jinja2.  

- groups: danh sách các group trong file inventory host. Bạn có thể sử dụng để lấy thông tin các host trong một group.  

- inventory_hostname: là hostname của host được cấu hình trong file inventory host.  

Áp dụng cấu trúc cú pháp module debug để tìm toàn bộ biến:

 -name:Hien thi toan bo bien/fact lien quan toi host

debug:

var:hostvars[inventory_hostname]

Ví dụ

 – File inventory host với một số thông tin biến khai báo kèm.

# cat hosts.txt

webserver HOSTNAME="load-balance"ansible_host="192.168.1.1"ansible_port="22"

Theo VCCloud tổng hợp

>> Tham khảo thêm: Hướng dẫn sử dụng lệnh Ansible Ad-hoc cơ bản