2016-07-05 1 views
12

저는 Anterior에서 첫 원격 쉘 스크립트를 실행하려고합니다. 먼저 SSH 키를 생성하고 복사했습니다. "어떤 호스트가 일치하지 않습니다"가능 : 호스트가 없습니다.

--- 
- 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 

그러나 작전을 실행, 결과는 다음과 같습니다 :

ansible-playbook setup.yml 

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

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

내가 호스트 이름 (대신 IP 주소를 사용하여도 해봤 여기 내 YML 파일입니다), 그러나 아무것도 바뀌지 않았다. 어떤 도움이 필요합니까?

답변

16

호스트 인벤토리를 정의해야합니다.

이 경로의 기본 경로는 /etc/ansible/hosts입니다 (helloV도 마찬가지 임).

ansible-playbook setup.yml -i 192.168.10.1, 

후행 쉼표 그것을 ansible이 그것을 directy을 구문 분석하도록 목록을 만든다 : 당신은 명령 줄에서 인벤토리를 지정할 수 있습니다 최소한의 예를 들어

. myinventory이 호스트를 나열하는 파일입니다 그렇지 않으면

ansible-playbook setup.yml -i myinventory 

를 실행할 수 있습니다.

+0

친절한 응답과 명령 줄의 최소 예를 보내 주셔서 감사합니다. – Carla

+0

호스트 인벤토리를/etc/ansible/hosts로 유지하고 -i hostip을 지정할 수 있습니까? – Illusionist

+0

내'/ etc/ansible/hosts'을 찾을 수 없습니다. 디렉토리가 없습니다. –

4

귀하의 호스트에 대해 아무 것도 모릅니다. 이 동적 목록에있는 경우, 당신은 -i 옵션을 사용하여 인벤토리 스크립트를 통과하거나 /etc/ansible/hosts을 편집하고 같은 호스트에 대한 항목을 추가 할 수 있습니다

[myhost] 
192.168.10.1 

와 같은 플레이 북에서 호스트를 지정

hosts: myhost 
+0

답장을 보내 주셔서 감사합니다. – Carla