前言
通过前面有关Ansible《Ansible的基础认识以及安装(一)》《Ansible常用模块的介绍及使用(二)》《Ansible剧本的使用及演示(三)》以及git《Git简介及常用操作演示(一)》和Gitlab《Gitlab在Linux系统的免密登录(二)》的博客文章我们了解这些工具的基础,现在让我们完成一个小项目吧!
项目演示
为了增加项目的难度,特地要求使用role,以及templates来完成该项目。
1.在gitlab中创建一个项目 nginxinstall
2. 编写playbook,实现一键部署nginx、部署一个静态测试页、测试部署结果
要求:
部署nginx
端口:83
运行身份:root
设置并发连接数:2048
主机名:当前节点的主机名
根目录:/vaw/www/html
其他要求:
部署两个以上节点
用role
用templates
3. 将写好的playbook保存到gitlab仓库中
项目实现步骤一
1.在gitlab中创建一个项目 nginxinstall
这个应该对我们来说很简单了,所以我就不再细说
第一步:打开我们gitlab的web页面添加项目即可
点击create project即可完成项目的创建
roles使用详解
role介绍
roles 用于层次性、结构化地组织playbook。
roles 能够根据层次型结构自动装载变量文件、tasks以及handlers等。
要使用roles只需要在playbook中使用include指令即可。
简单来讲,roles就是通过分别将变量(vars)、文件(file)、任务(tasks)、模块(modules)及处理器(handlers)放置于单独的目录中,并可以便捷地include它们的一种机制。角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。
创建 roles 的步骤
(1) 创建以包含roles命名的目录,例如/tmp/yxx/roles/;
(2) 在roles目录中分别创建以各角色名称命名的目录,如nginx等
(3) 在