常用自动化运维工具简介和Ansible安装

本文介绍了自动化运维工具,重点讲解了Ansible的特点和工作方式,包括无代理架构、人类可读的自动化以及跨平台支持。还详细阐述了Ansible的安装过程,强调了控制节点和受管主机的Python版本需求。Puppet和SaltStack也被提及,作为对比,突显Ansible的简洁易用性。
摘要由CSDN通过智能技术生成

自动化运维工具

Puppet

Puppet是历史悠久的运维⼯具之⼀。它是⼀种基础架构即代码(IaC)⼯具,使⽤户可以定 义其
基础架构所需的状态,并使系统⾃动化以实现相同状态。
Puppet可监视⽤户的所有系统,并防⽌任何偏离已定义状态的情况。从简单的⼯作流程⾃ 动化到
基础架构配置和合规性,Puppet都能做到。
Puppet通过让客户端检查主站的更新清单来更新节点的配置,然后从主站服务器拉下新的 配置。
由于这个特点,Puppet⽐这⾥提到的许多其他⼯具更倾向于系统管理员。
特点:
(1)通过PuppetLabs建⽴良好的⽀持社区
(2)它有最成熟的接⼝,⼏乎在每个操作系统上运⾏
(3)简单的安装和初始设置
(4)在这个空间中最完整的Web UI (5)强⼤的报告功能

特点:
Puppet是早期的Linux自动化运维工具,是一种LINUX、WINDOWS、UNIX平台的集中配置管理系
统,到现在已经非常成熟,可以批量管理远程服务器,模块丰富,配置复杂,基于Ruby语言编写。
是最典型的C/S结构,需要安装服务端和客户端 。

Puppet采用C/S星状的结构,所有的客户端和一个或者多个服务器交互,每个客户端周期地(默认
半个小时)向服务器发送请求,获得最新的配置信息,保证和配置信息同步。

每个Puppet客户端周期地连接一次服务器,下载最新的配置文件,并且严格按照配置文件来配置客
户端。配置完成后,Puppet客户端可以反馈给服务器端一个消息,如果出错也会给服务器端反馈一
个消息。

Puppet适用于服务器管理的整个过程,比如初始安装、配置、更新等
优缺点:

  • 优点

模块由Ruby或Ruby子集编写
push命令可以即可触发变更
Web界面生成处理报表、资源清单、实时节点管理
代理运行端进行详细、深入的报告和对节点进行配置

  • 缺点

相对其他工具较复杂,需学习Puppet的DSL或Ruby
安装过程缺少错误校验和产生错误报表

SaltStack

Salt由Salt Master和被称为Salt Minions的客户端组成,后者作为代理在每个节点机器上运⾏。
Puppet的⼯作⽅式是由节点请求更新,⽽Salt的⼯作⽅式与此相反,SaltMaster将所有配置推送
给所有客户机。

Salt还可以在多主机配置中运⾏。如果⼀个Salt主服务器发⽣故障,代理将连接到配置中列 出的另
⼀个主服务器。这⼀功能提⾼了整个系统的整体可⽤性和冗余度。
Salt的另⼀个好处是,它允许⼀次并⾏执⾏多个命令。这些命令通过AES(⾼级加密标准) 进⾏加
密,并通过SSH协议推送给客户端节点。
特点:
(1) 实时交互 所有的minion机器同时执⾏命令

(2)no freeloader
每⼀台salt minion上都装有执⾏master传来的命令所需要的程序,saltmaster发送命令的时 候,
只需要指明哪台机器做什么,所有的saltminion都会收到这条命令,然后判断⾃⼰是否符 合执⾏条
件,然后再将执⾏结果返回给saltmaster。 ⽂档中,freeloader的意思是没有揩油/吃⽩⻝的⼈,
所有的saltminion机器都会完成⾃⼰ 的指令,⽆需saltmaster帮助,saltminion⾃⼰完成,往往⽐
saltmaster帮忙去做,做的更好。

(3)可测量性 salt为⾼性能和可测量性⽽⽣。
salt的master和minion的信息传输,是由基于ZeroMQ 或者raw TCP在saltmaster和saltminion之
间建⽴的⼀个持久性的数据管道来实现的。这相对于其它传输机制,有更好的性 能优势。使⽤
MessagePack使得消息⾮常⾼效地被序列化。 salt内部使⽤python Tornado作为异步⽹络库,
并发和多线程也都采⽤了先进的技术。

(4)salt可以在任意python能够运⾏的环境下运⾏ 只要⽀持任何⽹络协议的就⾏。 salt 命令被发送
到 代理minion机器,将协议转换为本地写协议,再发送给salt minion机 器,返回的数据经转以后
存储在数据设备中,再返回

(5)⾃动化管理
(6)可扩展性强

特点:
SaltStack和Puppet一样,也是C/S模式,需要安装服务端和客户端,基于Python编写,加入了MQ
消息同步,可以使执行命令和执行结果高效返回,但其执行过程需要等待客户端全部返回,如果客
户端没有及时返回或者没有响应的话,可能会导致部分机器没有执行结果。

优缺点:

  • 优点

状态文件可用简单YAML配置模块或复杂的Python/PyDSL脚本
与客户端可以基于SSH或在被管节点安装代理
Web界面可看到运行的工作、minion状态、事件日志、可在客户端执行命令
扩展能力极强

  • 缺点

Web界面像毒药竞争产品不稳定与相对不完善
缺乏生成深度报告的能力

Ansible

Ansible是当下⽕热的⾃动化运维⼯具,它基于模块⼯作的,本身没有批量部署的能⼒。真 正具有
批量部署的是ansible所运⾏的模块,通过集成⾮常丰富的模块,它可以实现各种管 理任务,如批
量系统配置、批量程序部署、批量运⾏命令等。 重

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值