杂汇

【运维】自动化运维工具Ansible实战

2019-05-24  本文已影响630人  阿里云大学百科

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

连接插件connection plugins:负责和被监控端实现通信;

host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;

各种模块核心模块、command模块、自定义模块;

借助于插件完成记录日志邮件等功能;

playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

想掌握更多关于ansible的详细内容:自动化运维工具Ansible实战

ansible架构:

ansible特性:

模块化:调用特定的模块,完成特定任务

有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块

支持自定义模块

基于Python语言实现

部署简单,基于python和SSH(默认已安装),agentless

安全,基于OpenSSH

支持playbook编排任务

幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况

无需代理不依赖PKI(无需ssl)

可使用任何编程语言写模块

YAML格式,编排任务,支持丰富的数据结构

较强大的多层解决方案

Ansible工作原理:

管理端支持local 、ssh、zeromq 三种方式连接被管理端,默认使用基于ssh的连接---这部分对应基本架构图中的连接模块

可以按应用类型等方式进行Host Inventory(主机群)分类,管理节点通过各类模块实现相应的操作---单个模块,单条命令的批量执行,我们可以称之为ad-hoc

管理节点可以通过playbooks 实现多个task的集合实现一类功能,如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为,系统通过组合多条ad-hoc操作的配置文件

更多精品技术课程:

阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场

上一篇 下一篇

猜你喜欢

热点阅读