Skip to content
OMZ logo

Back to ansible

Kiểm tra nhanh toàn hệ thống với Ansible Ad-hoc

Đặng Văn Đại

@daikk115

Tuy nhiên, không phải lúc nào chúng ta cũng cần thực thi một tập lệnh và chúng ta cũng không nhất thiết/không muốn phải viết playbook.yml khi mà chỉ có 1 lệnh cần thực thi chẳng hạn. Ví dụ bạn cần chạy nhanh một lệnh kiểm tra kernel version (uname -a) hay hiển thị số core các server ra màn hình (cat /proc/cpuinfo | grep processor | wc -l).

Ansible Ad-Hoc là thứ chúng ta cần trong các trường hợp trên

  • Thực hiện nhanh chóng
  • Không cần tạo và lưu trữ file playbook

Thay vì tạo file playbook như bên dưới và chạy lệnh: ansible-playbook -i inventory ls-la.yml

cat << EOF > ls-la.yml
- hosts: group1
  gather_facts: false
  tasks:
    - shell: ls -la
      register: output
    - debug:
        msg: "{{ output.stdout_lines }}"
EOF

Chúng ta chỉ đơn giản là

$ ansible <tên group> -i <file inventory> -m shell -a "ls -la"
$ ansible group1 -i inventory -m shell -a "ls -la"

Sau đây là một số ví dụ:

$ ansible group1 -i inventory -m shell -a "cat /proc/cpuinfo | grep processor | wc -l"
10.240.202.205 | SUCCESS | rc=0 >>
2
$ ansible group1 -i inventory -m shell -a "uname -a"
10.240.202.205 | SUCCESS | rc=0 >>
Linux trangttht-test 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux