Tuyên bố miễn trừ trách nhiệm: Tôi chỉ thử nghiệm điều này trên OSX. Dựa trên các tài liệu khác nhau, tôi hy vọng nó hoạt động trên các nền tảng khác.
"thư mục dự án" đề cập đến thư mục cơ sở cho dự án Vagrant - thư mục chứa Vagrantfile
.
Tệp Ansible Inventory được tạo tự động bởi Vagrant:
Vagrant tạo một tệp kiểm kê với các vars kết nối Ansible mặc định. Hãy tìm nó trong <project directory>/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
.
Tập tin này sẽ được tái tạo bởi Vagrant khi cần, vì vậy các chỉnh sửa thủ công sẽ bị ghi đè. Tuy nhiên, theo tài liệu của Vagrant, bạn có thể chỉ định nhiều máy, vars nhóm, v.v. Vagrantfile
và chúng sẽ được thêm vào tệp kiểm kê này.
Cấu hình Ansible để mặc định cho tệp kho này:
Để đặt tệp này thành mặc định được sử dụng bởi ansible
lệnh khi bạn đang ở trong thư mục dự án (trên máy chủ), hãy thêm một ansible.cfg
tệp trong thư mục dự án của bạn với các nội dung này, thay đổi đường dẫn khi cần:
[defaults]
inventory = ./path/to/inventory
Để xác nhận rằng tệp kiểm kê này đang được sử dụng, hãy tìm tệp này như mặc định được báo cáo bởi ansible:
(từ trong thư mục dự án)
$ ansible | grep inventory
ERROR! Missing target hosts
-i INVENTORY, --inventory-file=INVENTORY
specify inventory host path (default=./.vagrant/provis
ioners/ansible/inventory/vagrant_ansible_inventory) or
Để xác nhận máy chủ của bạn:
$ ansible all --list-hosts
hosts (2):
master
slave
Sử dụng Ansible với các máy chủ này:
Từ trong thư mục dự án, sau đó bạn sẽ có thể sử dụng ansible
như bình thường với các máy chủ mà bạn đã xác định Vagrantfile
.
Ví dụ:
ansible slave -a 'hostname'
~/.ssh/config