playbook配置文件

---	
-	代表项
:	分割健和值

...

远程安装httpd服务

---
- hosts: gyh
  remote_user: root
  tasks: 
  	- name: copy http
  	  copy: src=/root/httpd-2.4.25.tar.gz dest=/root
  	  tags: copy-http
  	- name: unarchive http
  	  unarchive:
  	  	src: /root/httpd-2.4.25.tar.gz
  	  	dest: /usr/src
  	  	remote_src: true
  	  tags: unarchive-http #远程服务器本地解压
...

提升可移植性

roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。简单的说,roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中、并可以便捷地include他们的一种机制。

files,copy模块要复制的文件
tasks剧本正文文件,包含一个名为main.yml的文件,其定义了此角色的任务列表;此文件可以使用include包含其他的位于此目录中的task文件
templates,template模块要复制的文件
vars剧本里需要的变量
handlers触发器文件
所有 copy tasks 可以引用 roles/x/files/ 中的文件,不需要指明文件的路径。
所有 scripttasks 可以引用 roles/x/files/ 中的脚本,不需要指明文件的路径。
所有 template tasks 可以引用roles/x/templates/ 中的文件,不需要指明文件的路径。
所有 include tasks 可以引用roles/x/tasks/ 中的文件,不需要指明文件的路径。

如果你在 playbook 中同时使用 roles 和 tasks,vars_files 或者 handlers,roles 将优先执行。

做一个复制服务安装包的剧本

  1. 建目录
#递归创建目录,可以看作一个矩阵
mkdir -p /etc/ansible/roles/{httpd,mysqld,php}/{files,tasks,templates,vars,handlers}
cd /etc/ansible/roles/
tree .

在这里插入图片描述

vim test.yml
  1. 写一个主机上的剧本,其中调用了gyh2这个http服务器,和gyh3这个数据库服务器
---
 - hosts: gyh2
    remote_user: root
    roles: httpd

 - hosts: gyh3
    remote_user: root
    roles: mysqld
...

具体ansible中主机清单配置如下
在这里插入图片描述

  1. 编写服务器模块中的剧本
vim mysqld/tasks/main.yml
---
- name: copy mysql
  copy: 
    src: "{{item}}"
    dest: /root/
  tags: cpdd
  with_items:
    - cmake-2.8.6.tar.gz
    - mysql-5.6.36.tar.gz
... 
vim httpd/tasks/main.yml
---
- name: copy httpd
  copy: 
    src: "{{item}}"
    dest: /home/gyh
  tags: cpdd
  with_items:
    - 1.txt
... 

其中1.txt存放在/etc/ansible/roles/httpd/files中

4.执行剧本

ansible-playbook test.yml

在这里插入图片描述
查看结果,在192.168.35.12查看
在这里插入图片描述
1.txt成功拷贝到

在这里插入图片描述
两个压缩包成功拷贝

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慈目

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值