Linux学习16-Ansible部署与基本模块
Ansible简介Ansible基于Python开发,集合了众多运维工具puppet、cfengine、chef、func、fabric的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。Ansible工作原理在ANSIBLE管理体系中存在管理节点和被管理节点两种角色。被管理节点通常被称为资产.在管理节点上Ansible将AdHoc或PlayBook转换为Python脚本,并通过SSH将这些Python脚本传递到被管理服务器上。在被管理服务器上依次执行并实时的将结果返回给管理节点Ansible安装三台新虚拟机两台rocky9一台centos7解析防火墙关闭配置EPEL网络yum源安装ansibleAnsible配置文件主配置文件rocky系统可以直接复制粘贴centos系统中有以下语句去掉注释即可Inventory主机清单配置文件分组加入查看主机信息Ansible Ad-hoc[rootansible ~]# ansible pattern -m module_name -a arguments参数详解pattern: inventory文件里定义的主机组名,主机名,IP,别名等,all表示所有的主机,支持通配符,正则: -冒号,多个组,组名之间用冒号隔开web-组名或主机名中含web的webservers[0] - webservers组中的第一台主机, -1表示最后一台主机,支持切片(正):[1:2]表示组中的第二台和第三台all所有-m module_name:模块名称,默认为command-a arguments:传递给模块的参数-i file_name:指定inventory文件,默认为/etc/ansible/hosts-k :询问密码.如果没有传密钥到被管理端,必须要接此选项Ansible Modules主机连通性首先使用ssh联通一下其他两台主机主机连通性测试成功可以做一个ssh免密之后不用添加-k参数重复输入密码command模块这个模块可以直接在远程主机上执行shell命令并将结果返回本主机[rootserver ~]# ansible web -m command -a ss -ntl该模块下常用的几个命令chdir#在执行命令之前先切换到该目录executable#切换shell来执行命令需要使用命令的绝对路径free_form#要执行的Linux指令一般使用Ansible的-a参数代替。creates#一个文件名当这个文件存在则该命令不执行,可以用来做判断removes#一个文件名这个文件不存在则该命令不执行shell模块shell模块可以在远程主机上调用shell解释器运行命令支持shell的各种功能[rootserver ~]# ansible web -m shell -a cat /etc/passwd |grep keercopy模块这个模块用于将文件复制到远程主机同时支持给定内容生成文件和修改权限等其相关选项如下src#被复制到远程主机的本地文件。可以是绝对路径也可以是相对路径。如果路径是一个目录则会递 归复制用法类似于rsynccontent#用于替换src可以直接指定文件的内容dest#必选项将源文件复制到的远程主机的**绝对路径**backup#当文件内容发生改变后在覆盖之前把源文件备份备份文件包含时间信息directory_mode#递归设定目录的权限默认为系统默认权限force#当目标主机包含该文件但内容不同时设为yes表示强制覆盖设为no表示目标主机的目标位置不存在该文件才复制。默认为yesothers#所有的file模块中的选项可以在这里使用复制文件ansible web -m copy -a src~/hello dest/data/hello给定内容生成文件并制定权限查看关于覆盖ansible web -m copy -a contentI am keerya\n backupyes dest/data/name mode666file模块该模块主要用于设置文件的属性比如创建文件、创建链接文件、删除文件等下面是一些常见的命令path#路径force#需要在两种情况下强制创建软链接一种是源文件不存在但之后会建立的情况下另一种是目标软链接已存 在需要先取消之前的软链然后创建新的软链有两个选项yes|nogroup#定义文件/目录的属组。后面可以加上mode定义文件/目录的权限owner#定义文件/目录的属主。后面必须跟上path定义文件/目录的路径recurse#递归设置文件的属性只对目录有效后面跟上src被链接的源文件路径只应用于statelink的情况dest#被链接到的路径只应用于statelink的情况state#状态有以下选项directory#如果目录不存在就创建目录默认会递归创建file#即使文件不存在也不会被创建link#创建软链接hard#创建硬链接touch#如果文件不存在则会创建一个新文件如果文件或目录已存在,则更新其最后修改时间absent#删除目录、文件或者取消链接文件创建目录创建链接文件ansible web -m file -a path/data/bbb.jpg srcaaa.jpg statelinkpath链接文件src源文件删除文件fetch模块该模块用于从远程某主机获取复制文件到本地dest#用来存放文件的目录src#在远程拉取的文件并且必须是一个file不能是目录例ansible web -m fetch -a src/data/hello dest/datacron模块该模块适用于管理cron计划任务day#日应该运行的工作( 1-31, *, */2, )hour#小时( 0-23, *, */2, )minute#分钟( 0-59, *, */2, )month#月( 1-12, * , */2, )weekday#周( 0-6 for Sunday-Saturday,, )job#指明运行的命令是什么name#定时任务描述reboot#任务在重启时运行不建议使用建议使用special_timespecial_time#特殊的时间范围参数reboot重启时annually每年monthly每月weekly每周daily每天hourly每小时state#指定状态present表示添加定时任务也是默认设置absent表示删除定时任务user#以哪个用户的身份执行添加任务查看yum模块该模块主要用于软件的安装name#所安装的包的名称state#present---安装latest---安装最新的, absent---卸载软件。update_cache#强制更新yum的缓存conf_file#指定远程yum安装时所依赖的配置文件安装本地已有的包。disable_pgp_check#是否禁止GPG checking只用于presentor latest。disablerepo#临时禁止使用yum库。 只用于安装或更新时。enablerepo#临时使用的yum库。只用于安装或更新时。service模块该模块用于服务程序的管理arguments#命令行提供额外的参数enabled#设置开机启动。yes/true开机自启 no/flase开机关闭name#服务名称runlevel#开机启动的级别一般不用指定。sleep#在重启服务的过程中是否等待。如在服务关闭以后等待2秒再启动。(定义在剧本中。)state#有四种状态分别为#started---启动服务#stopped---停止服务#restarted---重启服务#reloaded---重载配置开启服务并设置自启动以nginx为例ansible web -m service -a namenginx statestarted enabledtrue执行后可以查看端口来验证是否真的启动ansible web -m shell -a ss -ntl关闭服务ansible web -m service -a namenginx statestoppeduser模块该模块主要是用来管理用户账号comment#用户的描述信息createhome#是否创建家目录force#在使用stateabsent时,行为与userdel –force一致.group#指定基本组groups#指定附加组如果指定为(groups)表示删除所有组home#指定用户家目录move_home#如果设置为home时,试图将用户主目录移动到指定的目录name#指定用户名non_unique#该选项允许改变非唯一的用户ID值password#指定用户密码remove#在使用stateabsent时,行为是与userdel –remove一致; removeyes //删除干净shell#指定默认shellsystem#当创建一个用户设置这个用户是系统用户。这个设置不能更改现有用户uid#指定用户的uid添加一个用户并指定其uid查看删除用户group模块该模块主要用于添加或删除组gid#设置组的GID号name#指定组的名称state#指定组的状态默认为创建设置值为absent为删除system#设置值为yes表示创建为系统组创建组查看删除组script模块该模块用于将本机的脚本在被管理端的机器上运行该模块直接指定脚本的路径即可编写脚本给予权限运行脚本查看文件内容setup模块该模块主要用于收集信息是通过调用facts组件来实现facts组件是Ansible用于采集被管机器设备信息的一个功能我们可以使用setup模块查机器的所有facts信息可以使用filter来查看指定信 息。整个facts信息被包装在一个JSON格式的数据结构中ansible_facts是最上层的值facts就是变量内建变量 每个主机的各种信息cpu颗数、内存大小等。会存在facts中的某个变量中。调用后返回很多对应主机的信 息在后面的操作中可以根据不同的信息来做不同的操作。如redhat系列用yum安装而debian系列用apt来安装软件查看信息查看内存保存信息setup模块还可以保存筛选的信息主机同时文件名为被管制的主机的IP这样方便寻找出问题的机器查看注一直出现的提示是 Ansible 的 Python 解释器自动发现提示属于警告WARNING而非错误可以在配置文件中写入路径以解决最后一行

相关新闻

从302份招标书看人形机器人技术攻坚:本地HPC、温和运动与强化学习框架

从302份招标书看人形机器人技术攻坚:本地HPC、温和运动与强化学习框架

宇树科技要IPO了,这个消息在机器人圈和投资圈都激起了不小的水花。但比起“又一家公司要上市”的新闻本身,更值得技术人关注的,是伴随这则消息被广泛讨论的另一个数据: 302份招标书 。 这302份招标文件,并非宇树一家…

2026/10/14 11:06:53 阅读更多 →
eNSP 实战:基于接口划分 VLAN(单交换机),实现同 VLAN 互通、不同 VLAN 隔离

eNSP 实战:基于接口划分 VLAN(单交换机),实现同 VLAN 互通、不同 VLAN 隔离

实验环境:eNSP 华为模拟器实验目标:掌握基于接口的 VLAN 划分,理解 VLAN 隔离广播域原理;同 VLAN 主机可以正常通信,不同 VLAN 主机二层直接无法互通。一、实验拓扑单台交换机 SW1,3 台 PC 主机PC1 → SW1 …

2026/10/7 7:43:46 阅读更多 →
CentOS服务器状态查询全攻略:从硬件到实时监控的运维必备命令

CentOS服务器状态查询全攻略:从硬件到实时监控的运维必备命令

1. 从“黑盒子”到“透明机房”:为什么你需要掌握服务器状态查询 刚接手一台服务器,尤其是生产环境的CentOS服务器时,很多朋友的第一感觉是“心里没底”。它就像个黑盒子,你只知道它在跑,但CPU累不累?内存还…

2026/10/16 15:37:27 阅读更多 →

最新新闻

如何用 cs-self-learning 规划你的 CS 自学路线:5 分钟上手指南

如何用 cs-self-learning 规划你的 CS 自学路线:5 分钟上手指南

如何用 cs-self-learning 规划你的 CS 自学路线:5 分钟上手指南 【免费下载链接】cs-self-learning 计算机自学指南 项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning 你打开 CMU 数据库名课 15-445 的页面,先看到的是一串先修…

2026/10/18 3:42:20 阅读更多 →
计算机总线详解:从数据线、地址线到带宽计算与常见误区

计算机总线详解:从数据线、地址线到带宽计算与常见误区

简介:这是一份围绕总线整理而成的计算机导论课件,聚焦第二章微型计算机系统的组成,适合计算机入门学习者、专升本备考者及需要复习硬件基础知识的读者使用。课件从系统概述讲起,依次介绍了硬件系统与软件系统的整体构成&#xff0…

2026/10/18 3:42:20 阅读更多 →
推荐系统评价指标详解:从准确率、召回率到NDCG的取舍与实践

推荐系统评价指标详解:从准确率、召回率到NDCG的取舍与实践

1. 推荐系统评价的这个根本命题做了几年推荐相关的工作,我越来越觉得评价指标这件事,表面上看是几个公式的事,实际上是你对整个推荐系统认知的浓缩。你选择用什么指标去衡量一个推荐模型,本质上就是在回答一个问题:你觉…

2026/10/18 3:42:20 阅读更多 →
高校行政PPT结构化表达工具:西工大主题模板实战指南

高校行政PPT结构化表达工具:西工大主题模板实战指南

简介:本资源是专为西北工业大学师生及行政人员设计的工作总结报告PPT模板合集,聚焦高校场景下的成果汇报、年度述职与项目复盘等实际需求,解决定制化校风呈现与专业表达效率低的双重痛点。压缩包共4个文件(16.3MB)&…

2026/10/18 3:42:20 阅读更多 →
【VSCODE】把 Git Bash 设为默认终端:TaoToken 环境下的配置与验证

【VSCODE】把 Git Bash 设为默认终端:TaoToken 环境下的配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 3:42:20 阅读更多 →
open-code-review:开源代码评审助手部署与规则调优实践

open-code-review:开源代码评审助手部署与规则调优实践

1. 从"人工盯代码"到"机器先过一遍"的设计思路转变代码评审这件事,大家嘴上都说重要,实际上在大多数团队里却是优先级最低的环节。需求排期紧张的时候,评审被压缩成"你帮我看看有没有问题",稍微正规…

2026/10/18 3:41:20 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →