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. 将自定义工程加入到python根目录下

    1. 在D:\Program Files\Python\Lib\site-packages 添加.pth文件,文件名为模块名称(即auto_XXX),文件内容为模块所在目录.(python添加自定义的 ...

  2. print不是函数

    对文章阅读有感!!! 文章地址:http://www.laruence.com/2019/03/01/4904.html print是一个语法结构(language constructs), 他并不是 ...

  3. Vim入门——Windows下安装

    下载页面:https://www.vim.org/download.php Windows选用的是MS-Windows: 下图为展示: 因为最近被墙,镜像貌似没中国内陆地区,因此,选择使用GitHub ...

  4. 找不到getter/setter——没有安装lombok插件

    项目pull后的问题: import lombok.Getter; import lombok.Setter; @Setter @Getter public class ConcreteEntity ...

  5. 巨杉TechDay回顾 | WARNING!您参加的数据库沙龙热度已爆表……

    自从2008年“大数据”这一概念被首次提出以来,在过去这10年中,几乎各行各业都或多或少受到了这一概念的影响.与此同时,在AI.云计算.物联网.区块链等新兴技术快速发展的今天,数据库己经成为了决定所有 ...

  6. jQuery捕获

    获得内容 - text().html() 以及 val() 三个简单实用的用于 DOM 操作的 jQuery 方法: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元 ...

  7. 可持久化0-1 Trie 简介

    Trie树是字符串问题中应用极为广泛的一种数据结构,可以拓展出AC自动机.后缀字典树等实用数据结构. 然而在此我们考虑0-1 Trie的应用,即在序列最大异或问题中的应用. 这里的异或是指按位异或.按 ...

  8. 在github网站上更新fork的repo

    打开fork的repo. 点击Pull request, 这里会跳转到一个页面提示There isn’t anything to compare. 点击switching the base,将orig ...

  9. mysql数据库事务的操作与理解

    --------------------事务----------------------------------------------查询mysql事务隔离级别1.查看当前会话隔离级别select ...

  10. jquery+layer实现无刷新、删除功能(laravel框架)

    先来看一下效果 路由代码 Route::get('car/{id}/delete', 'CarController@delete'); 控制器层代码 //删除汽车信息 public function ...