Ansible中的playbook
目录
一、playbook简介
二、playbook的语法
三、playbook的核心组件
四、playbook的执行命令
五、vim 设定技巧
六、基本示例
一、playbook简介
1、playbook与ad-hoc相比,是一种完全不同的运用。
2、playbook是一种简单的配置管理系统与多机器部署系统的基础,且非常适合于复杂应用的部署。
3、playbook是一种简单的配置管理系统与多机器部署系统的基础,且非常适合于复杂应用的部署。
4、使用playbook可以方便的重用这些代码,可以移植到不同的机器上面,playbook才是ansible真正强大之处。
二、playbook的语法
playbook由YMAL语言编写:
YAML文件的格式:
1、文件的第一行应该以“---"三个连字符开始,表明YMAL文件的开始
2、在同一行中,#之后的内容表示注释,类似于shell,python
3、YMAL中的列表元素以”-”开头然后紧跟着一个空格,同一个列表中的元素应该保持相同的缩进。4、一个字典是由一个简单的
键: 值的形式组成(这个冒号后面必须是一个空格)5、字典也可以使用缩进形式来表示
特点:
可读性好
和脚本语言交互性号
易于实现
适用程序执行流梳理方式
可扩展性强
语法简介:
缩进严格
大小写敏感
key/value可以多行书写也可一行书写,一行书写用,隔开
value可以是个字符串,也可是list
一个play需要包括name和tasks
name 是描述
tasks 是动作
一个name只能包含一个task
扩展名称yml或者yaml
三、playbook的核心组件
name | 可选,建议使用,多用于说明 |
hosts | 受控主机列表 |
tasks | 任务,用于选择执行部分代码 |
1、主机与用户
---
- hosts: server2 //指定主机组,可以是一个或多个组,用逗号分隔remote_user: root //指定远程主机执行的用户名become: yes //切换用户运行become_user: mysql //指定sudo用户为mysql
2、tasks列表
(1)play的主体部分是task列表,task列表中的各任务按次序逐个在hosts中指定的主机上执行,即在所有主机上完成第一个任务后再开始第二个任务。如果一个host执行task失败,整个tasks都会回滚。
(2)每一个task必须有一个名称name,这样在运行playbook时,从其输出的任务执行信息中可以很好的辨别出是属于哪一个task的。
四、playbook的执行命令
--check|-C | 检测(预演) |
--syntax-check | 检测语法正确性 |
--list-hosts | 列出hosts |
--list-tags | 列出tag(标签) |
--list-tasks | 列出task(任务) |
--limit | 指定执行主机 |
-v -vv | 显示实现过程 |
ansible-playbook ftp.yml -C
ansible-playbook ftp.yml --syntax-check
ansible-playbook ftp.yml --list-hosts
ansible-playbook ftp.yml --list-tags
ansible-playbook ftp.yml --list-tasks
ansible-playbook ftp.yml --limit 192.168.67.112



五、vim 设定技巧
YAML文件有严格的缩进,为编写方便,设定vim
vim ~/.vimrcautocmd FileType yaml setlocal ai ts=2 sw=2 et
随着微服务的使用,在linux上使用vim或者vi命令编辑yml文件的时候,会自动缩进,导致文件根本 无法使用。
解决办法
粘贴前先执行如下命令: 再粘贴的时候,里面的内容就不再缩进了,完美解决。
:set paste
六、基本示例
1、编写playbook实现远程主机vsftpd的安装和自启动:
vim ftp.yml- name: ftphosts: alltasks:- name: yumyum:name: vsftpdstate: present- name: replacereplace:path: /etc/vsftpd/vsftpd.confregexp: anonymous_enable=YESreplace: anonymous_enable=YES- name: serviceservice:name: vsftpdstate: startedenabled: yes- name: firewalldfirewalld:zone: publicservice: ftpstate: enabledimmediate: yespermanent: yes


2、编写playbook实现远程主机httpd的安装和自启动,虚拟主机等:
创建vhosts文件
vim vhosts.conf
cat vhosts.conf<VirtualHost _default_:80>DocumentRoot "/var/www/html"CustomLog logs/default.log combined
</VirtualHost><VirtualHost *:80>ServerName bbs.westos.orgDocumentRoot "/var/virtual/westos.org/bbs/html"CustomLog logs/bbs.log combined
</VirtualHost><VirtualHost *:80>ServerName login.westos.orgDocumentRoot "/var/virtual/westos.org/login/html"CustomLog logs/login.log combined
</VirtualHost><Directory "/var/virtual">Require all granted
</Directory>

vim http.yml- name: httpdhosts: alltasks:- name: yumyum:name: httpdstate: present- name: lineinfilelineinfile:path: /var/www/html/index.htmlline: default- name: serviceservice:name: httpdstate: startedenabled: yes- name: firewalldfirewalld:zone: publicservice: httppermanent: yesstate: enabledimmediate: yes- name: lineinfilelineinfile:path: /var/virtual/westos.org/bbs/html/index.htmlline: bbs.westos.orgcreate: yes- name: lineinfilelineinfile:path: /var/virtual/westos.org/login/html/index.htmlline: login.westos.orgcreate: yes- name: copycopy:src: ./vhosts.confdest: /etc/httpd/conf.d- name: serviceservice:name: httpdstate: restartedenabled: yes

在访问主机添加解析

访问:查看是否成功




相关文章:
Ansible中的playbook
目录 一、playbook简介 二、playbook的语法 三、playbook的核心组件 四、playbook的执行命令 五、vim 设定技巧 六、基本示例 一、playbook简介 1、playbook与ad-hoc相比,是一种完全不同的运用。 2、playbook是一种简单的配置管理系统与多机器部署系统的基础…...
怎样去除视频中的杂音,保留人声部分?
怎样去除视频中的杂音,保留人声部分?这个简单嘛!两种办法可以搞定:一是进行音频降噪,把无用的杂音消除掉;二是提取人声,将要保留的人声片段提取出来。 这就将两种实用的办公都分享出来…...
基于Qt QTreeView|QTreeWidget控件使用简单版
头文件解析: 这是一个C++代码文件,定义了一个名为MainWindow的类。以下是对每一句的详细解释: ```cpp #ifndef MAINWINDOW_H #define MAINWINDOW_H ``` 这是一个条件编译指令,用于避免头文件的重复包含。`MAINWINDOW_H`是一个宏定义,用于唯一标识这个头文件。 ```cpp #…...
edge浏览器的隐藏功能
1. edge://version 查看版本信息 2. edge://flags 特性界面 具体到某一特性:edge://flags/#overlay-scrollbars 3. edge://settings设置界面 详情可参考chrome: 4. edge://extensions 扩展程序页面 5. edge://net-internals 网络事件信息 6. edge://component…...
安卓抓包之小黄鸟
下载安装 下载地址: https://download.csdn.net/download/yijianxiangde100/88496463 安装apk 即可。 证书配置:...
Django中的FBV和CBV
一、两者的区别 1、在我们日常学习Django中,都是用的FBV(function base views)方式,就是在视图中用函数处理各种请求。而CBV(class base view)则是通过类来处理请求。 2、Python是一个面向对象的编程语言…...
信息泄露--
大唐电信AC简介 大唐电信科技股份有限公司是电信科学技术研究院(大唐电信科技产业集团)控股的的高科技企业,大唐电信已形成集成电路设计、软件与应用、终端设计、移动互联网四大产业板块。 大唐电信AC集中管理平台存在弱口令及敏感信息泄漏漏…...
C#WPF文本格式化模式实例
本文演示C#WPF文本格式化模式实例 WPF 文本渲染优缺点 WPF中的文本渲染和旧式的基于 GDI的应用程序的文本染有很大区别。很大一部分区 别是由于 WPF 的设备无关显示系统造成的,但 WPF 中的文本染也得到了显著增强,能更清晰地显示文本,在 LCD 监视器上尤其如此。 然而,W…...
嵌入式云平台一些基础概念的理解
1.SDK SDK是Software Development Kit的缩写,译为”软件开发工具包”,通常是为辅助开发某类软件而编写的特定软件包,框架集合等,SDK一般包含相关文档,范例和工具。 我自己的理解就似乎,SDK也就是软件开发工具包,他会为其使用者提供一些封装好的接口&…...
【项目管理】生命周期风险评估
规划阶段目标:识别系统的业务战略,以支撑系统的安全需求及安全战略 规划阶段评估重点:1、本阶段不需要识别资产和脆弱性;2、应根据被评估对象的应用对象、应用环境、业务状况、操作要求等方面识别威胁; 设计阶段目标…...
力扣 搜索旋转排序数组 二分
👨🏫 33. 搜索旋转排序数组 class Solution {public int search(int[] nums, int target){int l 0;int r nums.length - 1;while (l < r){int m l r >> 1;//else大法,把无序段抛给else,if只处理有序段 // 需要特…...
【软件测试】个人博客项目测试报告
目录 1.报告概要 2、测试环境 3、手动测试用例编写 4、自动化测试用例 1.报告概要 测试对象:基于SSM项目的博客系统。 测试目的:检测博客项目是否符合预期,并且对测试知识进行练习和巩固。 测试点:主要针对常用的功能进行测…...
Express框架开发接口之今日推荐等模块
1.初始化 const handleDB require(../handleDB/index) // 获取全部模块 exports.allModule (req, res) > {(async function () {})() } // 更新或者添加模块 exports.upModule (req, res) > {(async function () {})() } // 根据id删除模块 exports.delModule (req, …...
UTONMOS:元宇宙顺势而上,重构数字化发展新形态
元宇宙(Metaverse)是一个虚拟的、且与现实世界平行的虚拟世界,由一系列相互关联的技术组成。在这个虚拟世界中,人们可以通过 VR、 AR等设备进入其中,与虚拟人物进行互动。 随着新一代信息技术的飞速发展,元…...
【Nginx37】Nginx学习:SSL模块(一)简单配置与指令介绍
Nginx学习:SSL模块(一)简单配置与指令介绍 又是一个重点模块,SSL 模块,其实就是我们常见的 HTTPS 所需要的配置模块。HTTPS 的重要性不用多说了吧,现在所有的 App、小程序 都强制要求是 HTTPS 的࿰…...
CompletableFuture 异步调用,获取返回值
ExecutorService executor new ThreadPoolExecutor(8, 16, 60,TimeUnit.MINUTES,new ArrayBlockingQueue<>(100));Random randomnew Random(10);//模拟查询用户列表List<User> listselectUsers();//需要执行的任务列表// 任务列表List<CompletableFuture<Us…...
excel利用正则匹配和替换指定内容
上班中, 突然接到电话, 屋里的上司大人发来个excel, 说要替换里面x-x-xxx列的内容为x栋x单元xxx. 大致表格如下, 原表格我就不发了 身为程序猿的我, 肯定第一就想到了 正则! 打开excel-开始-查找和替换, 我擦, 只能完全匹配和替换 比如一次只能替换1-1- -> 为1栋1单元 1-2…...
IPv4首部格式
IPv4首部格式 IPv4数据报的首部格式及其内容是实现IPv4协议各种功能的基础。 在TCPIP标准中,各种数据格式常常以32比特(即4字节)为单位来描述。 IPv4首部格式图 ## IPv4数据报的组成 主要由固定部分(20字节)可变部分(最大40字节) - 固定部分是指每个IPv4数据报都必…...
点云从入门到精通技术详解100篇-基于 3D 激光雷达的车厢冻煤存量检测
目录 前言 研究意义 研究现状(Research status) 3D 激光雷达检测技术研究现状...
idea使用MyBatisX插件
1.MyBatisX功能 (1).实现mapper和xml的跳转 (2).自动生成java文件,比如mapper、service、dao、pojo 2.安装MyBatisX插件 install后然后重启idea即可 3.使用MyBatieX实现mapper和xml跳转 (1).点击mapper中的红色图标即可跳转到对应的xml方…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
