ansible上手之认识Playbook

Playbook介绍

playbook,剧本,使用时按照剧本内容执行操作,将模块写在playbook里,执行固定操作即可,不用直接在命令行执行繁琐复杂的命令,假如我要安装Nginx并配置他,我只需将怎么配置的内容直接写在playbook里,就可以按照我的步骤一步步执行。
使用Ansible时,绝大部分时间将花费在编写playbook上。playbook是一个ansible的术语,它指的是用于配置管理的脚本。
Playbook是由一个或者多个“play”组成的列表。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲,所谓的task无非是调用ansible的一个模块。将多个play组织在一个playbook中,即可以让他们联合起来按照事先编排的机制完成某一任务。
比如说安装一个apache,至少得分三步:安装apache、修改配置文件、启动服务,我们可以将这些写在一个playbook中,只要我们一运行这个playbook,整个任务就完成了,而不需要我们一步步在命令行执行了。

 

先拿出来理解下

我主管有病;

他让我我现在在客户端安装httpd;想复制服务端/tmp/file文件到客户端/tmp/,又想重启客户端的httpd,还想在客户端创建文件/tmp/likes。这么多操作一点点在命令行输入太麻烦,下次我还需要这样操作也麻烦,,,怎么办?

看图。

- name: copy.yml
  hosts: webs

  tasks:
  - name: 安装httpd
    yum : name=httpd state=installed
  - name: 复制file文件
    copy: src=/tmp/file dest=/tmp/
  - name: restart httpd
    service: name=httpd state=restarted
  - name: 创建文件likes
    file: path=/tmp/likes state=touch

执行playbook

[root@localhost test]# ansible-playbook a.yml

 主管下次还让我这么做,我直接给他执行个playbook,,完活,喝茶。

 没报红表示成功嘿嘿噗

playbook是由多个play组成,每play包括下面两项:

  host:需要配置的一组主机

  task:需要在这些主机上执行的任务

当然了还有其他的,vars,notify等,,,在这里先记下这两个,另外

  name:一段注释信息,来描述这个play是来做什么的,Ansible会在执行之初play开始的时候打印这段name下的文字

 

posted @ 2020-03-11 16:53  5444de  阅读(142)  评论(0编辑  收藏  举报