linux高级篇基础理论十二( 自动化运维工具Ansible )

♥️作者:小刘在C站

♥️个人主页: 小刘主页 

♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。

♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术

♥️感谢CSDN让你我相遇!

目录

ansible是什么?

使用者

Ansible工具集

作用对象

Ansible初始环境

Ansible配置

ansible语法

Ansible返回结果

Ansible模块

1、shell模块

2、copy模块

3、hostname模块

4、yum模块

5、service模块

6、user模块


ansible是什么?

一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为的失误。Asbe通过本身集成的非常丰富的模块实现各种管理任务,其自带模块超过上千个。更为重要的是,它的操作非常简单,即使新手也比较容易上手,但它提供的功能却非常丰富,在运维领域,它几乎可以做任何事情。

ansible特点:

  • ansible基于python开发,对其二次开发较容易。
  • 有丰富的内置模块,可以满足一切需求。
  • 管理模式简单,一条命令可以影响上千台主机。
  • 无客户端模式,底层通过ssh通信

ansible不同角色

可以分为三个部分:使用者、Ansible工具集、作用对象。

使用者

Ansible使用者可以采用多种方式和Ansible交互,图中为我们展示了四种方式CDB:CMDB存储和管理着企业T架构中的各项配置信息,是构建TL项目的核心工具运维人员可以组合CMDB和Ansible,通过CDB直接下发指令调用Ansible工具集完成操作者所希望达到的目标。PUBLIC/PRIVATE方式:Ansible除了丰富的内置模块外,同时提供丰富的AP语言接口,如PHP、Python、PERL等多种流行语言,基于PUBLIC/PRIVATE,Ansible以AP调用的方式运行」Ad-Hoc命令集:Users直接通过Ad-Hoc命令集调用Ansible工具集来完成任务.laybooks:Users预先编写好Ansible Playbooks,通过执行Playbooks中预先编排好的任务集按序执行任务

工作原理:

Ansible工具集
  • Ansible Playbooks:任务脚本,编排定义Ansible任务集的配置文件,由Ansible按序依次执行通常是JSON格式的YML文件。
  • Inventory:Ansible管理主机清单。
  • Modules:Ansible执行命令功能模块,多数为内置的核心模块,也可以自定义。
  • Plugins:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用。
  • API:供第三方程序调用的应用程序编程接口。
  • Ansible:该部分图中表示得不明显,组合Inventory、APl.Modules,Plugins可以理解为是Ansible命令工具,其为核心执行工具。
作用对象

Ansible的作用对象不仅仅是Linux和非Linux操作系统的主机,也可以作用于各类PUBLIC/PRIVATE
商业和非商业设备的网络设施。使用者使用Ansible或Ansible--playbooks时,在服务器终端输入Ansible的Ad-Hoc命令集或Playbooks后,Ansible会遵循预先安排的规则将Playbooks逐步拆解为Play,再将Play组织成Ansible可以识别的任务,随后调用任务涉及的所有模块和插件,根Inventory中定义的主机列表通过SSH将任务集以临时文件或命令的形式传输到远程客户端执行并返回执行结果,如果是临时文件则执行完毕后自动删除。

Ansible初始环境

yum安装即可

yum -y install ansible

生成ssh秘钥对(三次交互全部回车即可)

ssh-keygen -t  rsa

复制公钥到服务器(192.168.1.1)

ssh-copy-id  root@192.168.1.1

Ansible配置

Ansible通过将设备列表以分组的方式添加到/etc/ansible/hosts文件来实现对设备的管理,所以
在正式管理之前,首先要编写hosts文件。hosts文件中,以[]包含的部分代表组名,设备列表支持
主机名和P地址,默认情况下,通过访问22端口(SSH)来管理设备。若目标主机使用了非默认的
SSH端口,还可以在主机名称之后使用冒号加端口号标明,以行为单位分隔配置。另外,hoss文件还支持通配符。

[web]                 #[web]为模块名称
192.168.8.136
192.168.8.139

只对web组中192.168.8.136主机操作。通过--|imit参数限定主机的变更

只对192.168.8.0网段主机操作。通过通配符限定主机的变更

ansible语法

Ansible <host-pattern>   [options]

检查所有主机是否存活。具体执行命令如下。

其中,192.168.8.139是执行的主机,SUCCESS表示命令执行成功,”=>{}表示返回的结果。”changed”:false表示没有对主机做出更改,”ping”:”pong”表示执行了ping命令的返回结果。命令中all关键字是系统默认存在的,代表了/etc/ansible/hosts中的所有主机,不需要在hosts文件中定义all关键字。

列出wb组所有的主机列表。执行命令如下。

批量显示web组中的磁盘使用空间,执行命令如下。

Ansible返回结果

Ansible的返回结果非常友好,一般会用三种颜色来表示执行结果:红色、绿色和橘黄色。其中红色表示执行过程有异常,橘黄色表示命令执行后目标有状态变化,绿色表示执行成功且没有对目
标机器做修改

Ansible模块

1、shell模块

Shell模块在远程主机执行命令,相当于调用远程主机的Shell进程,然后在该Shell下打开一个
子Shell运行命令。和command模块的区别是它支持Shell特性,如管道、重定向等。


2、copy模块
  • dest:指出复制文件的目标目录位置,使用绝对路径。如果源是目录,则目标也要是目录如果目标文件已存在,会覆盖原有内容。
  • src:指出源文件的路径,可以使用相对路径和绝对路径,支持直接指定目录。如果源是目录,则目标也要是目录。
  • mode:指出复制时,目标文件的权限,可选。
  • owner:指出复制时,目标文件的属主,可选。
  • group指出复制时,目标文件的属组,可选。
  • content:指出复制到目标主机上的内容,不能与src一起使用,相当于复制content指明的数据到目标文件中。


3、hostname模块

hostname模块用于管理远程主机上的主机名,常用参数如下。


4、yum模块
  • yum模块基于yum机制,对远程主机管理程序包,常用参数如下。
  • name:程序包的名称,可以带上版本号。若不指明版本,则默认为最新版本。
  • state=present\latest\absent:指明对程序包执行的操作,present表示安装程序包,latest表示安装最新版本的程序包,absent表示卸载程序包。
  • disablerepo:在用yum安装时,临时禁用某个仓库的ID。
  • enablerepo:在用yum安装时,临时启用某个仓库的ID,
  • conf_file:yum运行时的配置文件,而不是使用默认的配置文件。
  • diable_gpg_check=yes/no:是否启用完整性校验功能。


5、service模块
  • service模块为用来管理远程主机上的服务的模块,常见参数如下。
  • name:被管理的服务名称。
  • state-=started stopped restarted:动作包含启动,关闭或重启
  • enabled=yes no:表示是否设置该服务开机自启动。
  • runlevel:如果设定了enabled开机自启动,则要定义在哪些运行目标下自动启动


6、user模块

user模块用于管理远程主机上的用户账号,常见参数如下。
name:必选参数,账号名称。
state=present\absent:创建账号或者删除账号,present表示创建,absent表示删除。
system=yes\no:是否为系统账号。,
uid:用户UID。
group:用户的基本组。
groups:用户的附加组。
shell:默认使用的shell。

home:用户的家目录
move_home=yes/no:如果设置的家目录已经存在,是否将已存在的家目录进行移动.
password:用户的密码,建议使用加密后的字符串。
comment:用户的注释信息。
remove=yes/no:当state=absent时,是否要删除用户的家目录。

创建用户示例如下:

人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃!!!

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

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

相关文章

vue-quill-editor 图片放大缩小 及富文本解析 放大图片预览

接上回 巴阿这是上一篇博客的标题 《vue vue-quill-editor 富文本编辑器 &#xff08;图片问题&#xff09;拦截粘贴动作 将粘贴的图片上传服务器 一个页面渲染多个富文本编辑器&#xff08;使用场景循环遍历 个数不定&#xff09;》 上篇传送门 需求1.编辑框里图片可放大缩…

什么是DNS(域名系统)

域名系统&#xff08;DNS&#xff09;像是互联网的电话簿&#xff0c;将人们容易记住的网址转换成计算机能理解的IP地址。 没有DNS&#xff0c;我们就需要记住复杂的数字序列来访问网站 DNS的基本概念 定义&#xff1a;DNS是一个分布式数据库&#xff0c;它将域名&#xff08…

阿里云服务器ECS性能与优势,为什么国内第一云?

为什么选择阿里云&#xff1f;阿里云服务器有哪些优势&#xff1f;阿里云全球第三&#xff0c;国内第一云&#xff0c;阿里云服务器网aliyunfuwuqi.com分享云服务器ECS在丰富ECS实例架构、弹性灵活、稳定可靠、便捷易用、安全保障和成本优化多方面优势&#xff1a; 阿里云服务…

BSP-D2000平台调试CM9434串口芯片

1.硬件原理图 原理图显示两块9434的INT分别接到D2000的GPIO0_A3和GPIO0_A5. 2.配置 2.1 设备树 gpio <&pio 1 1 1 1 1 0>;| | | | | | | || | | | | | | ------表示有效电平| | | | | | | | | …

走迷宫之推箱子

前言&#xff1a; 在上一篇文章当中我介绍了一个走迷宫的写法&#xff0c;但是那个迷宫没什么可玩性和趣味性&#xff0c;所以我打算在迷宫的基础上加上一个推箱子&#xff0c;使之有更好的操作空间&#xff0c;从而增强了游戏的可玩性和趣味性。 1. 打印菜单 void menu() {…

探索 Python:发现有趣的库——第 1 章:数据可视化之旅

在一个充满活力的科技世界中&#xff0c;数据分析专家“算法仙”和编程爱好者“代码侠”相遇了&#xff0c;决定一起踏上数据可视化的探险之旅。他们将运用 Matplotlib 和 Seaborn 这两个强大的 Python 库&#xff0c;将枯燥的数据转化为生动的图形。 算法仙&#xff1a;你好&…

Kafka 的 Consumer Group 解读

作为一份笔记&#xff0c;本文再次梳理一下 Kafka 的 Consumer Group。我们知道&#xff0c;一个 Topic 往往会有多个 Partition&#xff0c;一条消息只会被写到一个 Kafka 的 Partition 中&#xff0c;那 Consumer 是怎么消费 Message 的呢&#xff1f; Consumer Group 又从中…

如何低成本打造高效跨国企业内网

随着企业数字化转型的加速&#xff0c;企业对网络连接、安全性和可靠性的需求也变得越来越高&#xff0c;最近小编收到了好几封私信&#xff0c;咨询跨境企业内部组网方案。 投稿的是某跨国公司的IT运维人员&#xff0c;总部在海外&#xff0c;国内分支机构每天都需要进行数据互…

[Android]实现一个权限申请类

[Android]实现一个权限申请类 导言 在引入了动态权限申请之后&#xff0c;Android的权限申请就变得尤为繁琐&#xff0c;若是按照原有的方法一板一眼地进行申请&#xff0c;样板代码未免太多。因此本篇文章就使用ActivityResult API&#xff0c;来实现一个简单的权限申请类来帮…

C练习——魔术师猜三位数

题目&#xff1a; 有一种室内互动游戏&#xff0c;魔术师要每位观众心里想一个三位数abc&#xff08;a、b、c分别是百位、十位和个位数字&#xff09;&#xff0c;然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少&#xf…

进程的创建与回收学习笔记

目录 一、进程内容&#xff1a; 二、进程常用命令 三、创建子进程 四、子进程进阶 五、进程的退出 六、进程的回收 一、进程内容&#xff1a; 程序&#xff1a; 存放在磁盘上的指令和数据的有序集合&#xff08;文件&#xff09; 静态的 进程&#xff1a; 执行一个程序所…

拍照后的相机logo怎么去掉?看完你就知道了

在日常生活中&#xff0c;拍照已经成为了我们捕捉美好瞬间的习惯。山川湖海、花鸟鱼虫&#xff0c;城市风光、街角趣闻&#xff0c;我们都喜欢用相机或手机留住这些美好的回忆。然而&#xff0c;有时候&#xff0c;当我们按下的那一刹那&#xff0c;一些不速之客——logo&#…

安全狗连续3年获得中国网络空间安全协会感谢

在2024年的新年伊始&#xff0c;安全狗依托在2023年期间协助中国网络空间安全协会完成《网络安全态势感知研判分析报告》并支持相关网络安全态势研判工作而获得感谢信。 厦门服云信息科技有限公司&#xff08;品牌名&#xff1a;安全狗&#xff09;创办于2013年&#xff0c;是…

3d模型为什么打光只显示黑色---模大狮模型网

3D建模是现代制作动画、电影、游戏等数字媒体内容的重要工具。在建模过程中&#xff0c;打光是一个重要的环节&#xff0c;它可以让3D模型更加真实、有趣和生动。然而&#xff0c;如果打光不当&#xff0c;3D模型可能会呈现出黑色的效果&#xff0c;这可能会让人感到困惑和沮丧…

模拟瑞幸小程序购物车

是根据渡一袁老师的大师课写的&#xff0c;如有什么地方存在问题&#xff0c;还请大家指出来哟ど⁰̷̴͈꒨⁰̷̴͈う♡&#xff5e; index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-e…

浅谈智慧路灯安全智能供电方案设计

摘要: 智慧路灯&#xff0c;作为智慧城市、新基建、城市更新的主要组成部分&#xff0c;近些年在各大城市已得到很好的落地和 应用&#xff0c;但其与传统路灯相比集成大量异元异构电子设备&#xff0c;这些设备的供电电压、接口形式、权属单位各不相同&#xff0c; 如何设计一…

josef约瑟 漏电继电器 LLJ-400F Φ100 分体式结构,导轨安装

LLJ-400F AC660V漏电继电器是一种检测线路触&#xff08;漏&#xff09;电&#xff0c;并发出一个机械开闭信号至控制电路装置。它可与各种规格的低压断路器或交流接触器组成组合式剩余电流动作保护器。在如今已实现了较为完善的农村低压电网分级&#xff08;二级或三级&#x…

Apache Solr <= 8.8.1任意文件读取漏洞复现CVE-2019-17558

一、环境准备 搭建环境vulhub&#xff0c;需要提前安装docker环境 docker安装&#xff1a;docker--安装docker-ce-CSDN博客 vulhub地址&#xff1a;https://github.com/vulhub/vulhub #创建靶场环境 mkdir /opt/vulhub cd /opt/vulhub git https://github.com/vulhub/vulhu…

elementPlus下拉框实现自定义模糊查询且100%匹配的优先展示

效果&#xff1a; 我们可以看到&#xff0c;本来创建时间在创建人之上&#xff0c;但经过我们搜索创建并进行匹配度排序后&#xff0c;创建人的匹配度更高&#xff0c;因此搜索之后&#xff0c;创建人就会显示在创建时间之上。 当然如果100%匹配的同样会优先展示在最上面。 第…

11.1 pcl_ros的点云学习

本文是看了两个博主的内容&#xff0c;整理在这里是为了以后用时方便查找&#xff0c;更容易理解。引用的博文路径如下&#xff1a; ROS入门——PCL激光雷达点云处理&#xff08;1&#xff09;_pcl::torosmsg-CSDN博客 以下功能的实现是我在ubuntu20.04的环境下&#xff0c;搭…