zoukankan      html  css  js  c++  java
  • 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下的文字

  • 相关阅读:
    C++获取时间函数
    平滑算法:三次样条插值(Cubic Spline Interpolation)
    为什么想要交谈?
    c++日常小问题
    看板娘
    世界碰撞算法原理和总结(sat gjk)
    转载c++默认初始化文章--google翻译
    从4行代码看右值引用(转载 《程序员》2015年1月刊)
    c++模板特例化 函数模板(非法使用显式模板参数 )
    InverseTransformPoint 函数问题
  • 原文地址:https://www.cnblogs.com/5444de/p/12463449.html
Copyright © 2011-2022 走看看