ansible常用模块(command、copy、file、yum、service、firewalld)

本篇博客的内容在上一篇博客ansible搭建的基础上完成:自动化运维工具Ansible的搭建
一、Ansible的command默认模块的简单使用
1、在ansible1上执行

[devops@ansible1 ansible]$ ansible test -m command -a 'df -h'

test指ansible中test组,-m后指定模块 -a后加这个模块的参数
在这里插入图片描述
注意:command模块为默认的模块,如果不-m指定的话,默认使用的command模块
二、copy模块
1、copy

[devops@ansible1 ansible]$ ansible test -m copy -a 'src=/etc/passwd dest=/tmp/passwd'

在这里插入图片描述
查看

[devops@ansible1 ansible]$ ansible test -a 'ls /tmp/passwd'

在这里插入图片描述
三、file模块

查看docker2某文件的权限

[devops@ansible1 ansible]$ ansible test -a 'ls -l /tmp/passwd'

在这里插入图片描述
更改权限:

[devops@ansible1 ansible]$ ansible test -m file -a 'dest=/tmp/passwd mode=600'

在这里插入图片描述
四、yum模块

查看yum模块的使用方法:

[devops@ansible1 ansible]$ ansible-doc yum

在这里插入图片描述
在这里插入图片描述
注意:我们现在使用的是普通用户,没有执行yum命令的权力:
先配置devops用户的sudo权限:

[root@ansible2 ~]# vim /etc/sudoers
====================================
 93 devops  ALL=(ALL)       NOPASSWD: ALL
+++++++++++++++++++++++++++++++++++++++++
[root@ansible3 ~]# vim /etc/sudoers
====================================
 93 devops  ALL=(ALL)       NOPASSWD: ALL
  • ansible2
    在这里插入图片描述
  • ansible3
    在这里插入图片描述
    在docker2-3上,下载httpd服务
#一定要加入-b选项,否则会报错
[devops@ansible1 ansible]$ ansible test -m yum -a 'name=httpd state=present' -b

在这里插入图片描述
在这里插入图片描述
查看是否下载成功:

[devops@ansible1 ansible]$ ansible test -m command -a 'rpm -q httpd'

在这里插入图片描述
不加-b可以在ansible的配置文件里面配置:

[devops@ansible1 ansible]$ vim ansible.cfg
==========================================
[defaults]


inventory      = inventory

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
  • test组
[devops@ansible1 ansible]$ ansible test -m yum -a 'name=httpd state=present'

在这里插入图片描述

  • webservers组
[devops@ansible1 ansible]$ ansible webservers -m yum -a 'name=httpd state=present'

在这里插入图片描述
在这里插入图片描述
卸载:

[devops@ansible1 ansible]$ ansible test -m yum -a 'name=httpd state=absent'

在这里插入图片描述
五、service模块

启动db组的httpd服务:

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

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

[devops@ansible1 ansible]$ curl 172.25.70.3

在这里插入图片描述
在这里插入图片描述
这是ansible3的httpd服务的默认发布页,不太直观,我们写一个发布页:

[devops@ansible1 ansible]$ ansible db -m copy -a 'content="www.redhat.com\n" dest=/var/www/html/index.html'

在这里插入图片描述
在这里插入图片描述
六、firewalld模块

如何在开启防火墙的情况下,正常使用httpd服务呢?

首先开启防火墙

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

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

[devops@ansible1 ansible]$ curl ansible3

在这里插入图片描述
把httpd服务加入防火墙白名单:

[devops@ansible1 ansible]$ ansible db -m firewalld -a 'service=http state=enabled permanent=yes immediate=yes'

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值