Ansible (软件)

✍ dations ◷ 2025-08-22 07:45:03 #Ansible (软件)

Ansible是一套软件工具,其可实现基础架构即程式码(英语:Infrastructure as code)。它是开源的,并且该套件包括软件供应、组态管理和应用程序部署等功能。

Ansible 最初由 Michael DeHaan 编写,并于 2015 年被Red Hat收购,其旨在自动化设定类 Unix系统和Microsoft Windows 的环境。Ansible 是无代理(英语:Software agent)的,借由透过SSH或允许PowerShell执行的Windows 远端管理机制来建立临时远端连线。 Ansible 的控制节点在大多数已安装Python的类 Unix 系统上执行,亦包含安装了WSL的 Windows系统。 系统组态(英语:System configuration)部分是透过使用它自己的宣告式语言来定义的。

"ansible"一词是由Ursula K. Le Guin在她 1966 年的小说中所创造的,指的是虚构的即时通讯系统。

Ansible 工具是由供应服务器应用程序Cobbler的作者与用于远端管理的Fedora 统一网络控制器(Func) 框架其合著者 Michael DeHaan 所开发。

Ansible, Inc. (原 AnsibleWorks, Inc.) 是由 Michael DeHaan、Timothy Gerla 和 Saïd Ziouani 于 2013 年所创立的公司,旨在为 Ansible 提供商业支持和赞助。 红帽公司 于2015 年 10 月收购了 Ansible。

Ansible 被包含在Red Hat所拥有的 Fedora Linux 发行版中,也可透过 Extra Packages for Enterprise (EPEL) 套件用于Red Hat Enterprise Linux、CentOS、openSUSE、SUSE Linux Enterprise、Debian、Ubuntu、Scientific Linux和Oracle Linux以及其他作业系统。

Ansible 借由选择以简单的 ASCII 文字档案来储存的部分 Ansible 存储库来帮助管理多台设备。存储库是可配置的,而目标机器的存储库可以动态取得,也可以从云端服务中不同档案格式 (YAML、INI)的来源中取得。

从 2014 年以来,敏感资料可以使用 Ansible Vault 储存在加密文件中。与其他流行的组态管理软件 (如Chef 、 Puppet 、 Salt和CFEngine) 相比,Ansible 使用,亦即 Ansible 软件无须在控制节点上正常运行,甚至无须安装在控制节点上。Ansible 借由透过 SSH 临时在节点上安装和执行模组来管理节点。在执行一个管理任务期间,执行模组的行程使用基于JSON的协定在其标准输出入界面来与被控制的机器沟通。当 Ansible 不管理节点时,因为没有执行任何后台程式或安装任何软件。 ,它不会消耗节点上的资源

Ansible 要求在所有被管理的机器上安装Python ,包含pip套件管理器、组态管理软件以及其相依套件。受控网络设备不需要额外的相依套件,并且是无代理状态的。

控制节点 (主控主机) 主要是在管理 (协调) 目标机器(称为 "存储库" 的节点,见下文)的运作。 控制节点仅适用于Linux等操作系统,不支援Windows操作系统。其允许多个控制节点。 Ansible 不需要单一控制机器来进行协调管理,其确保可用简单的方式来做灾难复原。节点是由控制节点透过SSH来管理。

Ansible 的设计目标包括:

模组大多是独立的,可以用标准脚本语言 (如 Python、Perl、Ruby、Bash 等) 来撰写。模组的指导目标之一是幂等性,这意味着即使多次重复操作 (例如从系统错误中复原时),它也会始终将系统置于相同的状态。

目标节点的位置是透过 (在 Linux 系统上) 位于 /etc/ansible/hosts 的清单配置列表 (INI或YAML格式) 来指定。 配置文件列出了 Ansible 可访问的每个节点的 IP 地址或主机名称。此外,可以用群组的方式来分配节点。

以下是一份范例清单 (INI 格式):

192.168.6.1foo.example.combar.example.com

此配置文件指定了三个节点:第一个节点由 IP 地址指定,后两个节点由主机名称来指定。此外,后两个节点被分配给 webservers 群组。

Ansible 还可以使用自定义的脚本,该脚本可以从不同的系统中动态取得资料,并支援以群组来分配群组。

Playbook 脚本是内含任务列表的YAML文件,其用于在受控节点上重复 执行。 每个 Playbook 都将一组主机映射 (关联) 到一组角色。每个角色都由对 Ansible 任务的呼叫来表示。

Ansible 自动化平台 (Ansible Automation Platform) 是一个REST API 、 Web 服务和基于 Web 的界面(应用程序),旨在使具有广泛 IT 技能的人更容易使用 Ansible。它是一个由多个组件组成的平台,包括开发人员工具、操作界面以及自动化网络,以实现跨数据中心的大规模自动化任务。 AAP 是 Red Hat, Inc. 支持的商业产品,但衍生了 17 个以上的上游开源项目,包括 AWX 上游项目 (Ansible Tower 衍生自该项目的前身),该项目自 2017 年 9 月开始开源。

还有另一个 Tower 的开源替代品 ,它是用Go编写的。

控制机器必须是 Linux/Unix 主机(例如BSD 、 CentOS 、 Debian 、 macOS 、 Red Hat Enterprise Linux 、 SUSE Linux Enterprise 、 Ubuntu ,并且需要 Python 2.7 或 3.5。

托管节点(如果它们是类 Unix)必须具有 Python 2.4 或更高版本。对于使用 Python 2.5 或更早版本的托管节点,还需要python-simplejson套件包。 从 1.7 版本开始,Ansible 还可以管理Windows 节点。 在这种情况下,将使用 WS-Management 协议支持的本机 PowerShell 远程处理,而不是 SSH。

Ansible 可以部署到裸机主机、虚拟机和云环境。

AnsibleFest 是让 Ansible 社群用户、贡献者等人参加的年度研讨会。

相关

  • 肾sub水/sub中医传统上所指的肾,与现代医学及生物学中的肾脏大致上是指相近的构造,但是功能上并不完全对应。在脏象学说中,肾属五脏之一,属水,与膀胱互为表里。而且肾为水火之脏,含肾阴、肾阳
  • 语调语调(英语:intonation、音高),又称语气、口气,是指说话者交谈发声的音调,即说话者依据个人心情(态度、个性),让声调的高低轻重音调,再附加上发声的高低轻重音调;前者是文法上的音调、后
  • 广田弘毅广田弘毅(1878年2月14日-1948年12月23日),原名广田丈太郎,日本外交官、政治人物。1936年3月9日至1937年2月2日任日本首相(第32任)。曾任外务大臣(第49-51、55任),贵族院议员等职位。日
  • 中法大学坐标:39°55′40″N 116°24′24″E / 39.92787°N 116.4068016°E / 39.92787; 116.4068016中法大学(法语:l'Université Franco-Chinoise)是20世纪上半叶中国的一所大学。李石
  • 杉浦直树杉浦直树(すぎうら なおき、1931年12月8日-2011年9月21日)是日本爱知县冈崎市出生的男性演员。他于1957年开始加入艺能界,并拍摄了多部电影及电视剧。杉浦直树于2011年9月21日因
  • 伊凡·亚历克塞维奇·波扎尔斯基伊凡·亚历克塞维奇·波扎尔斯基(俄语:Иван Алексеевич Пожарский,1905年8月27日-1938年8月7日),苏联英雄,为第40步兵师的第5独立侦察营的军队政委。出生
  • 拉娜 (摔角手)凯瑟琳·乔伊·佩里(英语:Catherine Joy Perry,1985年3月24日-)是美国职业摔角选手、职业摔角经纪人、女演员、舞者、模特儿和歌手。目前受聘于世界摔角娱乐,并以“拉娜”(Lana)为擂
  • 瓦伦提娜·李希特萨瓦伦提娜·李希特萨(乌克兰语:Валенти́на Євге́нівна Лиси́ця,罗马化:,IPA:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux L
  • 第109届美国国会第109届美国国会(英语:109th United States Congress)的任期从2005年1月3日至2007年1月3日。2004年参议院与众议院选举决定了该届国会的人员组成。该届国会的会期总共为242天,是第二次世界大战以来最短的一届,比1947年至1949年间的第80届国会短了12天。一些媒体借用杜鲁门总统对第80届国会所起的名称“无所作为的国会”(Do Nothing Congress),来嘲讽此届国会。
  • 北马其顿总理北马其顿共和国总理(马其顿语:Претседател на Владата на Република Македонија)是北马其顿共和国的政府首脑,由议会选举产生。第二次世界大战后,属于塞尔维亚部分的瓦尔达尔马其顿,成为南斯拉夫联邦人民共和国的加盟共和国之一,称马其顿社会主义共和国。1991年9月17日北马其顿从南斯拉夫联盟共和国和平分离,11月17日,北马其顿通过新宪法,实行议会制,由议会的多数党组成政府或联合政府。   KPM/SKM  无党派  马其顿社会民主联盟(SDSM)  马其顿内部革命组