Ansible简介
1、定义:

Ansible是一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台,它基于Python语言实现,由Paramiko和PyYAML两个关键模块构建。
2、特点:
部署简单:只需在主控端部署Ansible环境,被控端无需做任何操作。
SSH协议:默认使用SSH(Secure SHell)协议对设备进行管理。
主从集中化管理:支持主从集中化管理模式。
配置简单、功能强大、扩展性强:易于配置,功能丰富,且具有良好的扩展性。
支持API及自定义模块:可通过Python轻松扩展。
Playbooks定制:通过Playbooks来定制强大的配置和状态管理。
云计算平台和大数据支持:对云计算平台和大数据有很好的支持。
Web管理界面和REST API接口:提供功能强大、操作性强的Web管理界面和AWX平台。
幂等性:一种操作重复多次结果相同。
3、与Saltstack的区别:
Ansible无需在被控主机部署任何客户端代理,直接通过SSH通道进行远程命令执行或下发配置;而Saltstack需要在被控主机上安装客户端代理。
4、GitHub地址:
Ansible的GitHub地址为https://github.com/ansible/。

Ansible安装及配置
1、安装步骤(以CentOS release 6.6为例):
配置epel源:下载并安装epel扩展源。
安装Ansible:使用yum命令安装Ansible。
配置Ansible:在Ansible的配置文件中添加主机信息,即可与目标主机进行通信。
2、测试方法:
使用ping模块测试主机的连通性,出现“SUCCESS”和“ping: pong”表示安装、测试成功。
3、Ansible命令集:
包括临时命令执行工具、模块功能查看工具、优秀代码或Roles模块的官网平台、定制自动化的任务集编排工具等。
4、Ansible参数:
包括模块参数、登录密码提示、提权操作密码提示、加密文件密码提示等。
Ansible模块
1、远程命令模块:
command:运行远程权限范围内的所有shell命令。
script:在远处主机上执行主控制端存储的shell脚本文件。
shell:执行远程主机的shell脚本文件。
2、copy模块:

实现主控制端向目标拷贝文件,类似于scp。
3、stat模块:
获取远程文件状态信息,如atime、md5、uid等。
4、get_url模块:
实现远程主机下载指定的URL到本地,支持sha256sum校验和。
5、yum模块:
Linux平台软件包管理模块。
相关问题与解答
1、问题一:Ansible与Saltstack的主要区别是什么?
解答:Ansible与Saltstack的主要区别在于是否需要在被控主机上安装客户端代理,Ansible无需在被控主机部署任何客户端代理,直接通过SSH通道进行远程命令执行或下发配置;而Saltstack需要在被控主机上安装客户端代理。
2、问题二:如何测试Ansible是否安装成功?
解答:可以通过使用ping模块测试主机的连通性来验证Ansible是否安装成功,如果返回“SUCCESS”和“ping: pong”,则表示安装和测试成功。
信息基于当前可获得的搜索结果,并可能随着Ansible的发展而有所变化,在使用Ansible时,建议参考官方文档以获取最新和最准确的信息。