tôi sử dụng ansible và yêu nó. Điều thực sự thu hút tôi lúc đầu là ansible_facts. Một vở kịch đơn giản sẽ trả về một lượng thông tin đáng sợ về một hệ thống nhất định. Ban đầu, tôi chỉ lưu đầu ra và grep'd nó cho giá trị cốt lõi
cặp tôi muốn. Có lẽ có một cách tốt hơn để làm điều đó.
Trong ví dụ cấu hình đơn giản nhất, bạn giữ một "kho" các máy chủ mà bạn muốn chạy Ansible trên đó. Đó là một cái gì đó như:
[my_hosts]
máy chủ1.mydomain.com
host2.mydomain.com
...
Sau đó, bạn có thể chạy "playbook" Ansible trên my_hosts
và nó sẽ tấn công mọi máy chủ mà bạn đã cấu hình trong khối đó. Playbook chỉ là một cấu hình YAML chứa các lệnh, biến và định dạng mà Ansible hiểu được. Nó không phải là một kịch bản shell. Đó là một "cách" để cho Ansible biết phải làm gì trên máy chủ lưu trữ. Tôi phải mất một lúc để quấn lấy nó.
Một lần nữa, để đơn giản, bạn có thể tạo một playbook chạy lệnh shell và chạy playbook đó trên mọi máy chủ. Đây là một vở kịch "thời gian hoạt động" mà tôi thường sử dụng.
---
- máy chủ: tất cả
thu thập_facts: sai
nhiệm vụ:
- tên: thời gian hoạt động của máy chủ
vỏ: thời gian hoạt động
đăng ký: đầu ra
- gỡ lỗi: var=output.stdout_lines
# in một dòng được định dạng để khai thác grep/sed
- gỡ lỗi: msg="grepme {{ inventory_hostname }}:{{ output.stdout_lines}}"
Mọi thứ liên quan nhiều hơn đến điều này nhưng thật khó khăn khi bắt đầu lần đầu tiên. Giữ mọi thứ đơn giản chỉ bằng các lệnh shell có thể khiến bạn bị ướt chân nhưng một khi bạn đã vượt qua những điều đơn giản, bạn nên xem xét nhiều cách "Ansibly" hơn để thực hiện những việc phức tạp hơn và khó làm việc hơn, nhưng chúng sẽ mang lại hiệu quả.