随笔分类 - Ansible

摘要: ansible自1.2版本引入的新特性,用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需在playbook中使用include指定即可。简单来讲,roles就是通过分别将变量、文件、任务、模板以及处理器放置于单独目录中,并可以便捷的使用include指令将他们组织在一块的一种机制。角色一般用于基于主机构建服务的场景中,但也可以用于构建守护进程等场景中。复杂场景建议使用角色,代码复用度高。 阅读全文
posted @ 2019-11-21 01:45 Linux-1874 阅读(367) 评论(0) 推荐(0) 编辑
摘要: templates是ansible的一个模块,其功能是根据模板文件动态生成配置文件,templates文件必须存放于templates目录下,且命名为".j2"结尾,yaml/yml文件需要和templates目录平级,这样我们在yml文件中调用模板的时候,就不需要写模板文件的路径,否则需要描述模板文件的路径,因为template模块会自动去找templates目录下的模板文件。目录结构如下 阅读全文
posted @ 2019-11-18 19:30 Linux-1874 阅读(2648) 评论(0) 推荐(0) 编辑
摘要: handlers同tasks是属同级,相当于一个特殊任务列表,这些任务同前文说的tasks里的任务没有本质的不同,用于当关注的资源发生变化时,才会采取一定的操作。notify此action可用于在每一个play的最后被触发,这样可避免多次有改变发生时都执行指定的操作,仅在所有的变化发生完成后一次性地执行指定操作,在notify中列出的操作称为handler,换句话说当所关注的资源发生变化时notify将调用handlers中定义的操作。其中notify所在任务就是被监控的任务资源变化的任务,notify可以调用多个handlers定义的操作,一个handlers里可以定义很多任务。 阅读全文
posted @ 2019-11-17 18:48 Linux-1874 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 前文我们了解了ansible有两种执行方式ad-hoc和ansible-playbook,ad-hoc主要用于临时命令的执行,而playbook我们可以理解为ad-hoc的集合,有点类似shell脚本,ad-hoc就相当于shell脚本里的某条任务语句,playbook就相当于整个shell脚本。playbook是由一个或多个“play”组成的列表,play的主要功能在于将预定义的一组主机,装扮成事先通过ansible中的task定义好的角色。task实际是调用ansible的一个模块,将多个play组织在一个playbook中,即可以让他们联合起来,按事先编排的机制执行预定义的动作。 阅读全文
posted @ 2019-11-16 23:43 Linux-1874 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 安装包可以不用跟后面的state=present,因为我们不写默认就是present;安装包的时候name也可以指定从远程仓库里安装某一个包,比如name=https://xxx/包名.rpm。也可以从本地光盘安装,比如name=/file/to/package.rpm;同时也可以指定安装某个包组的包,比如name="@Development tools";当然这个模块只能用于支持yum包管理的Linux系统(redhat系列),ubuntu需要用apt这个模块进行包的管理,用法同yum类似。 阅读全文
posted @ 2019-11-13 22:08 Linux-1874 阅读(346) 评论(0) 推荐(0) 编辑
摘要: ansible之所以功能强大,不是ansible本身,是因为它有众多的模块,前文我们介绍了ansible的基础介绍,系列命令的用法以及选项的说明,通过前文的学习我们知道了ansible是基于python语言编写,我们在执行一条ansible命令通常会指定一个模块,即便不指定它也有默认的模块,它的工作流程就是通过各种模块去完成对远程主机的管理、配置等操作。接下来我们来看看ansible的一些常用模块的使用。 阅读全文
posted @ 2019-11-11 21:01 Linux-1874 阅读(451) 评论(0) 推荐(0) 编辑
摘要: ansible系列命令有:ansible、ansible-doc、ansible-playbook、ansible-vault、ansible-console、ansible-galaxy、ansible-pull,这些命令每个命令都有它独特的作用和用法,接下来我们一一来了解它的用法。 1、ansible-doc:这个命令主要作用是显示模块的帮助信息,有点类似Linux里的man命令。 阅读全文
posted @ 2019-11-11 01:41 Linux-1874 阅读(2276) 评论(0) 推荐(0) 编辑
摘要: ansible是一款由python语言编写的一款自动化运维工具,它集合了众多运维工具(puppet、cfengine、chef、func、fabric)优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。它的创始人,Michael DeHaan(cobbler与Func软件的作者),他在2012年3月9日发布了ansible 0.01版。2015年10月17日被RedHat宣布收购。 阅读全文
posted @ 2019-11-09 22:29 Linux-1874 阅读(459) 评论(0) 推荐(0) 编辑