ansible-playbook的角色(role)

news2024/11/27 10:24:06

1前言

角色目录如下(分别为httpd角色和nginx角色)

handlers/ :至少应该包含一个名为 main.yml 的文件; 其它的文件需要在此文件中通过include
                进行包含
vars/ :定义变量,至少应该包含一个名为 main.yml 的文件; 其它的文件需要在此文件中通
                过include进行包含
meta/ :定义当前角色的特殊设定及其依赖关系 , 至少应该包含一个名为 main.yml 的 文件, 其它
                文件需在此文件中通过include进行包含
default/ :设定默认变量时使用此目录中的 main.yml 文件
roles/appname 目录结构
tasks 目录:至少应该包含一个名为main.yml的文件,其定义了此角色的任务列表; 此文件可以
                        使用include包含其它的位于此目录中的task文件
files 目录:存放由 copy script 等模块调用的文件;
templates 目录: template 模块会自动在此目录中寻找 Jinja2 模板文件
handlers 目录:此目录中应当包含一个 main.yml 文件,用于定义此角色用到的各
handler
handler 中使用 include 包含的其它的 handler 文件也应该位 于此目录中;
vars 目录:应当包含一个 main.yml 文件,用于定义此角色用到的变量;
meta 目录:应当包含一个 main.yml 文件,用于定义此角色的特殊设定及其依赖关 系;
default 目录:为当前角色设定默认变量时使用此目录;应当包含一个 main.yml 文件

2创建httpd角色

mkdir roles/httpd/tasks -pv
mkdir roles/httpd/{handlers,files}
2 >
创建目标文件
cd roles/httpd/tasks/
touch install.yml config.yml service .yml
3 >
vim install.yml
- name: install httpd package
yum: name = httpd
vim config.yml
- name: config file
copy: src = httpd.conf dest = /etc/httpd/conf/ backup = yes
vim service .yml
- name: start service
service : name = httpd state = started enabled = yes
4 >
创建 main.yml 主控文件 , 调用以上单独的 yml 文件 ,
main.yml 定义了谁先执行谁后执行的顺序
vim main.yml
- include: install.yml
- include: config.yml
- include: service .yml
5 >
准备 httpd.conf 文件 , 放到 httpd 单独的文件目录下
cp /app/ansible/flies/httpd.conf ../files/
6 >
创建一个网页
vim flies/index.html
<h1> welcome toyzh home <\h 1 > 7 > 创建网页的 yml 文件
vim tasks/index.yml
- name: index.html
copy: src = index.html dest = /var/www/html
8 >
将网页的 yml 文件写进 main.yml 文件中
vim main.yml
- include: install.yml
- include: config.yml
- include: index.yml
- include: service .yml
9 >
handlers 目录下创建 handler 文件 main.yml
vim handlers/main.yml
- name: restart service httpd
service : name = httpd state = restarted
10 >
创建文件调用 httpd 角色
cd /app/ansible/roles
vim role_httpd.yml
---
# httpd role
- hosts: appsrvs
remote_user: root
roles: # 调用角色
- role: httpd
11 >
查看目录结构
tree .
httpd
├── files
│ ├── httpd.conf
│ └── index.html
├── handlers
│ └── main.yml
└── tasks
├── config.yml
├── index.yml
├── install.yml
├── main.yml
└── service .yml
12 > ansible-playbook role_httpd.yml

3创建nginx角色

1 >
创建 nginx 角色目录
mkdir -pv /app/ansible/role
cd /app/ansible/role
mkdir nginx{tesks,templates,hanslers} -pv
2 >
创建任务目录
cd tasks/
touch insatll.yml config.yml service .yml file.yml user.yml
创建 main.yml 文件定义任务执行顺序
vim main.yml
- include: user.yml
- include: insatll.yml
- include: config.yml
- include: file.yml
- include: service .yml
3 >
准备配置文件 (centos7 8)
ll /app/ansible/role/nginx/templates/
nginx8.conf.j2
4 >
定义任务
vim tasks/install.yml
- name: install
yum: name = nginx
vim tasks/config.yml
- name: config file
template: src = nginx8.conf.j2 dest = /etc/nginx/nginx.conf
when: ansible_distribution_major_version == "8"
notify: restrat
vim tasks/file.yml 跨角色调用 file.yum 文件 , 实现文件复用
- name: index.html
copy: src = roles/httpd/files/index.html
dest = /usr/share/nginx/html/
vim tasks/service.yml
- nmae: start service
service : name = nginx state = started enabled = yes
vim handlers/main.yml
- name: restrat
service : name = nginx state = restarted
vim roles/role_nginix.yml
---
#test rcle
- hosts: appsrvs
roles:
- role: nginx
5 >
测试安装
ansible-playbook role_nginx.yml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1511325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用US Domain Center和WordPress搭建非营利组织网站的详细指南

在今天的数字化时代&#xff0c;拥有一个专业、易于管理和更新的网站对于非营利组织&#xff08;例如慈善机构、NGO等&#xff09;至关重要。WordPress是一个功能强大且易于使用的网站构建平台&#xff0c;而美国域名中心 US Domain Center&#xff1a;US Domain Center 则是一…

Ansys Zemax | 如何获取公差报告中的任何优化操作数值

附件下载 联系工作人员获取附件 此文为上一篇文章“如何执行非序列公差分析”’的文末提到的详细介绍。 本文介绍如何使用 OpticStudio 的公差脚本功能在公差报告中包含任何优化操作数值&#xff0c;以及如何编写简单的公差脚本。 简介 在对系统进行公差处理时&#xff0c;…

C语言数据结构之堆排序

青衿之志 履践致远 堆排序(Heapsort) 是指利用 堆 这种数据结构所设计的一种排序算法&#xff0c;它是 选择排序 的一种。它是通过堆来进行选择数据。需要注意的是排升序要建大堆&#xff0c;排降序建小堆。 &#x1f3a5;二叉堆 &#x1f3a5;二叉树 &#x1f525;期待小伙伴们…

GIS瓦片3-WMTS瓦片

介绍 WMTS( Web Map Tile Service)切片地图Web服务&#xff08;OpenGIS Web Map Tile Service&#xff09;当前最新版本是1.0.0。WMTS标准定义了一些操作&#xff0c;这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。 WMTS提供了一种采用预定义图…

​LeetCode解法汇总1261. 在受污染的二叉树中查找元素

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给出一个满足下述规则的二叉树&#xff1…

【脚本玩漆黑】全自动赚金珠

文章目录 脚本思路 项目结构&#xff1a; 由橙华市全自动战斗改写的。大部分代码都不用修改。 金珠脚本money.py 土狼犬图片&#xff0c;区域选择土狼犬。 战斗废话的像素值&#xff0c;选择右下角一片深绿色。 战斗画面的像素值&#xff0c;和之前一样&#xff0c;取背景中的…

Redis + Caffeine = 王炸!!

在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。 随着不断的发展,这一架构也产生了改进,在…

【Leetcode每日一题】 位运算 - 面试题 01.01. 判定字符是否唯一(难度⭐)(33)

1.题目解析 题目链接&#xff1a;面试题 01.01. 判定字符是否唯一 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 核心在于判断题目所给字符串是否存在相同字母&#xff0c;存在返回false即可&#xff0c;不存在返回true即可。 …

手把手教你搭建python+selenium自动化环境

快速简单搭建环境。如果有问题&#xff0c;欢迎进群讨论留言。 第一步&#xff1a;安装python解释器。官网地址&#xff1a;https://www.python.org/ 自动化测试最好下载3.7的。 下载完成后打开这个文件&#xff0c;然后傻瓜式安装。 安装好后&#xff0c;winr打开命令行窗口…

爬虫入门到精通_框架篇14(PySpider架构概述及用法详解)

官方文档 Sample Code&#xff1a; from pyspider.libs.base_handler import *class Handler(BaseHandler):crawl_config {}# minutes24 * 60&#xff1a;每隔一天重新爬取every(minutes24 * 60)def on_start(self):self.crawl(http://scrapy.org/, callbackself.index_page)…

【FFmpeg】ffmpeg 命令行参数 ⑤ ( 使用 ffmpeg 命令提取 音视频 数据 | 保留封装格式 | 保留编码格式 | 重新编码 )

文章目录 一、使用 ffmpeg 命令提取 音视频 数据1、提取音频数据 - 保留封装格式2、提取视频数据 - 保留封装格式3、提取视频数据 - 保留编码格式4、提取视频数据 - 重新编码5、提取音频数据 - 保留编码格式6、提取音频数据 - 重新编码 一、使用 ffmpeg 命令提取 音视频 数据 1…

【Attribute】Inspector视图枚举字段范围限定特性

简介 为了提升枚举的复用性&#xff0c;有时候我们可以通过限定枚举字段的范围来避免定义新的枚举类型&#xff0c;例如有一个代表方向的枚举&#xff08;包括None&#xff0c;Left&#xff0c;Up&#xff0c;Right&#xff0c;Down&#xff09;&#xff0c;全局方向&#xff0…

如何在RTMP推送端和RTMP播放端支持Enhanced RTMP H.265(HEVC)

技术背景 时隔多年&#xff0c;在Enhancing RTMP, FLV With Additional Video Codecs And HDR Support&#xff08;2023年7月31号正式发布&#xff09;官方规范出来之前&#xff0c;如果RTMP要支持H.265&#xff0c;大家约定俗成的做法是扩展flv协议&#xff0c;CDN厂商携手给…

掌握未来数据管理:MongoDB学习网站全攻略!

介绍&#xff1a;MongoDB是一个开源的文档型数据库系统&#xff0c;以其灵活性和可扩展性而闻名。以下是对MongoDB的详细介绍&#xff1a; 基本概念&#xff1a;MongoDB与传统的关系型数据库不同&#xff0c;它使用BSON&#xff08;类似JSON&#xff09;格式存储数据&#xff0…

案例分析篇05:数据库设计相关28个考点(9~16)(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…

LeetCode[题解] 1261. 在受污染的二叉树中查找元素

首先我们看原题 给出一个满足下述规则的二叉树&#xff1a; root.val 0如果 treeNode.val x 且 treeNode.left ! null&#xff0c;那么 treeNode.left.val 2 * x 1如果 treeNode.val x 且 treeNode.right ! null&#xff0c;那么 treeNode.right.val 2 * x 2 现在这个…

细粒度IP定位参文2(Corr-SLG):A street-level IP geolocation method (2021年)

[2]S. Ding, F. Zhao, and X. Luo, “A street-level IP geolocation method based on delay-distance correlation and multilayered common routers,” Secur. Commun. Netw., vol. 2021, no. 1, pp. 1–10, 2021. 智能设备的地理位置可以帮助提供多媒体内容提供商和5G网络中…

linux设置systemctl启动

linux设置nginx systemctl启动 生成nginx.pid文件 #验证nginx的配置&#xff0c;并生成nginx.pid文件 /usr/local/nginx/sbin/nginx -t #pid文件目录在 /usr/local/nginx/run/nginx.pid 设置systemctl启动nginx #添加之前需要先关闭启动状态的nginx&#xff0c;让nginx是未…

静态时序分析:SDC约束命令set_output_delay详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 目录 指定延迟值 指定端口、引脚列表 指定参考时钟 简单使用 指定时钟下降沿 指定参考端口、引脚 包含源、网络延迟 指定电平敏感 指定上升、下降沿 指…

DVWA靶场-暴力破解

DVWA是一个适合新手锻炼的靶机&#xff0c;是由PHP/MySQL组成的 Web应用程序&#xff0c;帮助大家了解web应用的攻击手段 DVWA大致能分成以下几个模块&#xff0c;包含了OWASP Top 10大主流漏洞环境。 Brute Force——暴力破解 Command Injection——命令注入 CSRF——跨站请…