摘要: ##1. 整体测试 ###1.1 运行playbook playbook的整体运行过程如下(因为之前都运行过因此很多都显示ok,未运行): [root@xuzhichao cluster-roles]# ansible-playbook wordpress_site.yml PLAY [all] * 阅读全文
posted @ 2021-08-18 18:24 向往自由的独行者 阅读(298) 评论(0) 推荐(0) 编辑
摘要: ##1. 业务环境部署 wordpress-base:用于设置WEB集群的网络基础环境,包括所有节点网关指向出口路由器,添加DNS; wordpress-web:用来增加nginx的虚拟主机节点,PHP-FPM连接redis,nfs挂载; wordpress-proxy:用于添加nginx负载均衡的 阅读全文
posted @ 2021-08-18 18:21 向往自由的独行者 阅读(212) 评论(0) 推荐(0) 编辑
摘要: ##1. 应用环境部署 ###1.1 nginx编译部署 首先创建nginx的role目录结构: [root@xuzhichao cluster-roles]# mkdir nginx/{tasks,templates,handlers,files,meta} -p 编写nginx的task文件,编 阅读全文
posted @ 2021-08-18 18:17 向往自由的独行者 阅读(299) 评论(0) 推荐(0) 编辑
摘要: ##1. 基础环境role编写 创建基础环境role的相关目录: [root@xuzhichao cluster-roles]# mkdir base-module/{tasks,handlers,files,templates,meta} -p 编写tasks的任务文件: [root@xuzhic 阅读全文
posted @ 2021-08-18 17:51 向往自由的独行者 阅读(267) 评论(0) 推荐(0) 编辑
摘要: ##1. WEB集群环境说明 WEB集群环境说明如下: 客户端:模拟外网主机,地址:192.168.50.1; DNS服务器:主机名:dns01;地址:ETH1:192.168.20.70;ETH2:192.168.50.70; 路由器:主机名:router;地址:ETH1:192.168.20.1 阅读全文
posted @ 2021-08-18 17:50 向往自由的独行者 阅读(748) 评论(0) 推荐(0) 编辑
摘要: 1. Ansible Roles ansilbe roles是自1.2版本引入的新特性,用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。简单来讲,roles 阅读全文
posted @ 2021-08-18 17:47 向往自由的独行者 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 1. Ansible Jinja2 Jinja2 是 Python 的全功能模板引擎 Ansible 需要使用 Jinja2 模板来修改被管理主机的配置文件。 ansible 使用 jinja2 模板需要借助 template 模块实现。 template 模块和 copy 模块完全一样,都是拷贝文 阅读全文
posted @ 2021-08-18 17:41 向往自由的独行者 阅读(620) 评论(0) 推荐(0) 编辑
摘要: ##1. playbook的异常处理 ###1.1 Playbook错误忽略 在 playbook 执行的过程中,难免会遇到一些错误(返回结果不为0)。由于 playbook 遇到错误后,不会执行之后的任务,不便于调试,此时,可以使用 ignore_errors 来暂时忽略错误,使得 playboo 阅读全文
posted @ 2021-08-18 17:39 向往自由的独行者 阅读(1772) 评论(0) 推荐(0) 编辑
摘要: ##1. include任务复用 有时,我们发现大量的 Playbook 内容需要重复编写,各 Tasks 之间功能需相互调用才能完成各自功能, Playbook 庞大到维护困难,这时我们需要使用 include。 include支持在tasks阶段和handles阶段调用,调用多个include时 阅读全文
posted @ 2021-08-18 17:34 向往自由的独行者 阅读(327) 评论(0) 推荐(0) 编辑
摘要: ##1. tags标签 默认情况下, Ansible 在执行一个 playbook 时,会执行 playbook 中所有的任务。而标签功能是用来指定要运行 playbook 中的某个特定的任务; 为 playbook 添加标签的方式有如下几种: 对一个 task 打一个标签; 对一个 task 打多 阅读全文
posted @ 2021-08-18 17:32 向往自由的独行者 阅读(571) 评论(0) 推荐(0) 编辑
摘要: ##1. notify和handlers Handlers 是一个触发器,同时是一个特殊的 tasks ,它无法直接运行,它需要被tasks 通知后才会运行。比如: httpd 服务配置文件发生变更,我们则可通过Notify 通知给指定的 handlers 触发器,然后执行相应重启服务的操作,如果配 阅读全文
posted @ 2021-08-18 17:31 向往自由的独行者 阅读(850) 评论(0) 推荐(0) 编辑
摘要: ##1. loop循环语句 在写 playbook 的时候发现了很多 task 都要重复引用某个相同的模块,比如一次启动10个服务,或者一次拷贝10个文件,如果按照传统的写法最少要写10次,这样会显得 playbook 很臃肿。如果使用循环的方式来编写 playbook ,这样可以减少重复编写 ta 阅读全文
posted @ 2021-08-18 17:30 向往自由的独行者 阅读(1142) 评论(0) 推荐(0) 编辑
摘要: ##1 when控制语句 when 判断在用于控制在满足when所指定的条件的情况下才执行响应的动作。 使用场景: 比如: web 节点都需要配置 nginx 仓库,但其他节点并不需要,此时就会用到when 判断。 比如: Centos 与 Ubuntu 都需要安装 Apache ,而 Centos 阅读全文
posted @ 2021-08-18 17:29 向往自由的独行者 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: ##1 Ansible Facts Variables Ansible facts 用来自动采集,”被控端主机“ 自身的状态信息。 比如: 主机名、IP地址、系统版本、CPU数量、内存状态、磁盘状态等等。 ###1.1 facts的获取方法 被控节点的facts信息需要使用ansible的setup 阅读全文
posted @ 2021-08-18 17:22 向往自由的独行者 阅读(909) 评论(0) 推荐(0) 编辑
摘要: ##1. 变量注册Register register 关键字可以将某个 task 任务结果存储至变量中,最后使用 debug模块 输出变量内容,可以用于后续排障; 示例一:register的基本使用: #playbook文件: [root@xuzhichao ansible_var]# cat te 阅读全文
posted @ 2021-08-18 17:19 向往自由的独行者 阅读(1278) 评论(0) 推荐(1) 编辑
摘要: 1. Ansible Variables 变量提供了便捷的方式来管理 ansible 项目中的动态值。 比如 nginx-1.12 ,可能后期会反复的使用到这个版本的值,那么如果将此值设置为变量,后续使用和修改都将变得非常方便。这样可以简化项目的创建和维护。 变量名:仅能由字母、数字和下划线组成,且 阅读全文
posted @ 2021-08-18 17:18 向往自由的独行者 阅读(407) 评论(0) 推荐(0) 编辑
摘要: ##1. playbook简介 playbook的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲,所谓task无非是调用ansible的一个个模块。将多个play组织在一个playbook中,即可以让它们联同起来按事先编排的机制同唱一台大戏。 p 阅读全文
posted @ 2021-08-18 17:10 向往自由的独行者 阅读(270) 评论(0) 推荐(0) 编辑
摘要: ##1. selinux模块 功能:管理远端主机的 SELINUX 防火墙; 主要参数如下: 参数 说明 state Selinux模式:enforcing、permissive、disabled polocy targeted 示例一:设置 selinux 为 enforcing [root@xu 阅读全文
posted @ 2021-08-18 17:07 向往自由的独行者 阅读(1485) 评论(0) 推荐(0) 编辑
摘要: ##1. archive模块 功能:在远端主机打包与压缩; 主要参数如下: 参数 说明 path 要压缩的文件或目录 dest 压缩后的文件 format 指定打包压缩的类型:bz2、gz、tar、xz、zip 示例一:将 /var/log 目录压缩为 tar.gz 格式,并存储至 /opt 目录下 阅读全文
posted @ 2021-08-18 17:06 向往自由的独行者 阅读(3181) 评论(0) 推荐(0) 编辑
摘要: ##1. mount模块 功能:管理被控端设备挂载; 主要参数如下: 参数 说明 src 本地或远程设备的路径 path 设备挂载至本地的路径 fstype 挂载的文件系统类型,xfs、nfs... opts 挂载的参数,defaults、ro... state 挂载的状态,absent、mount 阅读全文
posted @ 2021-08-18 17:05 向往自由的独行者 阅读(2154) 评论(0) 推荐(0) 编辑