美文网首页杂汇
【运维】自动化运维工具Ansible实战

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

作者: 阿里云大学百科 | 来源:发表于2019-05-24 14:40 被阅读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操作的配置文件

    更多精品技术课程:

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

    相关文章

      网友评论

        本文标题:【运维】自动化运维工具Ansible实战

        本文链接:https://www.haomeiwen.com/subject/gybgzqtx.html