📜  Ansible-简介

📅  最后修改于: 2020-11-02 03:11:30             🧑  作者: Mango


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

Ansible易于部署,因为它不使用任何代理程序或自定义安全性基础结构。

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

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

连接到节点后,Ansible将推送名为“ Ansible Modules”的小程序。 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 =  ansible_user =  ansible_connection = ssh
server1 ansible_host =  ansible_user = 
ansible_connection = ssh

[def-node]
#server2 ansible_host = 
ansible_user =  ansible_connection = ssh
server2 ansible_host =  ansible_user =  ansible_connection = ssh

什么是配置管理

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

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

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

Ansible如何运作?

下图显示了Ansible的工作原理。

Ansible通过连接到节点并向其推出名为“ Ansible模块”的小程序来工作。然后, Ansible执行这些模块(默认情况下通过SSH),并在完成后将其删除。您的模块库可以驻留在任何计算机上,并且不需要服务器,守护程序或数据库。

Ansible作品

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

Ansible的美丽之处在于,一旦安装模块就非常有效,它将删除模块,使其连接到主机,执行指令,如果安装成功,则将删除复制在已执行的主机上的代码。