.yml文件格式很有讲究,具体文档暂没耐心查看了,今天就来总结下大概的格式:
一个.yml文件里面可以有多个play
一个play主要包括:hosts、tasks、remote_user(指定被控制节点远程连接用户,如不指定则根据/etc/ansible/ansible.cfg配置文件来确定)、name(可省略)等等,它们都是同一层级,所以必须对齐
一个play以- 开头
-[空格]name:[空格]play1名称
hosts:[空格]被控制节点组名称
tasks: ##任务列表
-[空格]name:[空格]任务1名称(这名称对应模块1的)
模块1: ##ansible里面的模块
参数1:[空格]值
参数2:[空格]值(同层级,与上面参数1对齐)
-[空格]name:[空格]任务2名称(这名称对应模块2的)
模块2: ##ansible里面的模块
参数1:
参数2:
如下图:
这是运行后出来的信息:
当然,上面的内容由于使用相同模块我们可以直接用一个任务来完成:
也可以像下图那样,模块参数1的值存在多个时:
参数:
-[空格]值1
-[空格]值2(试过值2不仅对齐,前面还要有-)
像上面任务无定义name,则在执行中反馈为模块名
暂时测试就是这样,还没细看理论,都是用自己的话来总结的,并不专业,以后再慢慢研究。
模块的用法参考ansible-doc,搜索EXAMPLE查看例子