ansible之playbook的role用法
ansible之playbook的role用法
- roles目录结构
- Roles各目录作用
- 创建role,以NGINX为示例
- 创建roles文件以及下面的子目录文件
- 进到tasks目录下
- 先写创建用户的yml
- 写安装服务的yml
- 把本机的NGINX配置文件拷贝到file目录下,修改端口号
- 写配置文件的yml
- 写启动服务的yml
- 把其他文件包含在这个文件目录里
- 在roles同级目录下创建nginx_role.yml文件,调用里面写好的nginx配置
- 创建handlers目录
- 创建main.yml
- 在config.yml中调用handlers里的main.yml的restart service
- 在files目录下创建index.html的模板文件
- 写配置文件,功能是复制本机的网页模板文件到目标主机
- 把新写好的数据文件添加到main.yml里
- 创建role,以APACHE为示例
- 创建文件夹
- 在tasks目录下创建文件
- 先写install.yml
- 写config.yml,用template模板方式
- 创建templates目录
- 创建VARS目录专门存放变量,在里面创建main.yml,放置之前的变量
- 写data.yml,通过相对路径引用隔壁nginx的文件
- 写service.yml
- 创建main.yml,并调准前后顺序
roles目录结构
roles目录结构:
playbook.yml
roles/
project/
tasks/
files/
vars/
templates/
handlers/
default/ 不常用
meta/ 不常用
Roles各目录作用
/roles/project/ :项目名称,有以下子目录
files/ :存放由copy或script模块等调用的文件
templates/:template模块查找所需要模板文件的目录
tasks/:定义task,role的基本元素,至少应该包含一个名为main.yml的文件;其它的文件需要在此文件中通过include进行包含
handlers/:至少应该包含一个名为main.yml的文件;其它的文件需要在此文件中通过include进行包含
vars/:定义变量,至少应该包含一个名为main.yml的文件;其它的文件需要在此文件中通过include进行包含
meta/:定义当前角色的特殊设定及其依赖关系,至少应该包含一个名为main.yml的文件,其它文件需在此文件中通过include进行包含
default/:设定默认变量时使用此目录中的main.yml文件
创建role,以NGINX为示例
创建roles文件以及下面的子目录文件
mkdir roles/{nginx,mysql}/{tasks,files} -pv
进到tasks目录下
cd /data/playbook/roles/nginx/tasks
touch user.yml install.yml config.yml service.yml
先写创建用户的yml
vim user.yml
- name: create useruser: name=nginx shell=/sbin/nologin system=yes create_home=no
写安装服务的yml
vim install.yml
- name: installyum: name=nginx
把本机的NGINX配置文件拷贝到file目录下,修改端口号
cd /data/playbook/roles/nginx/files
cp /etc/nginx/nginx.conf .
vim nginx.confserver {listen 9527 default_server;listen [::]:9527 default_server;
写配置文件的yml
cd /data/playbook/roles/nginx/tasks
vim config.yml
- name: configcopy: src=nginx.conf dest=/etc/nginx/
写启动服务的yml
vim service.yml
- name: serviceservice: name=nginx state=started enabled=yes
把其他文件包含在这个文件目录里
vim main.yml
- include: user.yml
- include: install.yml
- include: config.yml
- include: service.yml
在roles同级目录下创建nginx_role.yml文件,调用里面写好的nginx配置
vim nginx_role.yml
- host: websrvsroles:- role: nginx
创建handlers目录
mkdir handlers
创建main.yml
- name: restart serviceservice: name=nginx state=restarted
在config.yml中调用handlers里的main.yml的restart service
vim config.yml
- name: configcopy: src=nginx.conf dest=/etc/nginx/notify: restart service
在files目录下创建index.html的模板文件
vim index.html
<h1>welcome to li</h1>
写配置文件,功能是复制本机的网页模板文件到目标主机
vim data.yml
- name: data filecopy: src=index.html dest=/usr/share/nginx/html
把新写好的数据文件添加到main.yml里
vim main.yml
- include: user.yml
- include: install.yml
- include: config.yml
- include: data.yml
- include: service.yml
创建role,以APACHE为示例
创建文件夹
mkdir httpd
mkdir httpd/{tasks,files}
在tasks目录下创建文件
touch install.yml config.yml data.yml service.yml
先写install.yml
vim install.yml
- name: installyum: name=httpd
写config.yml,用template模板方式
vim config.yml
- name: config filetemplate: scr=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf
创建templates目录
mkdir templates
cp /etc/httpd/conf/httpd.conf templates/httpd.conf.j2
vim httpd.conf.j2
User {{ username }}
Group {{ groupname }}
Listen {{ httpd_port }}
#把里面的用户名和组,以及监听端口设置成变量
创建VARS目录专门存放变量,在里面创建main.yml,放置之前的变量
mkdir varsvim main.yml
username: daemon
groupname: daemon
写data.yml,通过相对路径引用隔壁nginx的文件
vim data.yml
- name: data filecopy: src=roles/nginx/files/index.html dest=/var/www/html/
写service.yml
vim service.yml
- name: serviceservice: name=httpd state=started enabled=yes
创建main.yml,并调准前后顺序
vim main.yml
-include: install.yml
-include: config.yml
-include: data.yml
-include: service.yml
ansible之playbook的role用法相关推荐
- Ansible Tower - 使用入门 3 - 通过模板运行 Git 上的 Playbook 和 Role
Ansible Tower 入门 1 - 配置主机清单和访问凭证 Ansible Tower 入门 2 - 通过模板运行 Git 上的 Playbook 和 Role Ansible Tower 入门 ...
- Ansible简介及各模块用法实操
目录 一,Ansible简介及工作原理过程 1,简介 2,工作原理过程 二,基础坏境配置 1,安装 2,ssh配置 三,Ansible入门及常用模块用法 1,静态资产 2,自定义动态资产 3,使用资 ...
- ansible之playbook角色
ansible之playbook&角色 playbook-剧本 简介 playbook组件用法 playbook变量 playbook语句 roles-角色 简介 用法 实战 playbook ...
- Linux 第60,61天 ansible的playbook
Linux 第60,61天 ansible的playbook 时间: 20180922 时间: 20180924 目录 playbook(重点) YAML playbook 核心元素 运行playbo ...
- Ansible之Playbook使用
一.Playbook是什么 playbook-剧本(也称编排) 介绍 playbooks是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活.简单来说,playbook是一个非常简单 ...
- 自动化运维工具-Ansible的Playbook的使用
Playbook的使用 前言 一.Playbook是什么? 二.playbook使用场景 三.Playbook格式说明 四.Play book变量的使用 1 在主机列表定义变量 2 在playbook ...
- Ansible(三)编写ansible的playbook文件(实现端口更改、远程主机信息采集、负载均衡)
1.playbook简介 playbooks是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活.简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存 ...
- Ansible 之 Playbook详解
Playbook介绍 Playbook与ad-hoc相比,是一种完全不同的运用ansible的方式,类似与saltstack的state状态文件.ad-hoc无法持久使用,playbook可以持久使用 ...
- Ansible playbook中role的用法
要使用role首先要创建一个roles目录,这个目录在ansible.cfg里推荐使用/etc/ansible/roles,当然你也可以自己去指定roles的路径: 使用role,就是把之前的Play ...
最新文章
- luogu4159 迷路 (矩阵加速)
- 在Exchange 2010中批量导入用户
- 如何禁止掉root登录,使用key密钥登录
- Struts2标签库常用标签
- 格式化字符串漏洞利用 四、利用的变体
- 上传文件到服务器地址怎么配置,文件上传到服务器怎么配置
- iOS---------- Safe Area Layout Guide before iOS 9.0
- 2.14 视图的分页预览以及分页符的使用 [原创Excel教程]
- 如何解读Linux Kernel OOPS信息
- matlab 四面体,《有限元基础教程》【MATLAB算例】481基于4节点四面体单元的空间块体分析(Tetrahedron3D4Node)...
- 鼠标划动网页或者窗口时进度条总是上下乱跳,有可能是你的上下按键坏掉了
- jmeter压力测试报告—模板
- 惠普台式计算机系统系统修复,一键恢复系统,详细教您怎么一键恢复惠普笔记本系统...
- Python 让多图排版更加美观
- 访问 Android 开发者网站 Go 官网
- Qt的.pro文件简介
- 本月,我最推荐的重疾保险性价比排行榜
- android绑定交通卡,安卓手机公交卡的用法
- RabbitMQ学习笔记(高级篇)
- 各大互联网公司PUA套路,同行必须懂!!!