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. 为data中的某一个对象添加一个属性不起作用——this.$set的正确使用

    this.$set(obj, key, value) 我们在项目开发的过程中,经常会遇到这种情况:为data中的某一个对象添加一个属性 <template> <div class=& ...

  2. 【做题笔记】洛谷P1506 拯救oibh总部

    跑一遍染色法,最后判断哪些位置没被染色即可 一些技巧: 为了判断方便,把字符转换成 int 型的数字. 注意边界问题 详细解释见代码 #include <iostream> #includ ...

  3. Allegro 反射仿真--仿真设置

    一.打开BRD文件 打开PCB SI,启动Cadence Product Choices界面,如图1-1所示,一般我们选择Allegro PCB SI 630(SPECCTRAQuest),具体如下图 ...

  4. SSM开发基于Java EE在线图书销售系统

           SSM(Spring+Spring MVC+MyBatis)开发基于Java EE在线图书销售系统  网站成功建立和运行很大部分取决于网站开发前的规划,因此为了在网站建立过程中避免一些不 ...

  5. Laravel中如何做数据库迁移

    总的来说,做一次独立数据库迁移只需要三步,分别是创建迁移文件.修改迁移文件.运行迁移 1.创建数据库迁移文件php artisan make:migration create_articles_tab ...

  6. ubuntu 安装谷歌

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

  7. Python - python3.7新增的contextvars vs Thread local(threading.local)

    总结 和threading.local()类似.Python3.7新增. thread.local(): 不同线程,同一个变量保存不同的值. contextvars: 不同上下文,同一个变量保存不同的 ...

  8. DE1-GHRD

    新建工程socs_system 进入菜单选择Tools---Qsys 配置hps系统 首先选择 在更改参数 配置hps的sdram各项参数 将名字改为hps_0 这样hps配置完成:在配置存储器和其他 ...

  9. 2020年国外PhD申请QQ群907928541

    2020年申请国外读博的 可以加QQ群:907928541 供大家学习交流套磁!

  10. php:对象(object)数据类型实例详解

    什么是对象? 对象是存储数据和有关如何处理数据的信息的数据类型.是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成. 语法 在 PHP ...