随笔分类 -  Ansible

摘要:简介 在大型项目当中,通常一个playbook会有非常多的task。而我们每次执行这个playbook时,都会将所有task运行一遍。而事实上,在实际使用过程中,我们可能只是想要执行其中的一部分任务而已,并不想把整个playbook完整跑一遍。这个时候就需要用到tags。 通过tags,我们可以给p 阅读全文
posted @ 2019-06-10 11:17 breezey 阅读(5817) 评论(0) 推荐(1) 编辑
摘要:[toc] 本地执行 如果希望在控制主机本地运行一个特定的任务,可以使用local_action语句。 假设我们需要配置的远程主机刚刚启动,如果我们直接运行playbook,可能会因为sshd服务尚未开始监听而导致失败,我们可以在控制主机上使用如下示例来等待被控端sshd端口监听: 任务委托 在有些 阅读全文
posted @ 2019-06-10 11:16 breezey 阅读(17020) 评论(1) 推荐(2) 编辑
摘要:对于任何自动管理工具而言,对于文件的管理都是其绕不开的话题。同样,ansible也围绕文件管理提供了众多的模块。同时还提供了Jinja2模板语法来配置文件模板。 常用文件管理模块 1. file 我们在讲ansible ad-hoc的时候,已经说过file模块,在playbook中的使用也没什么不同 阅读全文
posted @ 2019-06-10 11:16 breezey 阅读(1683) 评论(1) 推荐(0) 编辑
摘要:[toc] 简介 在有的时候play的结果依赖于变量、fact或者是前一个任务的执行结果,或者有的时候,我们会基于上一个task执行返回的结果而决定如何执行后续的task。这个时候就需要用到条件判断。 条件语句在Ansible中的使用场景: 在目标主机上定义了一个硬限制,比如目标主机的最小内存必须达 阅读全文
posted @ 2019-06-10 11:13 breezey 阅读(11889) 评论(1) 推荐(0) 编辑
摘要:循环语句 简介 我们在编写playbook的时候,不可避免的要执行一些重复性操作,比如指安装软件包,批量创建用户,操作某个目录下的所有文件等。正如我们所说,ansible一门简单的自动化语言,所以流程控制、循环语句这些编程语言的基本元素它同样都具备。 下面我们简单的说一说Playbook中循环语句。 阅读全文
posted @ 2019-06-10 11:12 breezey 阅读(6873) 评论(0) 推荐(1) 编辑
摘要:简介 之所以专门说一说这个模块,是因为lineinfile在实际使用中非常有用。 实际上,在大多数时候,我们在linux上的操作,就是针对文件的操作,通过配置管理工具对配置文件作统一的配置修改是一个非常酷的功能。 下面是官方针对该模块的说明: lineinfile - Ensure a partic 阅读全文
posted @ 2018-07-11 23:19 breezey 阅读(17820) 评论(0) 推荐(1) 编辑
摘要:[toc] 简介 在使用ansible的过程中,不可避免的会存储一些敏感信息,比如在变量文件中存储帐号密码信息等。 ansible通过ansible vault命令行工具来提供对敏感文件的加密和解密。 ansible vault可以创建、加密、解密和查看文件。其可以加密任何ansible使用的文件, 阅读全文
posted @ 2018-07-06 22:51 breezey 阅读(1347) 评论(0) 推荐(1) 编辑
摘要:[toc] 简单说明 在通常情况下,所有的配置信息都会被作为ansible的变量保存了,而且可以保存在ansible允许定义变量的各种地方,诸如vars区段, 加载的文件中,以及host_vars和group_vars目录中。 但在有些时候,我们希望从诸如文本文件或者.csv文件中收集数据作为ans 阅读全文
posted @ 2018-07-06 22:36 breezey 阅读(3444) 评论(0) 推荐(3) 编辑
摘要:[toc] 魔法变量 Ansible默认会提供一些内置的变量以实现一些特定的功能,我们称之为魔法变量。下面列举一些常用的魔法变量。 1. hostvars 获取某台指定的主机的相关变量。如果有一台web服务器的配置文件中需要指定db服务器的ip地址,我们假定这台db服务器的hostname为db.e 阅读全文
posted @ 2018-07-06 22:19 breezey 阅读(4548) 评论(0) 推荐(0) 编辑
摘要:fact简介 ansible有一个模块叫setup,用于获取远程主机的相关信息,并可以将这些信息作为变量在playbook里进行调用。而setup模块获取这些信息的方法就是依赖于fact。 # ansible test -m setup 192.168.0.187 | SUCCESS => { "a 阅读全文
posted @ 2018-07-06 13:56 breezey 阅读(6689) 评论(0) 推荐(0) 编辑
摘要:简单说明 ansible支持变量,用于存储会在整个项目中重复使用到的一些值。以简化项目的创建与维护,降低出错的机率。 变量的定义: 变量名应该由字母、数字下划数组成 变量名必须以字母开头 ansible内置关键字不能作为变量名 1. 在Inventory中定义变量 1.1. 定义主机变量 1.1.1 阅读全文
posted @ 2018-07-06 11:23 breezey 阅读(2186) 评论(0) 推荐(1) 编辑
摘要:[toc] playbook的结构说明 playbook是由一个或多个"play"组成的列表。play的主要功能就是对一组主机应用play中定义好的task。从根本上来讲一个task就是对ansible一个module的调用。而将多个play按照一定的顺序组织到一个playbook中,我们称之为编排 阅读全文
posted @ 2018-04-12 23:59 breezey 阅读(1925) 评论(0) 推荐(0) 编辑
摘要:Ansible Playbook简介 ansbile-playbook是一系列ansible命令的集合,利用yaml 语言编写。playbook命令根据自上而下的顺序依次执行。同时,playbook开创了很多特性,它可以允许你传输某个命令的状态到后面的指令,如你可以从一台机器的文件中抓取内容并附为变 阅读全文
posted @ 2018-04-12 23:36 breezey 阅读(992) 评论(0) 推荐(0) 编辑
摘要:[toc] 根据官方的分类,将模块按功能分类为:云模块、命令模块、数据库模块、文件模块、资产模块、消息模块、监控模块、网络模块、通知模块、包管理模块、源码控制模块、系统模块、单元模块、web设施模块、windows模块 ,具体可以参看官方页面。 这里从官方分类的模块里选择最常用的一些模块进行介绍。 阅读全文
posted @ 2018-04-12 23:21 breezey 阅读(869) 评论(0) 推荐(0) 编辑
摘要:[toc] Ad hoc 简介 Ad Hoc 是指ansible下临时执行的一条命令,并且不需要保存的命令,对于复杂的命令会使用playbook。Ad hoc的执行依赖于模块,ansible官方提供了大量的模块。 如:command、raw、shell、file、cron等,具体可以通过ansibl 阅读全文
posted @ 2018-04-12 20:59 breezey 阅读(970) 评论(0) 推荐(0) 编辑
摘要:[toc] 配置文件优先级 ansible的配置文件名为ansible.cfg,它一般会存在于四个地方: ANSIBLE_CONFIG:首先,Ansible命令会检查该环境变量,及这个环境变量将指向的配置文件 ./ansible.cfg:当前工作目录,即当前执行ansible指令的目录,如果ANSI 阅读全文
posted @ 2018-04-12 20:51 breezey 阅读(1189) 评论(0) 推荐(0) 编辑
摘要:[toc] 简介 在使用Ansible来批量管理主机的时候,通常我们需要先定义要管理哪些主机或者主机组,而这个用于管理主机与主机组的文件就叫做Inventory,也叫主机清单。该文件默认位于/etc/ansible/hosts。当然我们也可以通过修改ansible配置文件的hostfile配置项来修 阅读全文
posted @ 2018-04-12 20:44 breezey 阅读(1174) 评论(0) 推荐(1) 编辑
摘要:[toc] Ansible 是一个 IT 自动化工具。它能配置系统、部署软件、编排更复杂的 IT 任务,如连续部署或零停机时间滚动更新。 Ansible 用 python 编写,尽管市面上已经有很多可供选择的配置管理解决方案(例如 Salt,Puppet,Chef等),但它们各有优劣,而Ansibl 阅读全文
posted @ 2018-04-12 20:27 breezey 阅读(1032) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示