标签: Ansible

45 篇文章

046、一步一步学role角色-base基础角色配置
一步一步学role角色-base基础角色配置 1. 概述 这是一个序列总结文档。 第1节 ansible role角色(1)]中,我们阅读了官方文档,并且知道了角色相关的概念。 第2节 ansible role角色(2)--创建第一个role角色 创建一个简单的测试role角色。 从这节开始,我们使用VirtualBox搭建虚拟环境,来实践Ansible角色,完成自动化运维工作。后面关于角色相关介…
045、、第一个role角色
第一个role角色 1. 概述 在上一节 ansible role角色(1)中,我们阅读了官方文档,并且知道了角色相关的概念。从这节开始,我们就开始使用Ansible role功能来搭建自己的自动化环境。 2. 编写第一个role角色 2.1 编写角色文件 我是在~/ansible_playbooks目录下进行一系列测试操作的。为了测试角色,在该目录下创建roles目录,我将第一个角色命名为fir…
044、role角色
role角色 1. 概述 Ansible 在1.2版本以后就支持了role角色。在实际工作中有很多不同业务需要编写很多playbook剧本文件,如果时间一久,对些剧本文件很难进行维护,这个时候我们就可以采用role角色的方式管理playbook剧本。 role角色是对日常使用的playbook的目录结构进行一些规范。 role角色官方文档Roles 2. 角色目录结构 Ansible角色具有定义的…
043、lookups插件
lookups插件 1. 概述 我们在debug调试模块中使用了多种方式定义变量,但这些变量的定义大部分是静态的,其实Ansible支持从外部数据拉取信息,比如从数据库里面读取信息然后定义给一个变量,这时候就可以使用lookups插件。 lookups插件,官方文档 Lookups。 Lookup plugins 官方文档 Lookup plugins。 1.1 查看lookups可用查看列表 如…
042、filter过滤器
filter过滤器 1. 过滤器概述 Ansible有非常多的过滤器,详细可参考:Filter Plugins Ansible使用Jinja2标准过滤器,并增加了一些Ansible特有的过滤器,可参考Filter plugins,你也可以自定义过滤器,请参考create custom Ansible filters as plugins。 Jinja2内置过滤器也有很多,详细可参考List of …
041、tags标签
tags标签 1. 概述 如果你有一个超大的playbook剧本文件,有时并不想运行剧本文件中所有的任务,这个时候tags标签可以解决这个问题,通过tags标签可以运行或者忽略(execute or skip)剧本中的部分任务。 你需要给任务添加标签,然后在运行剧本时选项相应的标签。 详细可参考官方文档 Tags 2. 官方示例 你可以给任务添加一个或多个标签。 你可以在剧本中添加标签,也可以在t…
040、handlers触发器
handlers触发器 0. 场景引入 我们在 lineinfile文件内容修改模块 模块中曾经向nginx配置文件最后写入了三行无意义的备注信息: [root@node1 ~]# tail -n 3 /etc/nginx/nginx.conf # Orange # Apple # Banana [root@node1 ~]# 本节我们尝试将三行无意义的备注信息去掉,然后再重启Nginx服务,编写…
039、ansible-vault数据加密
ansible-vault数据加密 1. 概述 Ansible Vault对变量和文件进行加密,这样您就可以保护密码或密钥等敏感内容,而不是将其作为明文显示在剧本或角色中。然后你可以将加密后的内容上传到版本管理仓库中,而不用担心密码泄露。 官方文档:Ansible Vault。 命令行参数说明ansible-vault。 简单来说,对于密码之类的敏感信息,可以使用ansible-vault加密后,…
038、ansible loop循环
ansible loop循环 1. 概述 ansible循环官方文档 Loops ansible提供loop、with_<lookup>、until等关键字来多次执行任务。 ansible在2.5版本中引入了loop循环,它尚未完全替代 with_<lookup>,但ansible官方建议在大多数用例中使用它。 ansible并没有废弃with_<lookup>…
037、changed_when与failed_when条件判断
changed_when与failed_when条件判断 1. 概述 与when条件语句类似,我们可以使用changed_when语句和failed_when语句来对命令运行的结果进行判断。对于Ansible来说,其很难判断一个命令的运行是否符合我们的实际预期,尤其是当我们使用command模块和shell模块时,如果不使用changed_when语句,Ansible将永远返回changed。大部…