誉天教育,武汉誉天,誉天ICT认证培训.png/

Datapass

数通
当前位置:首页 > 誉天学堂 > 运维 > 【誉天红帽学习指南】Ansible自动化运维之Ansible原理与安装

【誉天红帽学习指南】Ansible自动化运维之Ansible原理与安装

  • 2023/09/06

实验概述


首先我们要了解为什么需要自动化?


我们将通过这个问题来引入今天的主题,通过运维工具或平台,实现IT基础设施及业务应用日常任务处理和运维流程的自动化,从而提高效率和降低风险,促进运维组织的成熟和各种能力的升级。


看到这里,你可能会说,我编写一些脚本,也能够满足上面的工作场景,为什么还要使用ansible呢?


虽然使用脚本也可以完成这些工作,不过还是推荐使用ansible。因为ansible支持一些优秀的特性,比如“幂等性”( ansible是“以结果为导向的”,我们指定了一个“目标状态”,ansible会自动判断,“当前状态”是否与“目标状态”一致,如果一致,则不进行任何操作,如果不一致,那么就将“当前状态”变成“目标状态”,这就是“幂等性”)


同时在本章我们也将了解Ansible的原理是什么、为什么要使用ansible而不选择别的工具?它又有哪些特性,是什么样的架构,以及怎么去安装使用。


现在市面上一些实现IT自动化的工具,对比 Puppet, Chef, Saltstack 等,Ansible 是一个相对比较新的工具。Ansible是一个IT自动化工具,它能配置系统、部署软件、编排更复杂的IT任务,如连续部署或零停机时间滚动更新。


Ansible用python编写,尽管市面上已经有很多可供选择的配置管理解决方案(例如刚才说的Saltstack,Puppet,Chef等),但它们各有优劣,而Ansible的特点在于它的简洁。让Ansible在主流的配置管理系统中与众不同的一点便是,它并不需要你在想要配置的每个节点上安装自己的组件。


Puppet和Chef这样的工具使用的是master-agent 模式(或者说是拉模式)。在这种模式下,需要部署的节点上需要安装代理。这些代理会定期向主节点传送部署节点的状态信息。主节点再向部署节点发送命令,以保证状态的稳定。


但这样做有以下几个问题:


1. 定期确保状态使得状态的更改和应用的升级变得十分困难,弊大于利;

2. 主节点成为单点故障和系统瓶颈,不利于线性扩展。


1.png


Agentless:不需要在被管理节点上安装客户端,只要有sshd即可。

Serverless:在服务端不需要启动任何服务,只需要执行命令就行。

Modules in any language:基于模块工作,可以使用任意语言开发ansible模块。

YAML, not code:使用yaml语言定制playbook。

SSH by default:默认使用ssh控制各节点。

Strong multi-tier solution:可实现多级控制。



3.png


核心:ansible

核心模块(Core Modules):这些都是ansible自带的模块。

扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块。

插件(Plugins):完成模块功能的补充。

剧本(Playbooks):把需要完成的多个任务定义在剧本中。

连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件。

主机清单(Host Inventory):ansible在管理多台主机时,可以选择只对其中的一部分执行某些操作。

4.png


Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执行,执行完之后自动删除,可以使用版本控制系统(git/svn)来管理自定义模块及playbooks。


640 (1).png


5.png


Ansible的安装方式有很多种,常用的安装方法是基于yum或者源码,如果不是基于yum安装,需要配置epel源。


1. 基于yum安装:


① :配置好包含ansible软件包的yum仓库:

640 (2).png


② :直接使用yum -y install ansible命令安装即可。


640 (3).png


2. 配置epel源安装:

① https://developer.aliyun.com/mirror/阿里云镜像站选择epel。


640 (4).png


选择对应系统的版本epel(RHEL 8)方法进行配置。


② 按照方法进行配置


640 (5).png

640 (6).png


③ 最后都需要使用yum -y install ansible进行安装,安装完即可使用!


6.png


使用ansible --version命令查看当前版本、配置文件位置、配置的模块搜索路径、ansible python模块配置位置、以及python当前版本。


640 (7).png


返回列表
上一篇:
【誉天红帽学习指南】Ansible Ad-hoc与命令执行模块
下一篇:
【誉天红帽学习指南】Ansible的主机清单和配置文件
免费试听
姓名
电话
城市
咨询课程