playbook

Ansible之Playbook

a 夏天 提交于 2019-12-05 02:50:12
Playbook介绍 playbook参考文档 Playbook 与 ad-hoc 相比,是一种完全不同的运用ansible的方式,类似与 saltstack 的 state 状态文件。 ad-hoc 无法持久使用, playbook 可以持久使用。 playbook 是由一个或多个 play 组成的列表, play 的主要功能在于将事先归并为一组的主机装扮成事先通过 ansible 中的 task 定义好的角色。从根本上来讲,所谓的 task 无非是调用 ansible 的一个 module 。将多个 play 组织在一个 playbook 中,即可以让它们联合起来按事先编排的机制完成某一任务; Playbook核心元素 Hosts 执行的远程主机列表 Tasks 任务集 Varniables 内置变量或自定义变量在playbook中调用 Templates 模板,即使用模板语法的文件,比如配置文件等 Handlers 和notity结合使用,由特定条件触发的操作,满足条件方才执行,否则不执行 tags 标签,指定某条任务执行,用于选择运行playbook中的部分代码。 Playbook语法 playbook 使用 yaml 语法格式,后缀可以是 yaml ,也可以是 yml 。 在单一一个 playbook 文件中,可以连续三个连子号( --- )区分多个 play

ansible--playbook

烂漫一生 提交于 2019-12-05 00:34:50
playbook语法 playbook使用YAML语法描述配置文件,总的来说具有以下特性: 需要以“---”开始,且需顶行手写 此行开始正常些playbook的内容 使用 # 号注释代码 缩进必须是统一的,不能讲空格和Tab混用。 缩进的级别必须是一致的。 大小写敏感。 key/value值可同行写也可以换行写,同行使用 : ,换行需要以 -分隔 一个name只能包括一个task。 来源: https://www.cnblogs.com/peilanluo/p/11891838.html

Playbook剧本之流程控制下

独自空忆成欢 提交于 2019-12-04 20:57:31
触发器 标记(用于调试的场景) 文件调用 忽略错误 异常处理 toc 触发器 当我们使用某些程序中,需要修改程序配置文件,之后有可能需要重启程序新的配置才能生效,该怎么实现呢? 这就需要用到触发器了 当task的任务被改变时,如果定义了notify就会触发notify,notify会把内容交到handler中,handler会根据notify信息在自己的描述(name)中查找任务执行 ## 在其他服务器上复制个httpd配置文件 [root@Ansible project]# scp root@192.168.1.2:/etc/httpd/conf/httpd.conf ./httpd.conf.j2 ## 编写httpd的Playbook并加上触发器 [root@Ansible project]# vim httpd.yml - hosts: web tasks: - name: Install Httpd Server yum: name: httpd state: installed - name: Configure Httpd Server copy: src: ./httpd.conf.j2 dest: /etc/httpd/conf/httpd.conf notify: Restart Httpd Server ## 任务改变,则触发条件 - name: Start

Playbook剧本简单使用

早过忘川 提交于 2019-12-04 20:57:16
Playbook是 Ansible 一个非常简单的配置管理多主机的状态描述文件 Playbook按照指定的操作步骤有序执行,支持同步和异步方式 Playbook是通过YAML格式来书写的: 缩进:和 Python 一样, YAML 使用缩进表示数据关系,两个空格,不能使用Tab 冒号:冒号后面不是空格就是换行 短横线:短横线后面一定是空格,短横线表示选项 Playbook剧本基础 受控端环境尽量干净一点 ## 创建项目目录 [root@Ansible ~]# mkdir project && cd project ## 第一种Playbook书写方式(官方推荐) [root@Ansible project]# vim httpd.yml - hosts: web ##对那个主机执行 tasks: ##执行的任务 - name: Install Httpd Server ##描述(暂时没有意义) yum: name: httpd state: installed ## 第二种Playbook书写方式 [root@Ansible project]# vim httpd1.yml - hosts: web tasks: - name: Install Httpd Server yum: name=httpd state=installed ## 检测文件有没有格式错误 [root

Playbook剧本之facts变量

泪湿孤枕 提交于 2019-12-04 20:56:47
facts变量是Ansible用于采集被控端硬件、系统、服务、资源信息等的一个功能,Playbook执行时第一步就是facts采集信息。 查询facts变量 使用和关闭facts变量 受控端自定义facts变量 toc 查询facts变量 ## 查看web主机所有facts变量(太多,就不展示了) [root@Ansible project]# ansible web -m setup ## 用filter查看指定信息 [root@Ansible project]# ansible web -m setup -a 'filter=*eth0*' web1 | SUCCESS => { "ansible_facts": { "ansible_eth0": { "active": true, "device": "eth0", "features": { "busy_poll": "off [fixed]", "fcoe_mtu": "off [fixed]", "generic_receive_offload": "on", "generic_segmentation_offload": "on", "highdma": "off [fixed]", "hw_tc_offload": "off [fixed]", "l2_fwd_offload": "off [fixed]",

playbook基础

旧街凉风 提交于 2019-12-04 13:17:58
ansible七种武器 第一种武器 -ansible命令,用于执行临时性的工作,必须掌握 第二种武器 -ansible-doc是ansible模块的文档说明,针对每个模块都有详细的说明及应用案例介绍,功能和Linuxman命令类似,必须掌握 第三种武器 ansible-console是ansible为用户提供的交互式工具,用户可以在ansible-console虚拟出来的终端上像shell一样使用ansible内置的各种命令,这为习惯使用shell交互方式的用户提供了良好的使用体验 第四种武器 ansible-galaxy从github上下载管理roles的一款工具,与Python的pip类似 第五种武器 ansible-playbook是日常应用中使用频率最高的命令.工作机制:通过读取先编写好的playbook文件实现批量管理可以理解为按照一定条件组成的ansible任务集,必须掌握 第六种武器 ansible-vault主要用于配置文件加密.如编写的playbook文件中包含敏感信息,不想其它人随意查看,可以用它加密/解密这个文件 第起中武器 ansible-pll ansible用两种工作模式pull/push,默认使用push模式工作,pull和push工作模式机制刚好相反 适合场景:有大批量机器需要配置,即便使用高并发线程依旧要花费很多时间

Ansible进阶之roles详解

孤街浪徒 提交于 2019-12-03 21:04:08
迭代写法:with_items   迭代:当需要重复性执行的任务时,可以使用迭代机制     ·对迭代选项的引用,固定变量名为“item”     ·要在task中使用with_items给定要迭代的元素列表     ·列表格式: 字符串、 浮点 使用字符串 --- - host: webservs remote_user: root tasks: - name: create some files file: name=/data/{{ item }} start=touch with_itmes: - file1 - file2 - file3 迭代嵌套子变量 使用字典 --- - host: webservs remote_user: root tasks: - name: create some files group: name={{item}} when: ansible_distribution_major_version == "7"#是版本7才执行下面的 with_items: - g1 - g2 - g3 - name: create some users user: name={{itme.name}} group={{item.group}} with_items: - { name: 'user1', group: 'g1'} - { name:

Ansible cannot make dir /$HOME/.ansible/cp

匿名 (未验证) 提交于 2019-12-03 07:50:05
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm getting a very strange error when I run ansible: GATHERING FACTS *************************************************************** fatal: [i-0f55b6a4] => Could not make dir /$HOME/.ansible/cp: [Errno 13] Permission denied: '/$HOME' TASK: [Task #1] *************************************************************** FATAL: no hosts matched or all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit @/home/ubuntu/install.retry i-0f55b6a4 : ok=0 changed=0

Ansible之playbook的使用

匿名 (未验证) 提交于 2019-12-03 00:40:02
playbook介绍 一. 为什么引入playbook 我们完成一个任务,例如安装部署一个httpd服务,我们需要多个模块(一个模块也可以称之为task)提供功能来完成。而playbook就是组织多个task的容器,他的实质就是一个文件,有着特定的组织格式,它采用的语法格式是YAML(Yet Another Markup Language)。YAML语法能够简单的表示散列表,字典等数据结构。具体请参考 YAML详细语法 YAML基本语法 列表:每一个列表成员前面都要有一个短横线和一个空格 fruits: - Apple - Orange - Strawberry - Mango 或者: fruits: [ ‘Apple‘, ‘Orange‘, ‘Strawberry‘, ‘Mango‘] 字典:每一个成员由键值对组成,注意冒号后面要有空格 martin: name: Martin D‘vloper job: Developer skill: Elite 或者 martin: {name: Martin D‘vloper, job: Developer, skill: Elite} 列表和字典可以混合使用 - martin: name: Martin D‘vloper job: Developer skills: - python - perl - pascal - tabitha:

Python+Django+Ansible Playbook自动化运维项目实战 学习 教程

匿名 (未验证) 提交于 2019-12-02 22:51:30
Python+Django+Ansible Playbook自动化运维项目实战 学习 教程 一、入门引导 DevOPS DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。 Django python 自动化资产扫描发现 基础 paramkio登录扫描 pexpect登录扫描 telnetlib端口扫描 nmap存活扫描 资产扫描作用 进阶 SDK调用扫描ESXI snmp网路设备 KVM虚拟机扫描 docker容器扫描 ansible 自动化任务 ansible安装 python ansible ansible adhoc ansible playbook 核心类调用 进阶 api接口封装 方法改写 Redis消息存储 Mongo事件日志 二、工程初识和环境搭建 1、自动化工程总体设计 资产的自动化扫描发现 用python程序扫描发现企业内部的所有资产,当资产出现变动能自动及时发现并完成资产变更. 如:ip,硬件型号,SN,MAC,系统版本 ansible的自动化任务执行 使用ansible的ad-hoc和playbook实现批量主机的自动化任务 2