• 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下的文字

  • 相关阅读:
    Delphi XE2 之 FireMonkey 入门(36) 控件基础: TForm
    Delphi XE2 之 FireMonkey 入门(35) 控件基础: TFmxObject: 其它
    Delphi XE2 之 FireMonkey 入门(39) 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox
    人月神话之编程行业的乐趣与苦恼
    基于NHibernate的三层结构应用程序开发初步
    .NET设计模式(9):桥接模式(Bridge Pattern)
    Grove,.NET中的又一个ORM实现
    近期学习计划
    .NET设计模式(8):适配器模式(Adapter Pattern)
    [声明]关于春节回家期间不能更新Blog的说明
  • 原文地址:https://www.cnblogs.com/5444de/p/12463449.html
Copyright © 2020-2023  润新知