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. windows安装python64位和32位的方法

    1.先安装python 64位的 python,创建一个64位的python虚拟环境: 2.再安装python 32位的 python,创建一个32位的python虚拟环境即可. 注意:两个版本安装在 ...

  2. DOM操作节点对象集合

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  3. Joining Data with dplyr in R

    目录 inner_join Joining three tables left_join right-join full_join semi- and anti-join Stack Overflow ...

  4. cc.rectContainsPoint使用中发现的问题

    cc.rectContainsPoint(rect, point);此中rect常用node.getBoundingBox()方法取得,而这个方法通过node的x,y和width,height算得.也 ...

  5. 题解【洛谷P3958】[NOIP2017]奶酪

    题面 题解 我们考虑使用一个并查集维护空洞之间的关系. 如果两个空洞能相互到达,那么它们的祖先也是相同的. 枚举从哪一个空洞开始,能否到达奶酪的上表面. 如果能到达就输出Yes,否则输出No. 注意开 ...

  6. SSM项目中的.tld文件是什么,有什么作用?怎么自定义tld文件

    原文链接:https://www.cnblogs.com/guaishoubiubiu/p/8721277.html TLD术语解释:标签库描述文件,如要在JSP页面中使用自定义JSP标签,必须首先定 ...

  7. 三、ZigBee无线网络工具

    CC2530概述 CC2530是德州仪器Ti公司用于2.4-GHz IEEE 802.15.4.ZigBee 和 RF4CE 应用的一个真正的片上系统(SoC)解决方案,是作为ZigBee无线传 感网 ...

  8. C#设置一个控件可以鼠标拖动

    C#设置一个控件可以鼠标拖动: 新建一个C#项目, 创建一个label控件, 设置label的鼠标按下和抬起事件分别为:label1_MouseDown和label1_MouseUp. 对代码进行如下 ...

  9. 整理收集的一些常用java工具类

    1.json转换工具 package com.taotao.utils; import java.util.List; import com.fasterxml.jackson.core.JsonPr ...

  10. ubuntu 安装谷歌

    下载ubuntugoogle官网:http://www.ubuntuchrome.com/ 我的是ubuntuLTS稳定版: 上传Ubuntu: 执行解压操作: sudo   dpkg -i  goo ...