Car*_*rla 19 ansible ansible-playbook
我正在尝试在Ansible上执行我的第一个远程shell脚本.我首先生成并复制了SSH密钥.这是我的yml文件:
---
- 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
Run Code Online (Sandbox Code Playgroud)
然而,当启动剧本时,结果是"没有主机匹配":
ansible-playbook setup.yml
PLAY [Ansible remote shell
********************************************
skipping: no hosts matched
PLAY RECAP ********************************************************************
Run Code Online (Sandbox Code Playgroud)
我也试过使用主机名(而不是IP地址),但没有改变.有帮助吗?
Rob*_*oth 31
您需要定义主机清单.
它的默认路径是/etc/ansible/hosts(也如helloV所述).
对于最小示例,您还可以在命令行中指定清单:
ansible-playbook setup.yml -i 192.168.10.1,
Run Code Online (Sandbox Code Playgroud)
尾随逗号使其成为一个列表,以便ansible直接解析它.否则你可以跑
ansible-playbook setup.yml -i myinventory
Run Code Online (Sandbox Code Playgroud)
哪里myinventory是列出您的主机的文件.
hel*_*loV 11
Ansible对你的主人一无所知.如果它位于动态库存中,您可以使用-i选项传递库存脚本,或者/etc/ansible/hosts为主机编辑和添加条目,如:
[myhost]
192.168.10.1
Run Code Online (Sandbox Code Playgroud)
并将playbook中的主机指定为:
hosts: myhost
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47154 次 |
| 最近记录: |