2016-07-05 17 views
12

Tôi đang cố thực thi tập lệnh shell từ xa đầu tiên của mình trên Ansible. Trước tiên tôi đã tạo và sao chép các khóa SSH. Dưới đây là tập tin yml tôi:Ansible: không có máy chủ nào khớp với

--- 
- name: Ansible remote shell 
    hosts: 192.168.10.1 
    user: myuser1 
    become: true 
    become_user: jboss 
    tasks: 
    - name: Hello server 
     shell: /home/jboss/script.sh 

Khi tung ra PlayBook Tuy nhiên, kết quả là "không có host phù hợp":

ansible-playbook setup.yml 

PLAY [Ansible remote shell 
******************************************** 
skipping: no hosts matched 

PLAY RECAP ******************************************************************** 

tôi đã cố gắng cũng bằng cách sử dụng tên máy chủ (thay vì địa chỉ IP), tuy nhiên không có gì thay đổi. Bất kỳ giúp đỡ?

Trả lời

16

Bạn cần xác định khoảng không quảng cáo lưu trữ.

Đường dẫn mặc định cho điều này là /etc/ansible/hosts (như được nêu bởi helloV).

Đối với một ví dụ tối thiểu bạn cũng có thể chỉ định một hàng tồn kho trong các dòng lệnh:

ansible-playbook setup.yml -i 192.168.10.1, 

Các dấu dấu phẩy làm cho nó một danh sách, như vậy mà ansible phân tích nó directy. Nếu không, bạn có thể chạy

ansible-playbook setup.yml -i myinventory 

nơi myinventory là tệp liệt kê máy chủ của bạn.

+0

Cảm ơn bạn đã trả lời loại và cho ví dụ tối thiểu từ dòng lệnh – Carla

+0

Tôi có thể giữ cả hai máy chủ lưu trữ -/etc/ansible/hosts và cũng chỉ định -i hostip? – Illusionist

+0

Tôi không thể tìm thấy '/ etc/ansible/hosts' của mình. Nó liên tục nói với tôi Không tìm thấy thư mục nào –

4

Ansible không biết gì về máy chủ lưu trữ của bạn. Nếu đó là hàng tồn kho năng động, bạn có thể vượt qua các kịch bản kiểm kê sử dụng tùy chọn -i hoặc sửa /etc/ansible/hosts và thêm một mục nhập cho máy chủ của bạn như:

[myhost] 
192.168.10.1 

và chỉ định máy chủ trong playbook như:

hosts: myhost 
+0

Cảm ơn rất nhiều câu trả lời của bạn – Carla

Các vấn đề liên quan