ansible使用-playbook剧本模式

playbook是一个由yml语法编写的文本文件,它由play和task两部分组成。play: 主要定义要操作主机或者主机组task: 主要定义对主机或主机组具体执行的任务,可以是一个任务,也可以是多个任务playbook简单理解就是把ad-hoc多个模块都统一写到一个文件里面,然后根据自己的需求来自定义编排要使用哪些功能,第一步使用哪些功能,第二步使用哪些功能……Playbook通过yaml语法识别描述的状态文件,扩展名是yaml。yamI三板斧。
摘要由CSDN通过智能技术生成

playbook简介

playbook是一个由yml语法编写的文本文件,它由play和task两部分组成。

play: 主要定义要操作主机或者主机组
task: 主要定义对主机或主机组具体执行的任务,可以是一个任务,也可以是多个任务

playbook简单理解就是把ad-hoc多个模块都统一写到一个文件里面,然后根据自己的需求来自定义编排要使用哪些功能,第一步使用哪些功能,第二步使用哪些功能……
Playbook通过yaml语法识别描述的状态文件,扩展名是yaml。

yamI三板斧
缩进:       yaml使用一个固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tab键
冒号:       以冒号结尾的除外,其他所有冒号后面所有必须有空格。
短横线:   表示列表项,使用一个短横线加一个空格作为一个列表项,多个项使用同样的缩进级别作为同一列表。

#比如我们写了一个yaml文件

vim apache_install.yaml

#文件内容如下:

#这是一个ansible的playbook
#第一步: 找到谁,hosts: 定义主机清单,ansible的hosts文件里定义的主机清单模块名
#第二步: 大概做的任务: 安装,配置,启动
#第三步: 具体怎么做
#name:              描述信息,task里有3个同级别的列表步骤
#yum:                远端安装服务,yum模块安装服务(installed)
#copy:               远端拷贝文件,copy模块传送文件到远端
#service:            远端启动服务(started)
#remote user:    root 是指定远程主机上使用的用户
#gather facts:     no 是默认执行playbook时候,默认会收集目标主机的信息,禁用掉能提高效率

- hosts: test                   #第一行,定义主机清单test
  remote user: root        #第二行写入就需要空两个空格,表示本行内容属于上面第一行
  gather facts: no           #注意冒号后面都需空格,以冒号为变量定义相关内容
  tasks:
    - name: install apache fuwu                 #一个横杆+一个空格代表一个任务
      yum: name=apache,apache-tools state=installed           #调用yum模块
    - name: configure apache fuwu            #第二个任务
      copy: src=/root/apache.conf dest=/etc/apache/conf/apache.conf              #调用copy模块

      notify: Restart apache fuwu               #重启定义的apache服务

    - name: create share data directory     #创建一个共享目录,file模块创建目录赋予权限

      file: path=/data state=directory recurse=yes owner=root group=root mode=755

    - name: qidong apache fuwu                #第三个任务
      service: name=apache state=started enabled=yes                            #调用service模块

  handlers:

    - name: Restart apache fuwu                #名字定义为重启Apache服务

      service: name=apache state=restarted   #调用service服务,名字是apache,任务是重启

ansible-playbook常用命令

#执行yaml文件,格式:ansible-playbook "yaml文件"

ansible-playbook apache_install.yaml

#检查语法是否错误,格式:ansible-playbook --syntax-check "yaml文件"

ansible-playbook --syntax-check apache_install.yaml

#模拟执行,不是真的直接执行,格式:ansible-playbook -C  "yaml文件"

ansible-playbook -C apache_install.yaml

案例:批量安装源码nginx服务

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值