Ansible简介

Ansible优缺点

使用ansiblle这样的自动化配置管理工具,主要优点有:

1、轻量级。不需要去客户端安装agent,更新时只需要在操作机上进行一次更新即可

2、批量任务执行可以写成脚本,而且不用分发到远程就可以执行

3、使用python编写的,维护更简单

4、支持sudo

缺点:

对于几千台、上万台机器的操作,还不清楚性能,效率情况如何,需进一步了解

Ansible应用领域

ansible的编排引擎可以出色地完成配置管理,流程控制,资源部署。流程编排等多方面工作

Ansible架构模式

Ansible管理方式

Ansible 是一个模型驱动的配置管理器, 支持多节点发布、 远程任务执行。 默认使用
SSH 进行远程连接。 无需在被管节点上安装附加软件, 可使用各种编程语言进行扩展。

ansible系统架构

Ansible 是基于模块工作的, 本身没有批量部署的能力。 真正具有批量部署的是 Ansible 所运行的模块, Ansible 只是提供一种框架。
Ansible 由以下各部分组成:

 

核心引擎 : Ansible
核心模块( core modules ): 这些都是 Ansible 自带的模块。
自定义模块( custom modules): 如果核心模块不足以完成某种功能,可以添加自定义模块。
插件( plugins): 完成模块功能的补充,借助于插件完成记录日志,邮件等功能。
剧本( playbook): 定义 Ansible 任务的配置文件,可以将多个任务定义在一个剧本中,由 Ansible
自动执行, 剧本执行支持多个任务, 可以由控制主机运行多个任务, 同时对多台远程主机进行管理。
• playbook Ansible 的配置、部署和编排语言,可以描述一个你想要的远程系统执行策略,或一组步骤
的一般过程。
连接插件( connectior plugins) : Ansible 基于连接插件连接到各个主机上, 负责和被管节点实
现通信。
主机清单( host inventory): 定义 Ansible 管理的主机策略,默认是在 Ansible hosts 配置文件中
定义被管节点

Ansible工作原理

 

1 、管理端支持 local ssh zeromq 三种方式连接被管理端,默认使用基于 ssh 的连接——这部分对应 基本架构图中的连接模块;
2 、可以按应用类型等方式进行 Host Inventory(主机群)分类,管理节点通过各类模块实现相应的操作——单个模块,单条命令的批量执行,我们可以称之为 ad-hoc
3 、管理节点可以通过 playbooks 实现多个 task 的集合实现一类功能,如 web 服务的安装部署、数据库服务器的批量备份等。playbooks 我们可以简单的理解为,系统通过组合多条 ad-hoc 操作的配置文件。Ansible默认是通过 SSH 通道来管理的,也就是它所说的免客户端方式管理, 它底层是通过 paramiko来 实现的
ansible 执行过程大体过程如下图,其中暖色调的代表已经模块化

 Ansible特性

应用代码自动化部署。
系统管理配置自动化。
支持持续交付自动化。
支持云计算 、大数据平台( 如 AWS OpenStack CloudStack VMWare 等) 环境。
轻量级, 无需在客户端安装 agent , 更新时只需在控制机上进行一次更新即可。
批量任务执行可以写成脚本, 不用分发到远程就可以执行。
使用 Python 编写,维护更简单, Ruby 语法过于复杂。
支持非 root 用户管理操作, 支持 sudo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值