ansible常用模块

  1. ping模块

     [devops@server1 ansible]$ ansible all -m ping
     server3 | SUCCESS => {
         "changed": false, 
         "ping": "pong"
     }
     server2 | SUCCESS => {
         "changed": false, 
         "ping": "pong"
     }
    
  2. copy模块

src:源文件路径位置
dest:目的地路径位置

[devops@server1 ansible]$ ansible test -m copy -a 'src=/etc/passwd dest=/tmp/passwd' 
server2 | CHANGED => {
    "changed": true, 
    "checksum": "3cc081d3b176d007c783e59c954eec74f6df7d64", 
    "dest": "/tmp/passwd", 
    "gid": 1001, 
    "group": "devops", 
    "md5sum": "c43e79d19ca578c7f892829679495a01", 
    "mode": "0664", 
    "owner": "devops", 
    "size": 1055, 
    "src": "/home/devops/.ansible/tmp/ansible-tmp-1560418590.1-259605285233838/source", 
    "state": "file", 
    "uid": 1001
}
[devops@server1 ansible]$ ansible test -a 'ls /tmp/passwd'
server2 | CHANGED | rc=0 >>
/tmp/passwd
  1. file模块
    修改文件的权限

[devops@server1 ansible]$ ansible test -m file -a ‘dest=/tmp/passwd mode=600’
server2 | CHANGED => {
“changed”: true,
“gid”: 1001,
“group”: “devops”,
“mode”: “0600”,
“owner”: “devops”,
“path”: “/tmp/passwd”,
“size”: 1055,
“state”: “file”,
“uid”: 1001
}
[devops@server1 ansible]$ ansible test -a ‘ls -l /tmp/passwd’
server2 | CHANGED | rc=0 >>
-rw------- 1 devops devops 1055 July 20 17:36 /tmp/passwd

  1. yum模块

     [devops@server1 ansible]$ ansible test -m \
     > yum -a 'name=httpd state=present' -b 
    

执行yum需要root权限,所以要做sudo

[root@server2 ~]# vim /etc/sudoers
[root@server3 ~]# vim  /etc/sudoers

在这里插入图片描述

[devops@server1 ansible]$ ansible test -a ‘rpm -q httpd’
查看安装的的版本
server2 | CHANGED | rc=0 >>
httpd-2.4.6-45.el7.x86_64

上一条命令中-b这个选项如果不想加,可以修改文件

[devops@server1 ansible]$ vim ansible.cfg 
[defaults]

inventory	= inventory

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

[devops@server1 ansible]$ ansible test -m \
> yum -a 'name=httpd state=present'

在这里插入图片描述

  1. service模块
    常见service有以下指令

     reloaded, restarted, started, stopped
     [devops@server1 ansible]$ ansible db -m yum -a ‘name=httpd state=present’
     [devops@server1 ansible]$ ansible db -m service -a ‘name=httpd state=started’
    

在这里插入图片描述

  1. firewalld模块

     [devops@server1 ansible]$ ansible test -m copy -a 'content="www.server2.com\n" dest=/var/www/html/index.html'
     [devops@server1 ansible]$ curl server2
     www.server2.com
    

正常访问没问题
配置火墙开启并且开机自启动

[devops@server1 ansible]$ ansible db -m service -a 'name=firewalld state=started enabled=true'
[devops@server1 ansible]$ curl server6
curl: (7) Failed connect to server6:80; No route to host

再次访问被拦截

[devops@server1 ansible]$ ansible-doc firewalld ##查看帮助

在这里插入图片描述
添加火墙策略

[devops@server1 ansible]$ ansible db -m firewalld -a 'service=http state=enabled permanent=yes  immediate=yes'
server3 | CHANGED => {
    "changed": true, 
    "msg": "Permanent and Non-Permanent(immediate) operation, Changed service http to enabled"
}
[devops@server1 ansible]$ curl server3
www.server3.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值