安装ansible:

[root@niexj21 ~]# yum install -y ansible

ansible命令参数:

ansible命令语法:ansible [-i 主机文件] [-f 批次] [组名] [-m 模块名称] [-a 模块参数]

设置管理主机的配置文件,添加如下内容(主机无密码访问):

[root@niexj21 ~]# vim /etc/ansible/hosts 

19 [webservers]
20 192.168.1.21
21 192.168.1.22

测试节点联通性

[root@niexj21 ~]# ansible -i /etc/ansible/hosts webservers -m ping

自动化运维工具ansible_vim

检查节点的内核版本 :

[root@niexj21 ~]# ansible -i /etc/ansible/hosts webservers -m command -a "uname -r"   ## -i 默认配置文件/etc/ansible/hosts,-m 默认模块command

自动化运维工具ansible_配置文件_02

 scripts模块,使用该模块可以写一个脚本,在远程服务器执行:

 

 [root@niexj21 ~]# vim /etc/ansible/test.sh

自动化运维工具ansible_vim_03

 

 [root@niexj21 ~]# ansible webservers -m script -a "/etc/ansible/test.sh"

自动化运维工具ansible_vim_04

 copy模块:实现主控端向目标主机拷贝文件

[root@niexj21 ~]# ansible webservers -m copy -a "src=/etc/ansible/hosts dest=/tmp/test"

[root@niexj21 ~]# ansible webservers -m copy -a "src=/etc/my.cnf dest=/tmp/test owner=root group=root mode=0755"

自动化运维工具ansible_配置文件_05

 file模块设置文件属性

[root@niexj21 ~]# ansible webservers -a "mkdir /tmp/test2"

[root@niexj21 ~]# ansible webservers -a "touch /tmp/test2/a.txt"

[root@niexj21 ~]# ansible webservers -a "ls -l /tmp/test2"

自动化运维工具ansible_文件属性_06

 [root@niexj21 ~]# ansible webservers -m file -a "path=/tmp/test2/a.txt mode=0775"

[root@niexj21 ~]# ansible webservers -a "ls -l /tmp/test2/a.txt"

自动化运维工具ansible_配置文件_07

 get_url模块实现远程主机下载指定的URL到本地

[root@niexj21 ~]# ansible webservers -m get_url -a "url=http://www.baidu.com dest=/tmp/test2 mode=0640"

[root@niexj21 ~]# ansible webservers -a "ls -l /tmp/test2"

自动化运维工具ansible_文件属性_08

 yum模块Linux平台软件包安装

[root@niexj21 ~]# ansible webservers -m yum -a "name=httpd state=latest"

[root@niexj21 ~]# ansible webservers -a "systemctl status httpd"

自动化运维工具ansible_linux_09

 service模块远程主机系统服务管理

[root@niexj21 ~]# ansible webservers -m service -a "name=httpd state=started"

自动化运维工具ansible_文件属性_10