1. 概述

    1. 简单描述 ansible playbook

1. playbook

  1. 概述

    1. ansible 的 "脚本"
  2. 场景

    1. ansible

      1. 单条命令, 执行一个操作

      2. 问题

        1. 如果执行多个操作, 要怎么办
        2. 如果需要逻辑, 和其他组合, 要怎么办
      3. 解决

        1. ansible-playbook
  3. 一个简单的 playbook

    1. playbook01.yml
    ---
    - hosts: servers
    tasks:
    - name: ping test
    ping:
    1. 解释

      1. 格式

        1. 这个文本, 使用的是 yml 格式

          1. yml 格式本身不难, 但是我目前也不太熟练, 暂时就不讲解

            1. 百度很多, 一搜就出来了
      2. ---

        1. 标志开头

          1. 本身没有实际意义
          2. 如果遇到多个 ansible 脚本, 则可以标记开头, 做分割
      3. hosts: servers

        1. hosts

          1. 必填字段
          2. 目标主机
        2. servers

          1. 准备

            1. 在 inventory 文件里有描述
            2. 或者指定自己的 inventory 文件
      4. tasks

        1. 任务列表

          1. 必填字段
          2. 下面以 数组 的形式包含任务
      5. task: name

        1. 任务名称

          1. 非必填字段
          2. 目的就是注释, 在执行的时候, 会显示
      6. task: ping

        1. 模块名称

          1. ping
          2. 没有参数, 后面就为空
  4. 执行

    1. 命令

      > ansible-playbook -i hosts playbook01.yml
    2. 结果

      PLAY [servers] **********************************************************************************************************************
      
      TASK [Gathering Facts] **************************************************************************************************************
      ok: [demo] TASK [ping test] ********************************************************************************************************************
      ok: [demo] PLAY RECAP **************************************************************************************************************************
      demo : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
  5. 后续

    1. 了解 playbook 的多个属性

    2. 尝试 playbook 的其他特性

      1. 操作
      2. 模块化等
      3. 结果的返回
    3. 了解 其他模块

      1. 命令
      2. playbook
    4. 关于 Gathering Facts

      1. 结果里的一项

        1. 目前不知道是干啥的

        2. 大概是收集远端机器的 系统信息, 并放到变量里

          1. 以后可以用
        3. 默认是打开

        4. 可以关闭

          # 在 yml 里添加这个选项即可
          gather_facts: false
    5. 登录用户

      1. 默认是 root
      2. 有字段可以设置
        # 可以改成别的用户
        remote_user: root

ps

  1. ref

    1. learn ansible
    2. Intro to Playbooks
  2. 疑问

    1. yaml 格式
    2. playbook 感觉东西很多
      1. 慢慢来吧

Ansible - playbook - 概要的更多相关文章

  1. Ansible playbook API 开发 调用测试

    Ansible是Agentless的轻量级批量配置管理工具,由于出现的比较晚(13年)基于Ansible进行开发的相关文档较少,因此,这里通过一些小的实验,结合现有资料以及源码,探索一下Ansible ...

  2. ansible playbook实践(四)-如何调试写好的playbook文件

    有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应 ...

  3. ansible playbook批量改ssh配置文件,远程用户Permission denied

    最近手里的数百台服务器需要改/etc/ssh/sshd_config的参数,禁止root直接登陆,也就是说 [root@t0 ~]# cat /etc/ssh/sshd_config | grep R ...

  4. ansible笔记(11):初识ansible playbook(二)

    ansible笔记():初识ansible playbook(二) 有前文作为基础,如下示例是非常容易理解的: --- - hosts: test211 remote_user: root tasks ...

  5. ansible笔记(10):初识ansible playbook

    ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...

  6. Ansible playbook 批量修改服务器密码 先普通后root用户

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...

  7. 写Ansible playbook添加zabbix被监控的对象

    本主题达到的效果是能通过编写Ansible Playbook,创建zabbix主机组,把被监控的对象加入到zabbix监控系统中,同时链接到对象的模板. 1.准备工作 在zabbix服务器上面,我们需 ...

  8. Ansible playbook基础组件介绍

    本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...

  9. ansible playbook基本操作

    一.ansible playbook简单使用 相当于是把模块写入到配置文件里面 vim /etc/ansible/test.yml //写入如下内容: --- - hosts: 127.0.0.1 r ...

随机推荐

  1. B站学习记:贪心与博弈

    贪心 1. poj2287 N匹马的田忌赛马问题 稳稳地赢. 寻找最优的方案. 更优的收益. 有时候,局部最优导致全局最优. 马的能力值. 使得让我赢的局数最多. 对于对方的任何一匹马,如果我的马能打 ...

  2. 154.Ajax处理csrf防御

    在普通的form表单中采用post请求提交数据,可以在form表单的method=post的form标签下面,添加一个csrf_token标签{% csrf_token %},或者是直接手动的添加一个 ...

  3. C语言sprintf函数的深入理解

    由于sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出.这也导致sprintf比printf有用得多.所以本文着重介绍sprintf, ...

  4. kmp算法散记

    1. https://blog.csdn.net/abcjennifer/article/details/5794547 #include<bits/stdc++.h> using nam ...

  5. linux做免密登录,成功分发公钥后登录主机依旧需要输入密码的问题解决

    问题描述 在主机A上用ssh-keygen生成密钥对后,用ssh-copy-id命令将公钥成功copy到主机B上后,测试从A免密登录B,但是依旧需要输入主机B的密码后才能登录. 出现此错误的原因 如果 ...

  6. android button setMinHeight setMinWidth 无效解决办法

    setMinWidth(0);setMinHeight(0);setMinimumWidth(0);//必须同时设置这个setMinimumHeight(0);//必须同时设置这个 两个方法同时设置才 ...

  7. jQuery实现TAB选项卡切换特效简单演示

    本文实例为大家分享jQuery实现TAB选项卡切换特效,供大家参考,具体内容如下 1.tab切换 on ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...

  8. python之路之线程,进程,协程

    一.线程和进程概述 1.python线程的Event 2.python线程其他和队列以及生产者消费者 3. 使用multprocessing创建进程 4.进程间数据共享方式——sharedmeory( ...

  9. ASP.NET MVC扩充数据模型-定义数据模型的Metadata

    ASP.NET MVC扩充数据模型-定义数据模型的Metadata Posted on 2018-07-12 by Wang Kepai     Rate this post 无论你是使用LINQ t ...

  10. 开发笔记—钉钉服务商应用isv开发,从应用配置,到获取客户企业通讯录

    以第三方企业微应用为例 在第三方企业微应用应用时,比较底层的需求,就是应用需要获取客户企业的通讯录,即部门/员工的数据.本人整理以下几个关键数据,供大家开发参考. 新建第三方微应用时,能拿到这些初始数 ...