Ansible详解(一)——Ansible理论基础

今天继续给大家介绍Linux运维相关知识,本文主要内容是Ansible的理论知识。

一、自动化运维简介

目前,随着IT行业的高速发展,市场上出现了一大批自动化管理工具,这些工具可以使得我们通过一台设备管理控制成千上万台不同的设备,使得我们更方便、更快捷的进行运维管理。
目前主流的自动化运维工具有PSSH、Puppet、Chef、SaltStack、Ansible等等,互联网企业使用最多的是Ansible、Saltstack和Puppet。下面,我主要介绍一下Puppet和Saltstack工具的特点:

(一)Puppet工具特点

Puppet是早期的Linux自动化运维管理工具,可以集中管理Linux、Windows和Unix等平台。Puppet发展至今已经非常成熟,可以批量管理远程服务器,模块丰富,配置复杂,基于Ruby语言编写,是典型的C/S模式,需要安装服务端与客户端。Puppet的管理设备是服务端、被管理设备是客户端,每个客户端周期(周期默认是30分钟)性的向服务端发送请求,获取最新的配置信息,保证配置同步。Puppet适用于服务器管理的整个过程,比如初始化安装、配置、更新以及系统下线。

(二)Saltstack工具特点

Saltstack与Puppet类似,也是基于C/S模式的自动化管理控制工具。Slatstack基于Python语言编写,并且加入了MQ消息队列和ELK消息同步,可以使执行命令和执行结果高效返回,但其执行过程需要等待客户端全部返回,如果客户端未及时返回或未响应的话,可能导致部分设备没有执行结果。

二、Ansible特点

Ansible也是基于Python语言开发,因为Ansible是基于SSH来进行远程管理,因此Ansible并且只需要在一台普通的服务器上运行即可,并不需要被管理设备安装客户端。Ansible安装使用简单,并且基于上千和模块和插件实现各种软件、平台和版本的管理,支持虚拟容器多层级的部署。但是,Ansbile有一个显著的特点,就是管理过程非常缓慢,这也是由于其基于SSH来进行远程管理的特点决定的。Ansible官网网站为https://www.ansible.com/,该网站如下所示:
Ansible详解(一)——Ansible理论基础_第1张图片
Ansible具有以下特点:
1、部署简单,只需要在控制设备上部署Ansible环境,而不需要在被控制设备上进行任何操作。
2、使用SSH协议对设备进行管理。
3、主从集中化管理。
4、配置简单、功能强大、可扩展性强。
5、支持API及自定义模块,可通过Python轻松扩展。
6、通过playbooks来定制强大的配置、状态管理。
7、对云计算平台、大数据都有很好的支持。

三、Ansible架构详解

Ansible架构如下所示:
Ansible详解(一)——Ansible理论基础_第2张图片
可以看到,Ansible主要由5部分组成:
1、Ansible
为Ansible的核心,主要用于处理请求。
2、Modules
为Ansible的模块,包括Ansible自带的核心模块和自定义模块。
3、Plugins
为Ansible完成模块功能的补充,包括链接插件、邮件插件等等。
4、Playbooks
剧本,定义Ansible多任务配置文件,由Ansible自动执行。
5、Inventory
定义Ansible管理主机的清单。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(自动化运维,运维,Linux,Ansible,自动化运维,运维管理)