Ansible – 简介

Ansible – 简介


Ansible是简单的开源 IT 引擎,可自动执行应用程序部署、内部服务编排、云配置和许多其他 IT 工具。

Ansible 易于部署,因为它不使用任何代理或自定义安全基础设施。

Ansible 使用 playbook 来描述自动化作业,而 playbook 使用非常简单的语言,即YAML(它是一种人类可读的数据序列化语言,通常用于配置文件,但可用于许多存储数据的应用程序),这非常容易供人类理解、阅读和书写。因此,优点是即使是 IT 基础设施支持人员也可以在需要时阅读和理解剧本并进行调试(YAML – 它是人类可读的形式)。

Ansible 专为多层部署而设计。Ansible 不会一次管理一个系统,它通过描述所有相互关联的系统来对 IT 基础架构进行建模。Ansible 是完全无代理的,这意味着 Ansible 的工作方式是通过 ssh(默认情况下)连接您的节点。但是,如果您想要其他连接方法,例如 Kerberos,Ansible 会为您提供该选项。

连接到您的节点后,Ansible 会推送称为“Ansible 模块”的小程序。Ansible 在您的节点上运行该模块并在完成后将其删除。Ansible 以简单的文本文件(这些是主机文件)管理您的库存。Ansible 使用主机文件,您可以在其中对主机进行分组,并可以控制对剧本中特定组的操作。

示例主机文件

这是主机文件的内容 –

#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.

[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh

[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh

什么是配置管理

Ansible 中的配置管理意味着它通过记录和更新描述企业硬件和软件的详细信息来维护产品性能的配置。

此类信息通常包括已应用于已安装软件包的确切版本和更新以及硬件设备的位置和网络地址。例如,如果您想在企业中存在的所有机器上安装新版本的WebLogic/WebSphere服务器,您手动去更新每台机器是不可行的。

您可以使用以最简单方式编写的 Ansible 剧本和清单,一次性在所有机器上安装 WebLogic/WebSphere。您所要做的就是在清单中列出节点的 IP 地址并编写一个剧本来安装 WebLogic/WebSphere。从您的控制机器运行剧本,它将安装在您的所有节点上。

Ansible 如何工作?

下面给出的图片显示了 Ansible 的工作。

Ansible 的工作原理是连接到您的节点并向它们推送称为“ Ansible模块”的小程序然后Ansible执行这些模块(默认通过 SSH),并在完成后删除它们。您的模块库可以驻留在任何机器上,并且不需要服务器、守护程序或数据库。

Ansible 作品

上图中的管理节点是控制节点(managing node),它控制着playbook的整个执行。它是您运行安装的节点。清单文件提供了需要运行 Ansible 模块的主机列表,管理节点进行 SSH 连接并在主机上执行小模块并安装产品/软件。

Ansible的是,它消除一旦这些模块被如此有效地将其连接到主机安装,执行指令,如果成功安装后它除去对被执行该主机上复制的代码。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁