服务器版本信息:
Centos6.9
[root@db02 ~]# uname -a Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
ansible软件介绍
ansible是一个基于Python开发的自动化运维工具!
其功能实现基于SSH远程连接服务!
ansible可以实现批量系统配置、批量软件部署、批量文件拷贝、批量运行命令等功能
ansible官方资料
官网:http://www.ansible.com/home
官网文档:http://docs.ansible.com/ansible/index.html
ansible软件特点
- 不需要单独安装客户端,基于系统自带的sshd服务,sshd就相当于ansible的客户端
- 不需要服务端
- 依靠大量的模块实现批量管理
- 配置文件/etc/snsible/ansible.cfg,不用配置
ansible输出结果的颜色
- 输出内容显示绿色:表示执行成功,当没有任何改变
- 输出内容显示黄色:表示执行成功,但对被管理主机进行了改变
- 输出内容显示红色:表示执行失败
ansible参数
|
命令参数 |
参数说明 |
|
-m MODULE_NAME |
--module-name=MODULE_NAME module name to execute (default=command) 相应名称的模块被执行(默认模块为 command ); -m后边是模块的名字 |
|
-a MODULE_ARGS |
--args=MODULE_ARGS module arguments 模块参数信息; -a后面是要执行的命令;也可以写一个 ip ,针对一台机器来执行命令 |
|
-C,--check |
don’t make any changes; instead, try to predict some of the changes that may occur 不做任何改变;反而,只是尝试预言一些可能出现的改变 |
|
--syntax-check |
perform a syntax check on the playbook, but do not execute it 执行语法检查在剧本上,但是并不执行剧本 |
ansible部署
第一步、首先部署ssh+key免密码登陆方式
ssh+key部署:
http://www.cnblogs.com/2lianzhang/p/8058661.html
第二步、被管理端安装libselinux
yum install libselinux-python -y
第三步、服务端安装ansible,配置文件编写
yum install ansible -y
ansible的重要目录
/etc/ansible/hosts --- 定义anisble软件可以管理的主机信息
/usr/bin/ansible --- ansible执行命令
/usr/bin/ansible-playboot --- ansible执行剧本命令
/etc/ansible/hosts 配置文件编写举例
在配置文件中添加被管理主机的ip模块
[name] 172.16.1.21 172.16.1.11 172.16.1.1
在/etc/ansible/host文件最后添加[]下面接想要管理的主机ip,[]中起任意名字
测试控制这三台主机
命令语法:
ansible name -m shell -a "hostname" ansible ---- 命令 name ---- 主机模块名称 -m ---- 指定模块的参数 shell --- 模块名称(不同模块不同名称) -a --- 指定利用模块执行的动作参数 "hostname" ---- 在被控主机上批量执行的操作