Ansible介绍与安装

news2024/11/28 22:42:15

Ansible目前是运维自动化工具中最简单、容易上手的一款优秀软件,能够用来管理各种资源。用户可以使用Ansible自动部署应用程序,以此实现IT基础架构的全面部署。例如,借助于Ansible,我们可以轻松地对服务器进行初始化配置、安全基线配置,以及进行更新和打补丁操作。相较于Chef、Puppet、SaltStack等C/S(客户端/服务器)架构的自动化工具来讲,尽管Ansible的性能并不是最好的,但由于它基于SSH远程会话协议,不需要客户端程序,只要知道受管主机的账号密码,就能直接用SSH协议进行远程控制,因此使用起来优势明显。

2012年2月,程序员Michael DeHaan发布了Ansible的第一个版本。Michael DeHaan在配置管理和架构设计方面拥有丰富的经验,他此前[红帽]公司任职时,就研发了Cobbler自动化系统安装工具。在就职于[红帽]公司的期间,他被各种自动化软件折磨了好久,最终决定自己打造一款集众多软件的优点于一身的自动化工具。Ansible由此诞生。由于Ansible实在太好用了,以至于它在GitHub上的star和fork数量是SaltStack的两倍多,这足以看出受欢迎的程度。2015年,Ansible正式被[红帽]公司收购,其发展潜力更是不可估量。

使用自动化运维工具,可以肉眼可见地提高运维人员的工作效率,并减少人为错误。Ansible服务本身并没有批量部署的功能,它仅仅是一个框架,真正具有批量部署能力的是其所运行的模块。Ansible内置了上千个模块,会在安装Ansible时一并安装,通过调用指定的模块,就能实现特定的功能。Ansible内置的模块非常丰富,几乎可以满足一切需求,使用起来也非常简单,一条[命令]甚至影响上千台主机。如果需要更高级的功能,也可以运用Python语言对Ansible进行二次开发。

当前,Ansible已经被Amazon、Google、Microsoft、Cisco、HP、VMware、Twitter等大科技公司接纳并投入使用。[红帽]公司更是对自家产品进行了不遗余力的支持。从2020年8月1日起,[RHCE]考试的内容由配置多款服务转变成Ansible专项考题内容。现在,要想顺利拿到[RHCE]认证,真的有必要好好学习一下本章了。

在正式介绍Ansible之前,我们先普及一下相关的专用术语,好让大家对术语有统一的理解,以便在后续实验时能直奔主题。这里整理的与Ansible相关的专用术语如表16-1所示。

表16-1 Ansible服务专用术语对照表

术语中文叫法含义
Control node控制节点指的是安装了Ansible服务的主机,也被称为Ansible控制端,主要是用来发布运行任务、调用功能模块,对其他主机进行批量控制。
Managed nodes受控节点指的是被Ansible服务所管理的主机,也被称为受控主机或客户端,是模块[命令]的被执行对象。
Inventory主机清单指的是受控节点的列表,可以是IP地址、主机名称或者域名。
Modules模块指的是上文提到的特定功能代码,默认自带有上千款功能模块,在Ansible Galaxy有超多可供选择。
Task任务指的是Ansible客户端上面要被执行的操作。
Playbook剧本指的是通过YAML语言编写的可重复执行的任务列表,把常做的操作写入到剧本文件中,下次可以直接重复执行一遍。
Roles角色从Ansible 1.2版本开始引入的新特性,用于结构化的组织Playbook,通过调用角色实现一连串的功能。

由于受控节点不需要安装客户端,外加SSH协议是[Linux系统]的标配,因此可以直接通过SSH协议进行远程控制。在控制节点上,也不用每次都重复开启服务程序,使用ansible[命令]直接调用模块进行控制即可。

RHEL 8系统的镜像文件默认不带有Ansible服务程序,需要从Extra Packages for Enterprise [Linux](EPEL)扩展软件包仓库获取。EPEL软件包仓库由红帽公司提供,是一个用于创建、维护和管理企业版Linux的高质量软件扩展仓库,通用于RHEL、[CentOS]、Oracle Linux等多种红帽系企业版系统,目的是对于默认系统仓库软件包进行扩展。

下面准备在系统上部署Ansible服务程序。

第1步:检查是否可以连接外部网络了。如果不放心,可以通过ping命令进行测试。

[root@localhost ~]# ping -c 4 www.baidu.com

第2步:安装EPEL源,EPEL是一个由Fedora社区维护的额外软件包源,包含了许多CentOS默认源中没有的软件包。

[root@localhost ~]# yum install -y epel-release dnf

第3步:安装!

[root@localhost ~]# dnf install -y ansible
………………省略部分输出信息…………

安装完毕后,Ansible服务便默认已经启动。使用--version参数可以看到Ansible服务的版本及配置信息。


                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1318437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centOS7 安装tailscale并启用子网路由

1、在centOS7上安装Tailscale客户端 #安装命令所在官网位置:https://tailscale.com/download/linux #具体命令为: curl -fsSL https://tailscale.com/install.sh | sh #命令执行后如下图所示2、设置允许IP转发和IP伪装。 安装后,您可以启动…

智安网络|企业网络安全工具对比:云桌面与堡垒机,哪个更适合您的需求

随着云计算技术的快速发展,越来越多的企业开始采用云计算解决方案来提高效率和灵活性。在云计算环境下,云桌面和堡垒机被广泛应用于企业网络安全和办公环境中。尽管它们都有助于提升企业的安全和效率,但云桌面和堡垒机在功能和应用方面存在着…

订单管理系统开发经验的总结:优化流程、提升效率的关键实践

前言 一.订单管理系统的架构设计 二.订单系统的详细设计 1.拆分 2.换货 3.发货 4.拦截 5.取消 6.物流回传 三.订单系统的订单状态流转 初始状态 中间状态 异常状态 终态 四.订单系统的关键代码逻辑 五.结语 前言 两年来,整个订单管理系统经过大大小…

7. 数据存储

7. 数据存储 文章目录 7. 数据存储7.1 基本存储7.1.1 EmptyDir7.1.2 HostPath7.1.3 NFS 7.2 高级存储7.2.1 PV7.2.2 PVC7.2.3 生命周期 7.3 配置存储7.3.1 ConfigMap7.3.2 Secret 在前面已经提到,容器的生命周期可能很短,会被频繁地创建和销毁。那么容器…

java设计模式学习之【外观模式】

文章目录 引言外观模式简介定义与用途实现方式 使用场景优势与劣势外观模式在Spring中的应用图形示例代码地址 引言 软件开发有点像烹饪一道美味佳肴,涉及的材料和步骤可能会让人眼花缭乱。就像在一家大型餐厅厨房中,有许多不同的厨房工具和设备&#x…

PVE系列-防火墙的免费安静之旅IPfire

Ventoy一款引导盘可以引导各种启动盘安装盘的工具https://www.ventoy.net/cn/index.html 在它的兼容iso的列表 中发现了Ipfirehttps://wiki.ipfire.org/ ,本来用着openwrt也挺好,忍不住的虚拟机尝了尝鲜,发现的功能有2, 安全吧&a…

Windows安装Elasticsearch并结合内网穿透实现公网远程访问

Windows安装Elasticsearch并结合内网穿透实现公网远程访问 系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装 Cpolar4. 创建Elasticsearch公网访问地址5. 远程访问Elasticsearch6. 设置固定二级子域名 Elasticsearch是一个基于Lucene库的分布式搜…

Lumerical 技巧------Plot in New Window

Lumerical 技巧------Plot in New Window 简介正文 简介 当我们在计算模式分布后想要观察模式对应的图像,为了清晰地观察到一些细节,我们可以通过点击图像绘制窗口的 Plot in New Window 按键来实现。 正文 默认模式绘制图像如下: 窗口很…

高质量C/C++代码心得

写出高质量的C/C代码是一个涉及多方面的任务,它要求程序员不仅具备扎实的语言基础,还需要掌握一系列的软件设计和开发原则。下面将详细介绍如何写出高质量的C/C代码,并通过10个例子进行具体阐述。 一、编码规范 编写高质量的代码&#xff…

Learning Semantic-Aware Knowledge Guidance forLow-Light Image Enhancement

微光图像增强(LLIE)研究如何提高照明并生成正常光图像。现有的大多数方法都是通过全局和统一的方式来改善低光图像,而不考虑不同区域的语义信息。如果没有语义先验,网络可能很容易偏离区域的原始颜色。为了解决这个问题&#xff0…

Linux 定时删除过期文件

需求说明 每日凌晨0点定时删除/temp目录下的所有一个月未被访问的文件。 脚本实现 linux 终端输入crontab -e,添加定时任务脚本命令 [rootlocalhost ~]# crontab -e在文件末尾追加 0 0 * * * find /temp -atime 30 -exec rm -rf {} \;参数说明 命令格式&#…

计算机网络(1):开始

计算机网络(1):开始 计算机网络在信息时代中的作用 21世纪的一些重要特征就是数字化、网络化和信息化,是一个以网络为核心的信息时代。要实现信息化就必须依靠完善的网络,因为网络可以非常迅速地传递信息。因此网络现…

BAQ压缩原理

什么是BAQ? BAQ——Block Adaptive Quantization,块自适应量化 BAQ是一种数据压缩算法。 谁提出了BAQ压缩? BAQ压缩原理是由美国NASA JPL的R. Kwok和W.T.K. Johnson在1989年提出的。第一次被用于美国NASA的“麦哲伦金星探测”任务中。 BAQ压缩的目的是什么? 上世纪后半…

使用Python进行文本处理:深入探索文本分析和操作

更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 使用Python进行文本处理:深入探索文本分析和操作,全文3800字,阅读大约12分钟。 文本处理是数据科学和自然语言处理中的关键任务之一。Pyt…

【Mode Management】ComM详细介绍

目录 1. Introduction and functional overview 2.Dependencies to other modules 3.Functional specification 3.1 Partial Network Cluster Management 3.2 ComM channel state machine 3.2.1 Behaviour in state COMM_NO_COMMUNICATION 3.2.1.1 COMM_NO_COM_NO_PENDI…

【Qt QML入门】TextInput

TextInput:单行文本输入框。 TextInput除了光标和文本外,默认没有边框等效果。 import QtQuick import QtQuick.Window import QtQuick.ControlsWindow {id: winwidth: 800height: 600visible: truetitle: qsTr("Hello World")//单行文本输…

typescript使用解构传参

看下面这个函数 interface Student {id: number;name: string;class: string;sex: string;}function matriculation(student: Student) {//...}我们要调用它,就需要传递一个实现了Student约束的对象进去 interface Student {id: number;name: string;class: string;sex: string…

【算法】算法题-20231211

这里写目录标题 一、387. 字符串中的第一个唯一字符二、1189. “气球” 的最大数量三、1221. 分割平衡字符串 一、387. 字符串中的第一个唯一字符 简单 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回…

uniapp实现地图电子围栏功能

该功能使用uniapp中内置组件map实现 效果图预览&#xff1a; 实现过程&#xff1a; 1.文档&#xff1a; 2.代码&#xff1a; <template><view><map :style"width: 100%; height:screenHeight" :latitude"latitude" :longitude"longit…

lightdb 23.4 支持pivot行转列

前言 lightdb-x从23.4版本支持pivot行转列功能&#xff1b;先了解oracle支持行转列功能&#xff1a; 语法如下&#xff1a; oracle描述如下&#xff1a; Oracle 11g introduced the new PIVOT clause that allows you to write cross-tabulation queries which transpose …