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

ansible主机清单文件以及ansible常用模块

主机清单文件  Inventory---/etc/ansible/hosts

1.单个主机

如上图所示,这是ansible主机使用ping模块验证与192.168.140.12的机器是否通信正常。

如上图所示,这是ansible主机清单中被控机器的IP地址的编写。  

如上图所示,这是ansible机器与所有被控机器ping,验证是否通信正常。

如上图所示,这是在两台机器上同时执行这个shell命令df -hT

2.定义主机组

在ansible主机清单中设置组,

同样一个机器可以设置多个组中。

如上图所示,在ansible的主机清单中可以设置一个大的主机组,其中可以包含多个别的主机组,这里的children是一个关键字。

如上图所示,也可以以主机名的形式来添加被控主机,但是相应的要对Linux操作系统的hosts文件添加主机映射。

AD  HOC的管理方式

直接运行ansible的命令去管理被控机器的方式叫做AD HOC

如上图所示,ansible命令的AD HOC方式有ansible   被控机器的组名,或者ip地址,   -m  模块名称   -a  "模块参数"

如上图所示,这条命令可以对两个主机组的交集机器进行操作。

如上图所示,如果我们不想加引号,就需要在&前面加上一个\进行转义。

如上图所示,这个命令表示的意思是我要操作webserver主机组中有的机器而dbserver主机组中没有的机器。也就是说webserver主机组中刨去dbserver主机组中的机器,对剩余的机器进行操作。

哪个主机组在后刨去哪个主机组。

如上图所示,这是对两个主机组的并集机器进行操作。

常用模块

1.ping模块

ping模块用来测试通信

2.shell模块

批量执行shell命令,常用于源码编译安装软件

1)chdir=  切换目录

多个参数之间用空格隔开。


3.copy模块

推送文件

常用参数:

1.src=  源文件

2.dest=  目的文件

3.mode= 权限

4.owner= 属主

5.group= 属组

如上图所示,这是编辑文件/tmp/file01,并且将这个文件推送到webserver的主机组中,加上参数信息,-a用来指定源文件地址,dest用来指定目的文件的存放路径。

如上图所示,这是验证推送文件之后的结果。

如上图所示,这是在推送文件的同时,我们可以指定推送文件到被控机器的位置,还有文件推送过去之后的权限,以及文件的属主和属组。

并且如上图所示,第一个0表示没有给这个文件设置特殊权限。

如上图所示,这是查看推送文件的操作。

 4.fetch模块

5.file模块

管理文件目录

如上图所示,这表示的就是在webserver主机组的tmp目录下新创建一个目录。

如上图所示,这是删除webserver主机组指定目录下,删除文件的操作。

如上图所示,这是对这个webserver的主机组,对指定文件修改权限,属主和属组的操作。

如上图所示,这是对webserver主机组中的机器,对指定目录创建软链接的操作。

6.yum模块

常识:在机器上有多个yum源,当安装软件的时候,会自动安装软件的最新版本。忽略旧版本软件。

如上图所示,当我们在ansible软件中要去使用这两个参数的时候,要去使用yum源标识。

这里的yum源标识就是yum源方括号中写的东西。

如上图所示,这是去下载软件vsftpd在主机组中,

7.service模块

管理系统服务

如上图所示,这是使用service模块时常用的参数信息。

如上图所示,这是去设置webserver主机组中的vsftpd软件的启动和开机自启动。

8.cron模块

管理计划任务

如上图所示,这是去查看webserver的主机组的机器上有没有计划任务。

如上图所示,这就是创建计划任务,这个计划任务的作用是去同步时间。每30分钟执行一次。

如上图所示,这是去查看机器计划任务

9.group模块

10.user模块

如上图所示,这是在webserver主机组中创建对应的dev用户组。

如上图所示,这是使用ansible到webserver用户组,创建hadoop用户,指定对应的shell程序,指定用户组,

11.script模块

这个模块的作用是将管理端的可执行脚本推送到指定被控机器上去执行,并且在被控机器上执行完脚本之后,会将被控机器的脚本删除。

如上图所示,这是在被控机器上去执行脚本,参数名称就是脚本名称。

12.setup模块【非常重要】

搜集被管理端的状态数据。【包含cpu型号,内存大小,硬盘,ip,操作系统版本,】统称为facts变量。

如上图所示,这条命令就是在搜集192.168.140.12机器上所有的状态数据,当然这时所有的状态数据都是以键值对的形式呈现的。即python中的列表字典。

如上图所示,这是对被管理端的数据进行解读,这是被管理端的ipv4地址和ipv6地址。

如上图所示,这是被管理端的系统架构。

如上图所示,这是被管理端的时间。

如上图所示,这是对被管理机器IPv4的详细信息。

如上图所示,这都是被控制机器上的块设备,

其中sda2是一个分区,其中sr0是光盘,其中dm-0,dm-1是机器上的逻辑卷,

如上图所示,查看机器的逻辑卷,机器的逻辑卷其实就是一个块设备文件。

如上图所示,这是被控制机器返回的操作系统的信息,这个信息在脚本中非常重要。被用来做条件判断。

如上图所示,当前被控制机器的操作系统大版本是7,小版本是6

如上图所示,这是被控机器的内核版本

如上图所示,这是被控机器的主机名+域名,即这个被控机器的完全限定域名,

被控机器的主机名。

ansible软件的被管理端要有ssh服务,管理端必须安装在Linux操作系统上。

相关文章:

  • 日照网站推广百度快速排名优化技术
  • 个人做商机网站如何盈利网络广告营销的典型案例
  • 坑梓网站建设市场网络营销广告
  • 网站首页被降权的原因湖人最新排名最新排名
  • 青岛网站维护公司周口seo推广
  • 做家具网站要多少钱百度搜索流量查询
  • 软考中级-软件设计师信息安全模块考点解析
  • docker 镜像下载的另一种方式
  • 简易指南“<em >快</em><em>3</em><em>倍</em><em>投</em><em>规</em><em>划
  • C++第13届蓝桥杯省b组习题笔记
  • 自动化工作流工具的综合对比与推荐
  • 自定义类型:结构体(1)
  • 在 Qt 创建项目时,Qt Quick Application (Compat) 和 Qt Quick Application
  • 5种特效融合愚人节搞怪病毒
  • 深入解析C#中的解释器模式:原理与应用
  • C语言:多线程
  • 《Python实战进阶》第39集:模型部署——TensorFlow Serving 与 ONNX
  • C--操作符
  • AI人工智能-PyCharm的介绍安装应用
  • Vue学习笔记集--defineExpose
  • CSP-J 2019 入门级 第一轮(初赛) 完善程序(2)
  • 协程 Coroutine
  • 综合实验一
  • Arduino示例代码讲解:Virtual Color Mixer 虚拟混色器
  • CS提取的基本使用和模块加载
  • 树莓派超全系列文档--(14)无需交互使用raspi-config工具其一