Ansible 和 SaltStack、Puppet 等都是配置管理系统(configuration management system)
Ansible 和 SaltStack 都是 Python 编译的自动化运维工具,都是使用模块管理。不同的是Ansible没有客户端(使用的 SSH 通道传输)而 SaltStack 有客户端(虽然 SaltStack 也可以用 SSH通道,但和 Ansible 相比就是个笑话),这方面各有优点吧,有客户端的更稳定,没有客户端的更灵活可移植性强
相比 Puppet 来说 Ansible 没有客户端(使用的 SSH 通道传输)、简单易用和日志集中控管
Ansible 可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作。
比如:同时在100台服务器上安装 NFS 服务,并在安装后启动服务。
比如:将某个文件一次性拷贝到100台服务器上。
比如:每当有新服务器加入工作环境时,你都要为新服务器部署某个服务,也就是说你需要经常重复的完成相同的工作。
这些场景中我们都可以使用到 Ansible。
Ansible 特点
Ansible 不需要单独安装客户端,SSH 相当于 Ansible 客户端。
Ansible 可以在配置文件里面记录 SSH 账号密码方式也可以使用密钥对方式连接。
Ansible 不需要启动任何服务,仅需安装对应工具即可。
Ansible 依赖大量的 Python 模块来实现批量管理。