Ansible简单介绍(一)

一 :ansible简单介绍

此名取自 Ansible 作者最喜爱的《安德的游戏》 小说,而这部小说更被后人改编成电影 -《战争游戏》。

官网地址:https://www.ansible.com/

  Ansible是一个部署一群远程主机的工具,服务端被称作为主控制端,通过SSH协议实现被控制端之间的通信。我认为只要管理员能通过ssh登录到另外一台任何远程主机上能做的操作,Ansible都可以轻松基于模块化做到你想做的任务,例如 copy,file,shell,等等众多模块,目前支持的模块大概2千左右,后续可能会更多,它也是python开发的一款软件,需要依赖一些python库和组件,如:paramiko,PyYaml和jinja三个关键组件,目前已经被Redhat收购,(可喜可贺)!

二:常用的运维自动化工具

Ansible:基于python研发,中小型应用环境,我实际环境大约2000台左右,执行的时候会比较慢,后续有优化的方法。

Saltstack:python,一般需部署agent,执行效率更高,大型环境几千台的云主机还是很不错,因为有anget,所以它的效率会更高,由于ansible的简单盛行,现在的我基本很少用了。

Puppet:ruby开发,功能强大,配置复杂,重型,觉得一般都是大公司都在用吧,很牛的一款工具

其他的也有但是没怎么用过,就不做探讨了。

三:为什么要用ansible

  1. 既然找到这里就说明你已经知道这个工具的重要性。
  2. 简单,批量,易学,操作方便,不需要C/s架构,同时 ansible是新出现的自动化运维工具,基于Python开发。
  3. 集合了众多运维工具的优点,实现了批量系统配置、批量程序部署。
  4. 最主要的我认为是基于SSH认证,省去了agent比较方便。 那为什么不用Saltstack ?哈哈,我是觉得烦琐,需要部署agent。

四:优点的特性

  1. 模块化:使用特定的模块,完成模块任务,有Paramiko,PyYAML,Jinja2(模板语言)三个关键组件
  2. 支持自定义模块
  3. 基于Python语言实现
  4. 部署简单,基于python和SSH(默认已安装),agentless
  5. 安全,基于OpenSSH
  6. 支持playbook编排任务
  7. 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况
  8. 无需代理不依赖PKI(无需ssl)
  9. 可使用任何编程语言写模块
  10. YAML格式,编排任务,支持丰富的数据结构
  11. 较强大的多层解决方案

五:重要组成部分

  • API:供第三方程序调用的应用程序编程接口
  • Inventory:Ansible管理主机清单,存放在/etc/ansible/hosts(默认)
  • Modules:模块,Ansible执行命令的功能的模块,多个命令的组合,每个命令都是一个模块
  • Playbook:剧本,多个模块的组合,编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是JSON格式的YML文件,如遇到任务失败,可回滚
  • Plugins:模块功能的补充,如连接类型的插件、循环插件、变量插件、过滤插件等,该功能不常用
  • Ansible:组合Inventory、API、Modules、Plugins的绿框,可以理解为是ansible命令工具,其为核心执行工具

 

转载于:https://www.cnblogs.com/liych/p/11509213.html

### 回答1: Ansible是一个用于自动化的IT管理工具,它可以帮助管理者轻松配置、管理和维护计算机系统。它通过简单的代码来控制系统,允许管理者自动化配置、部署和管理应用程序。Ansible还可以用于安装和配置应用程序、网络和服务,以及进行系统管理任务,例如备份和恢复等。 ### 回答2: Ansible是一种开源的自动化工具,用于自动化IT任务的执行和管理。它是基于Python编写的,可以通过SSH协议与远程主机进行通信,实现对多台主机的批量管理。 Ansible使用简单的YAML格式语言来描述任务和配置,无需在被管理的主机上安装任何客户端或代理,只需要通过SSH连接到目标主机。这使得Ansible的安装和部署非常方便,同时降低了系统维护的负担。 Ansible的主要特点包括: 1. 简单易用:Ansible使用YAML格式的Playbook来定义任务和配置,具有很好的可读性。用户只需编写简单的Playbook脚本来描述任务的执行流程,无需编写复杂的脚本或编程语言。 2. 高效可靠:Ansible采用SSH协议与被管理的主机通信,可以同时管理上千台主机,执行任务的效率非常高。同时,Ansible具有自动化错误处理和回滚机制,确保任务的可靠性和一致性。 3. 多平台支持:Ansible支持多种操作系统和平台,包括Linux、Windows、网络设备等。用户可以使用相同的Playbook脚本管理不同平台的主机,提高了跨平台管理的效率。 4. 模块化架构:Ansible提供了丰富的模块库,可以实现众多常见任务的自动化,如软件包管理、服务启停、系统配置等。用户也可以自己编写模块来满足特定需求。 5. 可扩展性:Ansible具有很好的扩展性,用户可以自定义插件、扩展功能来满足特定需求。同时,Ansible与其他工具(如Docker、Kubernetes)的集成也非常方便。 总之,Ansible是一款强大而易用的自动化工具,可以大大简化IT任务的管理和执行过程,提高工作效率,降低运维成本。 ### 回答3: Ansible 是一种开源的自动化工具,用于配置管理、应用程序部署以及任务自动化。它采用简单易懂的语法和模块化设计,可以帮助管理员轻松自动化各种复杂的部署和管理操作。 Ansible 的核心思想是基于 YAML 语言的描述性配置文件,这使得配置管理变得相对简单和直观。用户可以使用 YAML 文件定义目标主机、任务和配置项等信息,同时可以通过 Ansible 的模块库实现各种系统管理操作,比如安装软件、配置文件修改、服务启停等。Ansible 的模块库涵盖了操作系统、网络设备、云平台等各个方面,极大地方便了用户管理不同类型的主机。 Ansible 的另一个重要特点是基于 SSH 协议进行通信和操作,无需在目标主机上部署任何代理或客户端,这极大地减少了系统配置的复杂性。用户只需事先配置好 SSH 连接,就可以在控制主机上运行 Ansible 的命令,实现对目标主机的远程操作。 Ansible 还提供了丰富的特性,如批量操作、变量定义、条件判断、循环控制等,可以灵活地组织和管理任务。它还支持任务的串行执行和并行执行,用户可以根据实际需求选择最适合的方式。 与其他自动化工具相比,Ansible 的学习曲线相对较低。它不需要特定的编程技能,只需要掌握一些简单的 YAML 语法。此外,Ansible 还有一个庞大的社区和活跃的用户群体,用户可以轻松地获取帮助和学习资源。 总之,Ansible 是一种强大而简单的自动化工具,可以帮助管理员高效地进行配置管理和应用程序部署,减少手工操作的工作量,提高运维效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值