通过上一篇博文我们可以在主机上安装ansible-tower(上篇博文linux安装ansible-tower_icanflying的博客-CSDN博客),在互联网有关playbook详细使用的文章太少,所以再次整理一下供参考,后续有时间会陆续补充
一、首先我们要添加主机用于执行任务
1、定义一个Organizations组织,类似部门下拥有某些项目,有很多主机组
2、添加清单,类似主机分组
3、添加完主机组就可以来添加主机
(1)、通过界面以yaml语言的方式进行添加
ansible_ssh_port: 22
ansible_ssh_user: root
ansible_ssh_host: 192.168.31.252
ansible_ssh_pass: cityhouse
(2)、通过服务器终端方式添加
1)、这是我服务器/etc/ansible/hosts文件格式,因为系统中hosts文件中注释太多影响判断,可以但单独分离出主机信息到新的hosts文件
192.168.31.252 ansible_ssh_host=192.168.31.252 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=cityhouse
192.168.31.249 ansible_ssh_host=192.168.31.249 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=cityhouse
2)、 命令导入到资产清单
tower-manage inventory_import --source=/etc/ansible/hosts --inventory-name=song --keep-vars
--source 指定inventory文件(hosts)
--group-filter 从文件中通过组名过滤(定义的hosts主机组)
--host-filter 通过host name过滤
--inventory-name 导入到指定名称资产清单(ansible-tower清单中定义的主机组)
--inventory-id 导入到指定ID的资产清单
# name 和 id 选一个
--overwrite 覆盖主机和组,默认不覆盖
--overwrite-vars 覆盖主机变量
--keep-vars 保持主机变量
--enabled-value 导入的主机状态是否激活默认激活
3)、回到web查看已经添加到主机中
(3)、还可以从云平台导入,条件有限就不演示了
二、导入playbook
1、点击项目-创建
2、演示添加本地 PLAYBOOK方式
名称:(http-install)我这有一个安装http的剧本就起这个名了对应一个剧本
机构:上面创建的组织名
SCM类型:选择导入PLAYBOOK方式
项目基本路径:这里定义的剧本存放位置
PLAYBOOK目录:一定要是如下格式(我这里写了俩剧本hello和http,用户属组一定要是awx,否则读取不到)
三、项目设定完就需要配置模板来运行PLAYBOOK
1、选择作业模板
2、选择清单和剧本yaml文件
这里注意清单主机地址优先级大于剧本yaml文件中hosts定义