当前位置: 首页 > news >正文

自动化运维工具Ansible

一.Ansible基本内容

1.定义

Ansible是基于模块工作的,只是提供了一种运行框架,本身没有完成任务的能力,真正操作的是Anisble的模块。每个模块都是独立的、实现了批量系统配置、批量程序部署、批量运行命令等功能。

2.特点与优势

优势:

(1)轻便性:无需在被控制服务器上安装客户端,Ansible基于ssh协议

(2)幂等性:大部分模块有幂等性,即如果输入systemctl stop firewalld当发现要停止的服务已经停止就不会做任何操作了,多次停止不会改变结果。systemtl restart是非幂等的。

(3)判断性:大部分模块在执行时都会判断目标节点是否要执行任务,所有重复执行某个任务大部分时间不会产生副作用

(4)简介性:一个窗口即可管理所有需要控制的机器,无需开启多个窗口

 特点:

(1)部署简单,只需要主控端部署Ansible环境,被控端无需做任何操作;

(2)默认使用SSH协议设备进行管理;

(3)主从集中化管理;

(4)配置简单、功能强大、扩展性强;

(5)支持API及自定义模块,可以通过Python轻松扩展

(6)通过playbooks来定制强大的配置、状态管理

(7)对云平台和大数据都有很好的支持

4.Anisible核心程序

(1)HostInventory:记录由Ansible管理的主机信息,端口,ip,密码等

(2)playbooks:'剧本'YAML格式文件,多任务定义在一个文件中,定义主机需要调用那些模块完成功能

(3)core modeules:核心模块主要操作通过调用核心模块来完成管理任务

(4)customodules:自定义模块,完成核心模块无法完成的模块,支持多种语言编写

(5)connectiontugins:连接插件,ansible和主机通信使用(ssh协议)

5.Ansible工作原理

(1)加载自己的配置文件,默认/etc/ansible/ansible.cfg

(2)查找对应的主机的配置文件,找到要执行的主机或组/etc/ansible/hosts文件

(3)加载自己对应的模块文件,如command、yum、ping、

(4)通过ansible将模块命令生成对应的临时py文件(类似python脚本),并将该文件传输至被管理端

(5)传输到在被控制端的对应用户的家目录下.ansible/tmp/xxx/xxx.py

(6)被控制端给传输过来的py文件加执行权限

(7)执行并返回结果,执行完成后删除py文件并sleep 0退出

二.Ansible自动化运维工具部署

yum install  -y epel-release 
#安装epel-release
yum install -y  ansible
#安装ansible
#配置文件位置:/etc/ansible/ansible
#hosts文件位置:/etc/ansible/hosts
vim /etc/ansible/hosts
#编辑hosts文件添加被管理的机器,内容如下
[webservers]
192.168.227.102
192.168.227.103
#[webservers]为一个组,组内2个服务器,添加完毕保存退出
ssh-keygen
#生成公钥,输入命令输入4个回车即可
cd ~/.ssh
ssh-copy-id -i   192.168.227.102
ssh-copy-id -i   192.168.227.103
#进入生成的公钥路径将公钥传输给备管理的服务器,传输需要输入每台备管理服务的root密码
ansible ansible-doc  -l 
#安装完毕,此命令可以查看有哪些ansible模块,按q退出
ansible  webservers  -m command  -a 'pwd'
#安装完成尝试管理webservers组输入pwd命令
ansible  all   -a 'ls'
#安装完成尝试管理所有hosts中主机输入ls命令,不指定模块默认为command模块
ansible  192.168.227.102  -m -a 'ls'
#安装完成尝试管理192.168.30.12服务器输入pwd命令

相关文章:

自动化运维工具Ansible

一.Ansible基本内容 1.定义 Ansible是基于模块工作的,只是提供了一种运行框架,本身没有完成任务的能力,真正操作的是Anisble的模块。每个模块都是独立的、实现了批量系统配置、批量程序部署、批量运行命令等功能。 2.特点与优势 优势&…...

VR全景在智慧园区中的应用

VR全景如今以及广泛的应用于生产制造业、零售、展厅、房产等领域,如今720云VR全景更是在智慧园区的建设中,以其独特的优势,发挥着越来越重要的作用。VR全景作为打造智慧园区的重要角色和呈现方式已经受到了越来越多智慧园区企业的选择和应用。…...

用信号的方式回收僵尸进程

当子进程退出后,会给父进程发送一个17号SIGCHLD信号,父进程接收到17号信号后,进入信号处理函数调用waitpid函数回收僵尸进程若多个子进程同时退出后,这是切回到父进程,此时父进程只会处理一个17号信号,其他…...

计算机服务器中了locked勒索病毒怎么解密,locked勒索病毒解密流程

科技的发展带动了企业生产,越来越多的企业开始利用计算机服务器办公,为企业的生产运营提供了极大便利,但随之而来的网络安全威胁也引起了众多企业的关注。近日,云天数据恢复中心接到许多企业的求助,企业的计算机服务器…...

【C语言刷题】——初识位操作符

【C语言刷题】——初识位操作符 位操作符介绍题一、 不创建临时变量(第三个变量),实现两个数的交换(1)法一(2)法二 题二、 求一个数存储在内存中的二进制中“一”的个数(1&#xff0…...

Python 对Excel工作表中的数据进行排序

在Excel中,排序是整理数据的一种重要方式,它可以让你更好地理解数据,并为进一步的分析和报告做好准备。本文将介绍如何使用第三方库Spire.XLS for Python通过Python来对Excel中的数据进行排序。包含以下三种排序方法示例: 按数值…...

Python对头发二维建模(考虑风力、重力)

目录 一、背景 二、代码 一、背景 数值方法被用于创建电影、游戏或其他媒体中的计算机图形。例如,生成“逼真”的烟雾、水或爆炸等动画。本文内容是对头发的模拟,要求考虑重力、风力的影响。 假设: 1、人的头部是一个半径为10厘米的球体。…...

Python基础快速入门

Python基础快速入门 前置知识 Python Python是一种广泛使用的高级编程语言,以其易于学习和使用的语法而闻名。以下是Python的一些主要特点: 高级语言:Python是一种高级语言,这意味着它提供了较高层次的抽象,使编程更…...

C++的学习

代码练习 输入一个字符串&#xff0c;统计其中大写字母、小写字母、数字、空格以及其他字符的个数 #include <iostream>using namespace std;int main() {cout << "请输入一个字符串" << endl;string str;getline(cin,str);int capital 0;int l…...

工地安全反光衣穿戴监测报警摄像机

工地安全反光衣穿戴监测报警摄像机是为了提高工地施工人员的安全意识和监管效率而设计的。这种设备结合了反光衣、监测系统和报警摄像机的功能&#xff0c;可以有效减少工地事故的发生。 首先&#xff0c;工地安全反光衣是一种具有高度可见度的服装&#xff0c;能够使穿戴者在夜…...

UNIAPP微信小程序中使用Base64编解码原理分析和算法实现

为何要加上UNIAPP及微信小程序&#xff0c;可能是想让检索的翻围更广把。&#x1f607; Base64的JS原生编解码在uni的JS引擎中并不能直接使用&#xff0c;因此需要手写一个原生的Base64编解码器。正好项目中遇到此问题&#xff0c;需要通过URLLink进行小程序跳转并携带Base64参…...

人工智能|机器学习——K-means系列聚类算法k-means/ k-modes/ k-prototypes/ ......(划分聚类)

1.k-means聚类 1.1.算法简介 K-Means算法又称K均值算法&#xff0c;属于聚类&#xff08;clustering&#xff09;算法的一种&#xff0c;是应用最广泛的聚类算法之一。所谓聚类&#xff0c;即根据相似性原则&#xff0c;将具有较高相似度的数据对象划分至同一类簇&#xff0c;…...

注意力、自注意力和多头注意力的区别

本文作者&#xff1a; slience_me 注意力、自注意力和多头注意力的区别 理解注意力&#xff08;Attention&#xff09;、自注意力&#xff08;Self-Attention&#xff09;和多头注意力&#xff08;Multi-Head Attention&#xff09;之间的区别非常重要&#xff0c;因为它们是自…...

FTP,SFTP,FTPS,SSL,TSL简介,区别,联系,使用场景说明

文章目录 简介FTPFTPSSFTP加密场景选择FTPS还是SFTPFTP、SFTP、FTPS区别、联系和具体使用场景如何使用FTP、SFTP和FTPSSSLTLSSSL和TLS区别和联系&#xff0c;以及使用场景SSL和TLS技术上的区别一些问题隐式的TLS&#xff08;FTPS/SSL&#xff09;或者显式的TLS&#xff08;FTPS…...

路由算法与路由协议

路由选择协议的核心是路由算法&#xff0c;即需要何种算法来获得路由表中的各个项目。 路由算法的目的很简单&#xff1a;给定一组路由器以及连接路由器的链路&#xff0c;路由算法要找到一条从源路由器到目标路由器的最佳路径。通常&#xff0c;最佳路径是指具有最低费用的路…...

dubbo接口自动化用例性能优化

前言 去年换了一个新部门&#xff0c;看了下当前的自动化用例的情况&#xff0c;发现存在三类性能问题&#xff1a; 本地调试运行时等待时间较长&#xff0c;就算是一个简单的case&#xff0c;执行时间都需要1分钟以上单用例执行时间比较长&#xff0c;部分用例执行时间超过2…...

.net core框架

ASP.NET Core 入门 跨平台开源框架 B/S 类与方法 Console 部分称为“类”。 类“拥有”方法&#xff1b;或者可以说方法存在于类中。 WriteLine() 部分称为“方法”。 想要使用方法就要知道方法在哪里 —————————— 执行流 一次执行一段 ASP.NET Core 是什么东西…...

学习大数据,所需要Java基础(9)

文章目录 网络编程实现简答客户端和服务器端的交互编写客户端编写服务端 文件上传文件上传客户端以及服务器端实现文件上传服务器端实现&#xff08;多线程&#xff09;文件上传服务器端&#xff08;连接池版本&#xff09;关闭资源工具类 BS架构服务器案例案例分析BS结构服务器…...

Python元组(Tuple)深度解析!

目录 1. 什么是元组&#xff1f; 2. 创建元组 3.访问元组 4.元组的运算 5.修改元组不可行 6.元组的应用场景 前面的博客里&#xff0c;我们详细介绍了列表&#xff08;List&#xff09;这一种数据类型&#xff0c;现在我们来讲讲与列表相似的一种数据类型&#xff0c;元组…...

排序 Comparable接口、Comparator接口

String类的Comparable接口 1、String类实现了Comparable<String>接口&#xff0c;并提供了compareTo方法的实现&#xff0c;因此&#xff0c;字符串对象&#xff08;即String类型的实例&#xff09;可以直接调用compareTo()方法来比较它们。2、String类的compareTo()方法…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...