标签:book syntax 12月 handlers ice 变量 模板 user 控制
软件环境:rhel7.3 因为低版本有软件依赖太多要解决[root@server17 ~]# ssh-keygen -t rsa #一路回车做免密
[root@server17 ~]# ssh-copy-id root@172.25.135.18
[root@server17 ~]# ssh-copy-id root@172.25.135.19
[root@server17 ~]# ansible-doc -l #查看ansible所有模块,q退出
conmand模块
格式:ansible+组名 -m 指定模块 -a ‘命令’
[root@server17 ~]# ansible all -m command -a ‘date‘
172.25.135.18 | CHANGED | rc=0 >>
2018年 12月 06日 星期四 07:04:45 EST
172.25.135.19 | CHANGED | rc=0 >>
2018年 12月 06日 星期四 07:04:45 EST
user模块
[root@server17 ~]# ansible all -m user -a ‘name="westos" system=yes‘ #all指定所有组,name=westos,system=yes固定参数。
[root@server17 ~]# ansible all -m user -a ‘name="westos" state=absent‘ #all指定所有组,删除所有用户。
yum模块
用yum模块给被控制主机一键安装众多服务
service模块
启动、关闭、查看服务状态
ansible web -a ‘systemctl status httpd‘ #查看服务状态
ansible web -a ‘systemctl start httpd‘ #开启服务
ansible web -a ‘systemctl stopped httpd‘ #关闭服务
[root@server17 ~]# ansible all -m yum -a ‘name=httpd‘
[root@server17 ~]# ansible web -a ‘systemctl start httpd‘
script模块
[root@server17 ~]# vim westos.sh
[root@server17 ~]# chmod +x westos.sh
[root@server17 ~]# ./westos.sh
ceshi
[root@server17 ~]# ansible mysql -m script -a ‘/root/westos.sh‘
setup模块
ansible mysql -m setup #查看被控制主机信息
[root@server17 ~]# ansible mysql -m ping
ansible的剧本是使用yaml语言进行编写的,基本语法如下
基本语法:
1、大小写
2、同级别要对齐,缩进表示层级
3、缩进不允许使用Tab键
4、缩进空格数不规定,相同元素区分即可
支持的数据结构:
1、对象:键值对集合,又称映射/哈希/字典
例如:name:example 键:值
2、数组:一组按次序排列的值,又称序列/列表/
例如:-apple
3、纯量:单个的、不再分的值
例如:number:12.30
sure:true
play-book剧本
通过tasks调用ansible的模板将多个play组织在一个playbook中运行。
palybook构成部分:
(1)tasks:任务,相当于执行事务
(2)variables:变量(定义场景:hosts文件;剧本中;命令中)
(3)templates:模板
(4)handlers:处理器,满足条件,触发执行操作
(5)roles:角色
[root@server17 ~]# cd /opt/
[root@server17 opt]# ls
[root@server17 opt]# vim index.html
westos.org
[root@server17 ~]# ansible-playbook book.yml
标签:book syntax 12月 handlers ice 变量 模板 user 控制
原文地址:http://blog.51cto.com/13810716/2327283