ansible-playbook编写语法

在使用ansible的过程中,最常用的就是使用playbook,将多个play写入到文件中,这样可以达到复用的效果.其语言使用的是yaml语法

注意:在书写playbook时切忌不要使用tab建.
ansible-playbook是将多个play和task集合在一起,其大致构成如下

  • hosts:主机(主机组,也可以是变量)
  • tasks:任务
  • vars:变量
  • user:指定用哪个用户执行,
  • templates:模版文件
  • handles:由特定条件出发tasks

使用技巧
可以在yaml的首行标注编译环境,类似于shell

文件开头注释:
#!/usr/bin/env ansible-playbook

添加执行权限,这样就可以直接直接该文件;
chmod +x file

常用参数:
--syntax-check 检查剧本语法是否有误
-i 指定主机组或主机
-f 指定并发数
-u 指定用户
-t 指定tags执行
--skip-tags 不执行指定的tags

简单示例:

远程主机安装httpd并启动,启动完成后检测80端口,然后创建文件
[root@ansible ~]# cat test.yml 
- hosts: slave
  user: root
  vars: 
    web: httpd
  tasks:
    - name: yum test
      yum: name={{web}}
    
    - name: start httpd
      service: name={{web}} state=started

    - wait_for: port=80   #和上面的play方式效果一样,- name为注语,不用- name时可以直接 - module方式
   
    - file: path=/test/test.txt state=touch
#进行语法检查,语法有问题会进行提示
[root@ansible ~]# ansible-playbook --syntax-check test.yml 

playbook: test.yml

#运行playbook
[root@ansible ~]# ansible-playbook test.yml 

稍复杂示例

#!/usr/bin/env ansible-playbook
- hosts: all                                    #主机组
  vars:                         
     web: httpd                               #变量
  gather_facts: no                          #不获取主机信息,提高执行速度
  tasks:                                         #任务动作
     - name: xxx
        yum: name={{ web }} state=present                    #yum模块执行安装
        tags: httpd                                                       #标记该task,可以在外部选择执行或跳过执行
      - name: xxx2
         templates: src=xx-file.j2 dest=xxx-file                #导入模版   
         - notify: restart httpd                                       #定义触发条件
handlers:
   - name: restart httpd                                             #引用触发条件(触发执行)
     service:  name=httpd state=restarted
[root@ansible ~]# ./test.yml  -t tags
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值