Ansible 自动化平台简介

你是 Ansible 的初学者吗? 本指南将简要介绍 Ansible,以及 Ansible 自动化平台的其他重要因素,包括 Ansible 架构、库存、模块和剧本。

如果你想了解 ansible 是什么以及它的核心特性是什么,那么这篇文章就是为你准备的。

介绍

您是否曾经在您的专业/个人环境中手动部署多个资源?

当我说“资源”时,它可以是从服务器、数据库、网络设备、Web 服务器等开始的任何东西。你知道手动为多个资源做所有事情的痛苦。

作为系统管理员,您可以高兴地说那些日子已经一去不复返了。 自动化工具的发明使所有系统管理员的生活变得轻松。

不仅系统管理,而且自动化工具也被开发人员用来自动化他们的部署管道。 一种这样的自动化工具是 安可!

今天,我将带你了解什么是ansible,以及ansible中涉及的核心组件。

什么是 Ansible?

Ansible 是一种自动化工具,可用于您的技术堆栈的任何领域,如网络、数据库、服务器、应用程序部署、容器、安全性、云等。

它在配置管理、基础架构即代码、编排等领域发挥着重要作用。

Ansible 写在 Python,因此,如果您是 python 开发人员,那么在 Ansible 中创建自定义模块很容易。

Ansible 最初由 迈克尔·德哈恩 后来在 2015 年被 Redhat 收购。Ansible 是开源的,Redhat 也提供了 ansible 的商业版本。

Ansible 架构

学习 ansible 的第一步是了解 Ansible 架构。

Ansible 引擎、Inventory、Playbooks 等组件的组合形成了 ansible 架构。

这是 Ansible 工作原理的图形说明:

Ansible 架构图

Ansible 跟随 无代理架构. 不需要在所有客户端机器上安装特殊的软件或客户端进程,以便 ansible 进行通信和使用。

Ansible 用途 ssh 与所有客户端节点通信并使用任何端口的协议 ssh 正在侦听客户端节点。 这也是可定制的。 这样您就无需打开任何专用于 ansible 的特殊端口。

ansible中有两种类型的节点。 如果你想知道这个词是什么 "node" 指的是? 这只是一个 服务器 或者 工作站.

  • 主控节点 – 您将安装 ansible 软件的节点。
  • 托管节点 – 将由 Ansible 管理的节点。

您可以将节点称为主节点和从节点,但坚持使用 ansible 术语,这是最佳实践。

从这一点开始,我将提到 主节点 作为 控制器节点从节点 作为 受管节点 贯穿整篇文章。

Ansible 库存

Inventory 是您向 ansible 提供托管节点主机/IP 信息的地方。 库存文件默认为 INI 格式,它还支持 YAML 格式。

当您提交 ansible-playbook 或 Adhoc 命令时,ansible 引擎将解析此清单文件并获取它想要使用的主机列表。

Ansible 模块

模块是用 python 编写的用于特定任务的程序。 当您运行 playbook 或 Adhoc 命令时,ansible 会将此程序发送到所有托管节点。

让我们采取 apt 模块 example. 这 apt 模块用于管理基于 Debian 和 Ubuntu 的系统中的软件包。

如果您提交剧本以在五个受管节点中安装软件包,则 apt 模块将被复制到所有被管节点和 apt 程序将被执行。

您也可以创建自己的模块,但大多数情况下会有可用的模块来满足您的需求。

Ansible 剧本

Ansible 剧本是您任务的蓝图。 剧本写在 YAML 格式。 您将创建不同的任务,Ansible 将在托管节点中执行这些任务。

结论

这只是一篇简短的介绍性文章,旨在了解 Ansible 是什么及其架构。 更多详细信息,我建议您阅读最后给出的官方文档。

在我们即将发表的文章中,我们将深入探讨如何在 Linux 中设置和使用 Ansible。

阅读下一篇:

  • 在 Linux 中安装和配置 Ansible
  • 在 Linux 中使用 Vagrant 和 Virtualbox 进行自动化 Ansible 实验室设置
  • Ansible 清单和配置文件

资源: