Ansible简介

来自CloudWiki
跳转至: 导航搜索

Ansible介绍

Ansible是一款强大的配置管理工具,目的是帮助系统管理员高效率地管理成百上千台主机。

设想一个主机是一个士兵,那么有了Ansible,作为系统管理员的你就是一个将领,

你可以通过口头命令,即以一次下发一条命令(ansible ad-hoc模式)的方式使一个或多个甚至全部的士兵按你的指令行事,

也可以将多条命令写在纸上(ansible playbook模式),让士兵按照你写好的指令执行。你

可以让多个士兵同时做相同或不同的事情,也可以方便地让新加入的士兵快速加入已有的兵种队伍,

还可以快速改变兵种(配置管理),一句话,士兵都严格听你的,你只要做好命令的设计,Ansible就会自动帮你发布和执行。

Ansible名称的由来

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

大家或许早在电影中就已看过安塞波 (Ansible),它是虚构的超光速通讯装置。片中主角安德 (Ender) 和他的伙伴们透过 Ansible 跨越时空指挥无数的战舰,就好比我们操控海量的远端服务器一样。

我们只需要在一台机器(类UNIX系统)上安装Ansible,即可在这台机器上管理其他主机,Ansible使用SSH协议与被管理的主机通信,只要SSH能连接这些主机,Ansible便可以控制它们,被管理的主机不需要安装Ansible。

Python20-12-11.png

Andible功能

  • Ansible 是一个开源的自动化平台,使用 简单的自动化语言,编写的 Playbook 可以完美的描述 IT 应用基础架构。同时带有自动化引擎,可以运行 Ansible Playbook
  • Ansible可以管理强大的自动化任务,能够适应不同的工作流和环境
  • 可以快速的提高工作效率

Ansible优点

  • 跨平台支持
  • 人类可读的自动化
  • 完美描述应用
  • 轻松管理版本控制
  • 支持动态清单
  • 编排可与其他系统轻松集成

ANSIBLE:DEVOPS的语言

通信是 DevOps 的关键。

Ansible 是第一种可以跨 IT 读写的自动化语言

Ansible是唯一能够对应用程序生命周期进行完整管理的自动化引擎

Ansible架构

Ansible 架构中有两种计算机类型:控制节点 和 受管主机(controlnode and managed hosts)

Ansible 软件安装在控制节点上,所有组件也在控制节点上被维护

受管主机列在主机清单(inventory)文本文件中,位于控制节点上,含有受管主机名称或 IP 列表

Ansible 使用 SSH 与受管主机进行通信。playbook 中引用的模块将复制到受管主机。然后使用 playbook 中指定的参数,按顺序执行 用户可按需编写自定义模块,但 Ansible 附带的核心模块能够执行大部分系统管理任务

Ansible22050301.png

Ansible22050302.png

Ansible22050303.png