企业—ansible模块应用

本文介绍了在 Linux 中使用 ansible 的相关操作。可通过 ansible-doc -l 查看支持的模块,用 ansible-doc -s 查看模块参数。详细阐述了 ansible 常用模块如 copy、file、yum、service 等的用法、参数设置及应用示例,还提及了相关准备和测试工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ansible 默认提供了很多模块来供我们使用。

在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块

通过ansible-doc -s 模块名 又可以查看该模块有哪些参数可以使用。

1.ansible常用的几个模块及其相应的参数设置

copy file ron group user yum service script ping command raw get_url

  • ansible-inventory:定义主机
  • ansible-playbook:角色指定
  • ansible-doc:文档
  • ansible-vault:加密解秘用到

-m 匹配默认的命令模块
-a 指定的模块参数
-f 10个线程并发操作默认为5个
-m shell :运行shell脚本

1.模块的文档查看及其指定模块的参数查看相应的被管理节点

[devops@server1 ansible]$ ansible-doc copy   查看copy模块的帮助文档
[devops@server1 ansible]$ ansible test -a 'df -h'  查看定义的test主机上的挂载使用情况

在这里插入图片描述
2.copy模块的应用

用法

  • src :本地文件路径,可以是绝对和相对
  • dest= :不可省,如果src是目录,则dest也是目录。只能是绝对路径
  • group :指明文件属组
  • mode :指明权限
  • owner :指明所有者
  • content :直接写出内容,并将其复制给远程主机

//复制本地文件到远端主机
在这里插入图片描述
在这里插入图片描述
//直接写出复制到远端主机的内容
在这里插入图片描述
3.file模块的应用

用法
//创建链接文件

  • path=/PATH/TO/SOMEFILE src=/PATH/TO/SOMEFILE state=link
  • path指向的路径生成一个链接文件,链接文件指向src指向的路径。

//创建目录

  • path=/PATH/TO/SOMEFILE state=directory
    //删除文件
  • path=/PATH/TO/SOMEFILE state=absent (也可以使用present表示添加文件)

//修改远程主机文件的相应权限
在这里插入图片描述
//创建目录
在这里插入图片描述
在这里插入图片描述
//删除文件
在这里插入图片描述
3.yum模块

进行安装相应的软件时首先会做采集动作,如果安装的软件已经存在就不会进行安装

用法:

  • name= : 指明管理程序包包名
  • state :present,installed表示安装程序包,latest表明安装最新版本;absent和removed表示卸载安装包,默认是安装最新版本

准备:
//在被管理节点server2,server3配置可以对其进行远程操作的sudo

[root@server2 ~]# vim /etc/sudoers
[root@server3 ~]# vim /etc/sudoers
文件添加内容如下:
93 devops        ALL=(ALL)       NOPASSWD: ALL

在这里插入图片描述
//进行安装时需要切换超级用户身份来执行,因此需要ansible管理节点server1上的devops用户下配置超级用户执行权限

[devops@server1 ansible]$ vim ansible.cfg 
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

在这里插入图片描述
应用:

//在被管理节点安装httpd并且开启httpd

[devops@server1 ansible]$ ansible db -m yum -a 'name=httpd state=present'
[devops@server1 ansible]$ ansible db -m service -a 'name=httpd state=started'

在这里插入图片描述
在这里插入图片描述
测试:

[devops@server1 ansible]$ curl server3  //测试默认发布页面
[devops@server1 ansible]$ ansible db -m copy -a 'content="www.westos.org\n"  dest=/var/www/html/index.html'
[devops@server1 ansible]$ curl server3    //测试
www.westos.org

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.service模块

用法:

  • name= :管理服务的名称
  • enabled : 是否开机启动
  • state : started/stopped启动或停止服务;restart重启服务;reloaded重新加载配置文件,注意如果服务没有起来会启动服务。

//在被管理节点开启火墙并且设置火墙开机自启

[devops@server1 ansible]$ ansible db -m service -a 'name=firewalld state=started'
[devops@server1 ansible]$ ansible db -m service -a 'name=firewalld state=started enabled=true'

测试:再次访问server3发现访问不到
在这里插入图片描述
//重新添加火墙策略

[devops@server1 ansible]$ ansible db -m firewalld -a 'service=http state=enabled permanent=yes immediate=yes'   //添加火墙策略

在这里插入图片描述
发现再次访问可以访问到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值