0
点赞
收藏
分享

微信扫一扫

Ansible简介

Python芸芸 2023-03-22 阅读 197

运维的未来是让研发人员能够借助工具、自动化和流程,在运维人员干预极少的情况下部署和运营服务,从而实现自助服务。每个角色都应该女里使功过实现自动化。——运维的未来

1.自动化运维工具

自动化运维工具能够帮助运维人员肉眼可见的提高工作效率,并减少人为错误。

常见自动化运维工具:

  • Ansible:python,中小型应用环境
  • Saltstack:python,需要部署agent,执行效率高
  • Puppet:ruby,功能强大,配置复杂,重型,适合大型环境

2.Ansible

Ansible是最近几年特别火的一款开源自动化运维工具,操作简单、容易上手,能够用来挂里各种资源。

Ansible基于SSH远程会话协议,不需要客户端程序,只要是到managed node的IP地址、账号和密码,就能直接用SSH协议你进行远程控制。

Ansible服务本身并没有批量部署的功能,它仅仅是一个框架,真正具有批量部署能力的是其所运行的模块。Ansible内置了上千个模块,在安装Ansible时一并安装,通过调用指定的模块实现特定的功能。

3.Ansible特点

3.1 优点

  • 功能模块丰富。
  • 使用和部署简单,无需安装专用代理软件,基于python和SSH实现。
  • 安全,基于OpenSSH实现安全通讯无需专用协议。
  • 幂等性:一个任务执行1遍和执行n遍效果一样,不会因为重复执行带来意外情况。
  • 2012年被红帽购买,背景强大。

3.2 缺点

  • 管理主机较多时,执行效率不如saltstack高
  • 不支持事务回滚。

4.术语

  • Control node:控制节点,安装了Ansible的主机。
  • managed node:受控节点,被远程管理的主机。
  • inventory:主机清单,受控节点列表。
  • module:模块,用于实现特定功能的代码。
  • task:任务,要在受控节点上执行的操作。
  • playbook:剧本,通过YAML语言编写的可重复执行的任务列表。
  • role:角色,用于结构化地组织剧本。


举报

相关推荐

0 条评论