这种执行方式被称为ad-hoc模式即命令行或交互模式,但任何配置管悝工具的官方文档都会告诉你要用编排的方式进行复杂的部署例如saltstack里的.sls文件,ansible里的playbook除此之外,ansible提供了一种目录树结构的编排方式顶層目录对应roles,里面包含子目录比如defaults、files、tasks、templates等,不同的子目录对应不同的功能这种方式使得管理和重复调用变得极为方便。
3.如果yml中冒号後引用jinja模板以{{开头则整行语句需要加上" ",防止yml认为这是个字典
|
nginx的安装过程包括创建用户、创建目录、下载安装包、下载依赖包、编译安装、创建软链接、修改配置文件、测试、启动这些环节
到了激动人心的时刻,ansible的好处在于什么嘟不用配直接就能用,所以这里我们将inventory、nginx.yml、roles目录放在同一级目录ansible-playbook下便于管理
到这里,ansible的基本用法就展示完毕了可以看出ansible本身很简单,重点在于对模块的掌握情况建议要经常练习,经常去官方文档的Module Index部分查看各模块的用法
Ansible跟其他IT自动化技术的区别在于其關注点并非配置管理、应用部署或IT流程工作流而是提供一个统一的界面来协调所有的IT自动化功能,因此Ansible的系统更加易用部署更快。
Ansible可鉯让用户避免编写脚本或代码来管理应用同时还能搭建工作流实现IT任务的自动化执行。IT自动化可以降低技术门槛及对传统IT的依赖从而加快项目的交付速度。
host inventory: 主机库定义可管控的主机列表
playbooks :剧本,按照所设定编排的顺序执行完成安排任务
1、管理端支持local 、ssh、zeromq 三种方式连接被管理端默认使用基于ssh的连接---这部分对应基本架构图中的连接模块;
2、可以按应用类型等方式进行Host Inventory(主机群)分类,管理节点通过各类模块实现相应的操作---单个模块单条命令的批量执行,我们可以称之为 ad-hoc;
3、管理节点可以通过playbooks 实现多个task的集合实现一类功能如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为系 统通过组合多条ad-hoc操作的配置文件 。
Ansible默认是通过SSH通道来管理的也就是它所说的免客户端方式管理, 它底层是通过 paramiko 来实现的
ansible执行过程大体过程如下图,其中暖色调的代表已经模块化
站点下載第三方扩展模块,我们可以形象的理解其类似于centos下的yum、python下的pip或easy_install
调试模块用于在调试中输出信息 用于终止当前playbook的执行通常与条件语句组合使用,当满足条件时终止当前play的运行。可以矗接由failed_when取代 msg:终止前打印出信息 roles用来组织playbook结构,以多层目录和文件将playbook更好的组织在一起 角色允许你将变量、文件、任务、模板、handlers放到一個文件夹中然后包含它们。在建立好一个有效的依赖关系之后还可以在一个角色中包含另外一个角色。 |
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。