5.2.1 ansible概述
2025年09月21日
5.2.1 ansible概述
ansible是什么?简单来说,ansible是一个配置管理系统(configuration management system)。你只需要使用SSH访问你的服务器或设备就行。ansible不同于其他工具,因为它使用推送的方式,而不是像Puppet那样使用拉取安装Agent的方式。你可以将代码部署到任意数量的服务器上。
ansible能做什么?ansible可以帮助我们完成一些批量任务,或者完成一些需要重复的工作。比如,同时在100台服务器上安装Nginx,并在安装后启动它们;比如,将某个文件一次性拷贝到100台服务器上;比如,当有新服务器加入工作环境时,你都要为新服务器部署某个服务,也就是说,你需要重复完成相同的工作。这些场景中,我们可以使用ansible。
ansible具备以下特点。
●模块化:调用特定的模块、完成特定的任务,包含Paramiko、PyYAML、Jinja2(模板语言)三个关键模块。
●支持自定义模块。
●基于Python语言实现。
●部署简单,基于Python、SSH(默认已安装)、Agentless。
●安全,基于OpenSSH。
●支持Playbook编排任务。
●幂等性:任务执行1遍和执行n遍效果一样,不会因为重复执行而带来意外情况。
●不需要代理,不依赖PKI(不需要SSL),可使用任何编程语言编写模块。
●支持YAML格式、编排任务、丰富的数据结构。
●有较强的多层解决方案。