测试基本的Ansible角色设置,但在角色的第一行出现了错误main.yml
,但是我相信这有些愚蠢
play.yml
- hosts: myhosts
remote_user: myuser
roles:
- test
目录结构
play.yml
roles/test/tasks/main.yml
main.yml
- hosts: all
user: myuser
gather_facts: no
tasks:
- name: ping all hosts
ping:
当我跑步时ansible-playbook play.yml
,我得到了错误
The offending line appears to be:
- hosts: all
^ here
它看起来像一个简单的YAML解析错误,但是如果我运行ansible-playbook main.yml
,它就可以正常工作,因此不确定发生了什么。有什么想法吗?
您不能在中指定主机roles/test/tasks/main.yml
。主机在play.yml
文件中指定。
roles/test/tasks/main.yml
用于定义您希望Ansible执行的动作。对于ping主机,它可能看起来像:
---
- ping:
这将ping
在您指定的主机上执行操作play.yml
Ansible具有固定的文件夹结构,可用于分解剧本。该play.yml
文件指定要定位的主机以及要应用的其他顶级控件角色。
play.yml
文件中指定的各个角色位于中roles/X/
,Ansible期望有某种文件夹结构。它会在test
此处查找要在该角色中运行的任务roles/test/tasks/main.yml
。
play.yml
只是一本剧本。您可以在同一个文件夹中创建多个文件夹,然后使用进行调用ansible-playbook
。
官方文档提供了建议的剧本目录结构的更详细示例
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句