Ansible是什么

子凡问答2019-08-05 15:41:28阅读(...)

Ansible是一个开源软件供应,配置管理和应用程序部署工具。它可以在许多类Unix系统上运行,并且可以配置类似Unix的系统以及Microsoft Windows。它包含自己的声明性语言来描述系统配置。

Ansible 是一个开源软件供应,配置管理和应用程序部署工具。它可以在许多类 Unix 系统上运行,并且可以配置类似 Unix 的系统以及 Microsoft Windows。它包含自己的声明性语言来描述系统配置。

Ansible

Ansible 由 Michael DeHaan 编写并于 2015 年被 Red Hat 收购.Ansible 是无代理的,通过 SSH 或远程 PowerShell 临时连接以执行其任务。

历史

“ ansible ”一词是由 Ursula K. Le Guin 在其 1966 年的小说“ Rocannon’s World ”中创造的,并指的是虚构的瞬时通信系统。

Ansible 工具由供应服务器应用程序 Cobbler 的作者 Michael DeHaan 开发,他是 Fedora 统一网络控制器(Func)远程管理框架的共同作者。

Ansible,Inc。(最初是 AnsibleWorks,Inc。)是为 Ansible 提供商业支持和赞助的公司。 红帽于 2015 年 10 月收购了 Ansible。

Ansible 是 Red Hat 旗下的 Fedora Linux 发行版的一部分,也可以通过 Extra Linux for Enterprise Linux(EPEL)以及其他操作系统用于 Red Hat Enterprise Linux,CentOS,Scientific Linux 和 Oracle Linux。 。

建筑

与大多数配置管理软件不同,Ansible 不需要一个编程开始的单一控制机器。Ansible 通过选择 Ansible 库存的部分来对抗基础架构中的多个系统,这些部分存储为可编辑的,可版本化的 ASCII 文本文件。这个库存不仅可以配置,而且您还可以同时使用多个库存文件,并从动态或云源或不同格式(YAML,INI 等)中提取库存。安装了 Ansible 实用程序的任何计算机都可以利用一组文件/目录来编排其他节点,缺少中央服务器要求可以大大简化灾难恢复计划。节点由此控制机器管理 – 通常通过 SSH。控制机器通过其库存描述节点的位置。使用 Ansible Vault 可以将敏感数据存储在加密文件中。

与其他流行的配置管理软件(如 Chef,Puppet 和 CFEngine)相比,Ansible 使用无代理架构, Ansible 软件通常不运行,甚至安装在受控节点上。 相反,Ansible 通过 SSH 临时在节点上安装和运行模块来编排节点。在编排任务的持续时间内,运行模块的进程通过其标准输入和输出与基于 JSON 的协议与控制机器通信。当 Ansible 不管理节点时,它不会消耗节点上的资源,因为没有守护程序正在执行安装的软件。

设计目标

Ansible 的设计目标包括:

  • 最小的性质。管理系统不应对环境施加额外的依赖性。
  • 是一致的。使用 Ansible,应该能够创建一致的环境。
  • 安全。Ansible 不会将代理部署到节点。受管节点上只需要 OpenSSH 和 Python。
  • 非常可靠。在仔细编写时,Ansible 剧本可以是幂等的,以防止对受管系统的意外副作用。完全可能有一个写得不好的剧本,不是幂等的。
  • 需要最少的学习。Playbooks 使用基于 YAML 和 Jinja 模板的简单描述性语言。

模块

模块大多是独立的,可以用标准脚本语言(如 Python,Perl,Ruby,Bash 等)编写。模块的指导性质之一是幂等性,这意味着即使操作重复多次(例如,从中断恢复),它也总是将系统置于相同的状态。

收藏0个人收藏
走进科技生活方式

评论交流

泪雪默认头像请「登录」后参与评论
  1. 加载中..