Ansible自动化运维:基础与实践

在当今的IT运维领域,Ansible作为一款强大的自动化运维工具,正发挥着日益重要的作用。本文将详细介绍Ansible的相关知识,包括其作用、特点、安装配置以及常用模块的使用方法,旨在帮助读者快速上手并熟练运用Ansible进行自动化运维工作。

一、Ansible概述

(一)Ansible的作用

Ansible主要用于远程批量化执行命令和配置服务,是一套综合性的自动化管理工具集。通过它,运维人员能够高效地对多台计算机或者网络设备进行统一管理,极大地提高了工作效率,减少人工操作的繁琐与错误。

(二)Ansible的特点

它由Python语言开发,这使得其具有良好的可读性和扩展性。Python的丰富库和简洁语法为Ansibled功能实现提供了坚实基础

作为开源免费工具,Ansible吸引了大量开发者和用户参与贡献和使用,社区资源丰富,能获得到大量的模块和解决方案。

其模块化设计是一大亮点,每一个模块代表一个特定功能,如文件操作,服务管理等,方便用户根据需求灵活组合使用。

使用简单灵活,通过简答的命令行语法即可完成复杂的自动化任务,无需编写大量代码。

支持跨平台操作,可在多种操作系统上运行,包括Linux、Unix和windows等,适应多样化的IT环境。

(三)Ansible涉及的角色类型

使用者:主要是运维工程师,他们利用Ansible进行日常的系统管理和运维工作。同时,开发人员也可以基于Ansible进行二次开发,定制符合特定业务需求的模块。

Ansible工具:核心在于其模块设计,众多模块构成了丰富的功能库,用户通过调用这些模块实现各种自动化操作。

作用对象:Ansible可应用于指定的计算机或网络,对目标设备进行精准的配置和管理。

二、Ansible安装与配置

(一)安装Ansible

在Centos系统中,可通过以下命令安装Ansible:

yun -y install ansible

(二)查看版本

安装完成后,使用以下命令查看Ansible版本:

ansible -version

(三)配置ssh免交互式验证

1.首先生成密钥对:

ssh-keygen -t RSA

2.然后将公钥上传到远程执行命令的主机,例如:

ssh-copy-id -i root@192.168.100.10
ssh-copy-id -i root@192.168.100.20

(四)配置管理Ansible客户端

编辑/etc/ansible/hosts文件,定义客户端管理组和主机列表,示例如下:

[web]
192.168.100.10
192.168.100.20
192.168.100.30

三、Ansible模块的使用

(一)ping 模块

用于测试Ansible与目标主机的连通性,有以下两种测试方式:

ansible -i /etc/ansible/hosts web -m ping 
ansible web -m ping

(二)常用命令选项

-i:指定加载的主机列表文件路径,如/etc/ansible/hosts。

-v:输出详细信息,帮助用户了解任务执行的过程中的更多细节。

-m:为指定模块传递参数,根据不同模块的要求设置相应的参数值。

-a:为指定模块传递参数,根据不同模块的要求设置相应的参数值。

--private:指定密钥文件进行验证,确保连接的安全性。

--list-hosts:列出Ansible管理的计算机列表,方便查看和确认。

(三)command模块

1.作用:在远程计算机上执行命令,但不支持管道符和重定向操作。

2.选项:

chdir:用于切换远程主机的目录,在执行命令前进入指定目录。

creates:在创建文件时使用,若指定文件已存在则不执行后续命令。

removes:与creates相反,若指定文件存在则执行删除操作,然后执行后续命令。

3示例:

切换目录并列出文件:

ansible web -m command -a "chdir=/ ls./"

查看主机内存:

ansible web -m command -a "free -g"

查看主机硬盘使用情况:

ansible web -m command -a "df -Th"

(四)copy模块

1.作用:实现文件或目录的复制操作。

2.选项:

dest:指定目标目录或者文件的路径,及复制后的存放位置。

src:源目录或文件的路径,表明要复制的内容来源。

mode:设置复制后文件或目录的权限,如775

owner:修改复制数据的所有者,如test

group:修改复制数据所属组,如test

3.示例:

ansible web -m copy -a "src=/etchosts dest=/ mode=775 owner=test group=test"

(五)shell模块

1.作用:在远程主机上执行命令,支持管道符和重定向操作,功能比command模块更大。

2.示例:

将内容重定向到文件:

ansible web -m shell -a "echo "aaa" > /1.txx"

查看创建的文件:

ansible web -m shell -a "ls -ld /1.txx"

使用管道符查看进程:

ansible web -m shell -a "netstat -anptu | grep sshd"

(六)hostname模块

1.作用:用于修改计算机的名字

2.示例:

ansible 192.168.100.20 -m hostname -a "name=111"

(七)yum模块

1.作用:实现程序的批量化安装和卸载操作。

2.选项:

name:指定要安装或卸载的程序名字。

state: 有present(安装)liatest(安装最新版本)absent(卸载)等取值。

disablerepo:禁用指定的yum仓库。

enablerepo:启用指定的yum仓库。

3.示例:

删除系统yum仓库:

ansible web -m shell -a "rm -rf /etc/yum.repos.d/CentOS-*"

挂载光盘:

ansible web -m shell -a "mount /dev/cdrom/mnt"

安装httpd程序:

ansible web -m yum -a "name=httpd state=present"

检查程序安装是否成功:

ansible web -m shell -a "rpm -qa | grep httpd"

(八)user模块

1.作用:创建和管理用户账户信息

2.选项:

name:用户的名称。

state:present表示创建用户,absent表示删除用户。

system=yes | no:确定是否为系统用户。

uid:指定用户的ID。

group:用户所属的组。

shell:指定用户的默认shell。

home:指定用户的宿主目录。

move_host=yes|no:设置家目录是否存在。

password:用户的密码,需加密处理。

comment:对用户的说明信息。

remove=yes|no:删除用户时是否同时删除其家目录等相关文件。

3.示例:

ansible web -m user -a 'user=111 system=yes uid=520 group=root shell=/bin/bash password=密码 comment="aa"'

通过对Ansible这些基础内容的学习,读者可以初步掌握Ansible的核心功能和使用方法,为进一步深入学习和在实际工作的应用奠定坚实的基础。随着Ansible使用经验的积累,还可以探索其更高级的特性和应用场景,实现更复杂,高效的自动化运维任务。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Kafka】Linux+KRaft集群部署指南

【Kafka】LinuxKRaft集群部署指南 摘要本地环境说明官网准备工作快速开始修改config/kraft/server.properties初始化数据存储目录 新节点加入集群启动停止测试创建topic创建生产者创建消费者 摘要 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在…

【GIS操作】使用ArcGIS Pro进行海图的地理配准(附:墨卡托投影对比解析)

文章目录 一、应用场景二、墨卡托投影1、知识点2、Arcgis中的坐标系选择 三、操作步骤1、数据转换2、数据加载3、栅格投影4、地理配准 一、应用场景 地理配准是数字化之前必须进行的一项工作。扫描得到的地图数据通常不包含空间参考信息,需要通过具有较高位置精度的…

计算机网络 (45)动态主机配置协议DHCP

前言 计算机网络中的动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)是一种网络管理协议,主要用于自动分配IP地址和其他网络配置参数给连接到网络的设备。 一、基本概念 定义:DHCP是一种网络协议&#xf…

自动驾驶3D目标检测综述(八)

在介绍完前九章的内容后,咱们已经基本完成了综述主题内容的解读。剩下只有第十章分析和展望以及第十一章总结的部分。本篇为自动驾驶3D目标检测综述的第八篇也将是最后一篇。 目录 1、研究趋势 1.1 数据选择的趋势 1.2 推理时间的趋势 1.3 基于激光雷达方法的趋…

Web3 时代,区块链与物联网的融合创新前景

随着Web3时代的到来,区块链技术和物联网(IoT)的融合成为科技领域的一个热点话题。Web3以去中心化为核心理念,而区块链正是这一理念的技术支撑。物联网则通过智能设备和传感器将现实世界的数据数字化,连接成一个庞大的网…

【JavaEE进阶】SpringMVC 响应

目录 🎍前言 🌳 返回静态页面 🌲RestController 与 Controller 的关联和区别 🌴返回数据 ResponseBody 🎋返回HTML代码片段 🍃返回JSON 🍀设置状态码 🎄设置Header &#x…

RV1126+FFMPEG推流项目(7)AI音频模块编码流程

一、AI 模块和外设麦克风的关系 AI 模块是 RV1126 芯片的一个重要组成部分。它的主要功能是将外部接入的麦克风采集到的模拟信号通过内置的驱动程序转换为数字信号。这意味着麦克风作为外设,提供音频输入信号,AI 模块通过其硬件和软件的结合&#xff0c…

4.Proto 3 语法详解

目录 proto 3 语法详解字段规则消息类型的定义与使用创建通讯录2.0版本enum类型升级通讯录至2.1版本Any类型升级通讯录至2.2版本oneof类型升级通讯录至2.3版本map类型升级通讯录至2.4版本默认值更新消息保留字段reserved创建通讯录3.0版本未知字段升级通讯录3.1版本前后兼容性选…

告别 Excel,拥抱 R 语言:开启数据分析新时代

在这个数据驱动的时代,数据分析已然成为每个行业的核心竞争力。从市场营销到金融领域,从医疗健康到教育行业,数据无处不在,深刻影响着每一个决策。然而,面对日益复杂的数据集,单纯依靠 Excel 进行分析&…

SDK调用文心一言如何接入,文心一言API接入教程

一、前期准备 注册百度智能云账号: 前往百度智能云官网注册一个账号。这是接入文心一言API的基础。 了解API接口: 在百度智能云开放平台中,找到文心一言API的详情页,了解提供的API接口类型(如云端API、移动端API、离线…

linux之进程信号(初识信号,信号的产生)

目录 引入一、初识信号(信号预备知识)1.生活中的信号2.Linux中的信号3.信号进程得出的初步结论 二、信号的产生1.通过终端输入产生信号拓展: 硬件中断2.调用系统函数向进程发信号3.硬件异常产生信号4.软件条件产生信号拓展: 核心转储技术总结一下: 引入 一、初识信…

​​​​​​​​​​​​​​★3.3 事件处理

★3.3.1 ※MouseArea Item <-- MouseArea 属性 acceptedButtons : Qt::MouseButtons containsMouse : bool 【书】只读属性。表明当前鼠标光标是否在MouseArea上&#xff0c;默认只有鼠标的一个按钮处于按下状态时才可以被检测到。 containsPress : bool curs…

从前端视角看设计模式之创建型模式篇

设计模式简介 "设计模式"源于GOF&#xff08;四人帮&#xff09;合著出版的《设计模式&#xff1a;可复用的面向对象软件元素》&#xff0c;该书第一次完整科普了软件开发中设计模式的概念&#xff0c;他们提出的设计模式主要是基于以下的面向对象设计原则&#xff…

DAMA CDGA 备考笔记(二)

1. 考点分布 2. 第二章 数据处理伦理知识点总结 伦理是建立在是非观念上的行为准则。伦理准则通常侧重于公平、尊重、责任、诚信、质量、可靠性、透明度和信任等方面。数据伦理是一项社会责任问题不是法律问题。 度量指标&#xff1a;培训员工人数、合规/不合规事件、企业高管…

ros2笔记-6.2 使用urdf创建机器人模型

本节主要跟着小鱼老师的视频操作&#xff0c;不同的仿真平台有不同的建模语言&#xff0c;但是几乎都支持URDF。 本节使用URDF创建一个机器人模型。 6.2.1 帮机器人创建一个身体 URDF使用XML来描述机器人的结构和传感器、执行器等信息。 在chapt6/chap6_ws/src创建功能包:r…

MLX90640自制热像仪(四) LVGL UI界面设计 移植 SquareLine Studio

SquareLine Studio 1.5.0是一款LVGL图形化的软件&#xff0c;LVGL官方的软件&#xff0c;针对这个软件我们主要做的除了开发&#xff0c;就是移植到自己的板端&#xff0c;过程中会遇到各种各样的问题。 下面附上源代码&#xff1a; // This file was generated by SquareLine…

hadoop3.3和hive4.0安装——单节点

hadoop3.3x和hive4.0安装部署 为什么我要安装hive4.0&#xff0c;因为阿里云镜像只有hive4.0 软件相互兼容性版本 系统centos7 uname -a如果内核3.0以上可以用 安装jdk1.8以上的版本&#xff08;配置好环境变量&#xff09; hadoop3.3.x与hive4.0.x 创建目录 mkdir -p /us…

09.VSCODE:安装 Git for Windows

在 Windows 下安装著名的源代码管理工具&#xff1a;git。 git 工具两大作用&#xff1a; 管理我们自己的源代码获取他人&#xff08;开源的&#xff09;源代码 当前我们更需要第2点。 为什么要安装 git 一、 得到更多库 之前课程中我们安装了 msys2&#xff0c;从而可以通…

《银行保险机构数据安全管理办法》正式实施,分类分级、安全评估共筑安全防线

金融数据具有高价值和高敏感性&#xff0c;金融数据安全关乎国家安全和金融消费者权益密切相关。在当前数字化进程加速的背景下&#xff0c;数据合作频繁&#xff0c;安全风险也随之增加&#xff0c;给机构管理带来了新挑战。 为规范银行业保险业数据处理活动&#xff0c;保障数…

CV(10)--目标检测

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 目标检测 object detection&#xff0c;就是在给定的图片中精确找到物体所在位置&#xff0c;并标注出物体的类别;输出的是分类类别label物体的外框&#xff08;x, y, width, height&#xff09;。 目标检测算法&#xff1a…