ansible
文章平均质量分 80
ansible
繁华依在
欢迎关注我的专栏,大家一起学习。
展开
-
十二、ansible中的模板 template 模块和 jinja2模板引擎
宏的使用jinja2中也有类似函数的东西,它叫做"宏",利用宏,我们可以方便快捷的重复的利用一段内容。定义宏时需要使用"{% macro %}“开头,使用”{% endmacro %}"结束,如果想要真正的使用宏,还需要引用它,下例的最后一行就是在调用testfunc宏。传参数的宏// 定义了两个变量{{ a }}{{ b }}//把这两个变量作为参数,传到宏里边test12宏使用参数的默认值。原创 2024-01-02 20:15:00 · 2230 阅读 · 1 评论 -
十一、ansible的include任务重复使用
include 支持在tasks阶段和handles阶段调用,调用多个include时可以使用loop循环的方式,还可以向include的playbook中传递变量。有时,我们大量的playbook 内容需要重复编写,各 tasks 之间功能需要相互调用才能完成,这时我们需要使用 include。include 不仅能够引用任务列表,还能够引用playbook,比如,在一个playbook中引用另一个playbook。示例:通过指定标签,来说明是安装tomcat8 还是tomcat9。原创 2024-01-01 09:30:00 · 393 阅读 · 0 评论 -
十、ansible中的过滤器
目录一、跟字符串有关的过滤器二、跟数字有关的过滤器三、列表操作相关的过滤器四、变量未定义时相关操作的过滤器五、dict2items过滤器 过滤器是一种能够帮助我们处理数据的工具,当我们想要通过过滤器处理数据时,只需要将数据通过管道符传递给对应的过滤器即可,示例:将变量的值,都转换成大写字母 过滤器说明upper转换成大写lower转换成小写length返回字符串长度round四舍五入random返回随机数max、min最大值、最小值sort、升序sort(reverse=true)降序sum求原创 2023-12-31 10:00:00 · 423 阅读 · 0 评论 -
九、ansible中的循环
我们通过”{{groups.ungrouped}}”获取到了未分组的返回信息,并使用关键字”with_items”接收了返回信息,然后使用debug模块输出了名为”item”变量的变量值,”with_items”关键字会把返回的列表信息自动处理,将每一条信息单独放在一个名为”item”的变量中,我们只要获取到名为”item”变量的变量值,即可循环的获取到列表中的每一条信息。对迭代项的引用,固定变量名为 "item";原创 2023-12-30 10:00:00 · 1113 阅读 · 1 评论 -
八、ansible-playbook中tags的用法
如果写了一个很长的playbook,其中有很多的任务,这并没有什么问题,不过在实际使用这个剧本时,可能只是想要执行其中的一部分任务而已,或者,你只想要执行其中一类任务而已,而并非想要执行整个剧本中的全部任务,这个时候我们就可以借助 tags 标签实现这个需求。tags可以帮助我们对任务进行’打标签’的操作,与模块名同级,当任务存在标签以后,我们就可以在执行playbook时,借助标签,指定执行哪些任务,或者指定不执行哪些任务了。示例1:对一个task 打一个标签。示例:不同的任务可以使用相同的标签。原创 2023-12-29 09:30:00 · 926 阅读 · 3 评论 -
七、ansible playbook中handlers的用法
Handlers 是一个触发器,也可以理解成是一个特殊的 tasks,与tasks同级,因为他无法直接运行,handlers中的任务会被tasks中的任务进行“调用”,但是,被调用,并不意味着一定会执行,只有当tasks中的任务真正执行以后(真正的操作,发生了改变),handlers中被调用的任务才会执行,如果tasks中的任务并没有做出任何实际的操作,那么handlers即使被调用,也不会执行。原创 2023-12-29 09:00:00 · 576 阅读 · 1 评论 -
六、ansible的条件判断
"错误处理"功能就是当某任务出错时,执行指定的其他任务,打个比方,我们想要在A任务执行失败时执行B任务,如果A任务执行成功,则无需执行B任务,实现这个功能,就能够使用block,当然,我们还有一些别的方法,也可以实现类似的功能,比如前文中提到的jinja2的tests,有个一名为failed的test,借助failed也可以实现类似的功能,在when关键字中引用变量时,变量名不需要加"{{ }}",我们可以使用when关键字为任务指定条件,条件成立,则执行任务,条件不成立,则不执行任务。原创 2023-12-28 11:30:45 · 1133 阅读 · 1 评论 -
五、ansible的变量详解
1、通过ansible-playbook命令行传递变量参数定义;2、在play文件中定义;通过vars定义变量;通过vars_files定义变量;3、通过 inventory在主机组或单个主机中设置变量;通过host_vars对主机进行定义通过group_vars对主机进行定义通过inventory-hosts主机清单文件中定义变量;vars:#使用变量如下:---vars:debug:msg:"msg": ["test1","test2"原创 2023-12-28 09:38:26 · 1242 阅读 · 1 评论 -
四、ansible-playbook
playbook主要功能在于将实现归并为一组的主机装扮成事先通过ansible中的task定义好的角色。playbook是由yaml语法编写的文本文件,由play和task两部分组成。play:主要是定义要操作的主机或者主机组task:主要定义对主机或者主机组具体执行的任务,可以是一个任务,也可以是多个任务(模块)playbook是对ad-hoc的一种编排方式playbook可以持久运行,而ad-hoc只能临时运行playbook适合复杂的任务,而ad-hoc适合快速简单的任务。原创 2023-12-27 13:49:06 · 829 阅读 · 0 评论 -
三、ansible常用模块
ansible常用模块查看当前支持的模块ansibke-doc -s 模块名查看该模块的参数。原创 2023-12-27 11:11:57 · 754 阅读 · 0 评论 -
一、ansible基础
Ansible是一个IT自动化的配置管理工具,自动化主要体现在Ansible集成了丰富的模块,以及强大的功能组件,可以通过一个命令完成一系列的操作。利用ansible实现管理的方式ad-hoc:执行单条命令ansible-playbook:主要用于长期规划好的大型项目场景。操作灵活:ansible有较多的模块,提供了丰富的功能、playbook则提供了类似于编程语言的复杂功能。编排高级的IT任务,ansible的playbook是一门编程语言,可以用来描述一套IT架构。原创 2023-12-27 09:30:46 · 343 阅读 · 0 评论 -
二、ansible 安装与配置文件管理
ansible安装常用的两种方式,yum安装和 pip程序安装pip安装(python的包管理模块)安装查看ansible版本 ansible --version二、ansible相关文件ansible目录如下(yum安装)配置文件目录:/etc/ansible/ansible.cfg配置主机清单文件:/etc/ansible/hosts存放ansible角色的目录:/etc/ansible/roles执行文件:/usr/bin/Lib库依赖目录:/usr/lib/pythonX.X原创 2023-12-27 10:12:43 · 858 阅读 · 0 评论