当前位置: 首页 > news >正文

Ansible的脚本-----playbook剧本【下】

目录

实战演练六:tags 模块

实战演练七:Templates 模块


实战演练六:tags 模块

可以在一个playbook中为某个或某些任务定义“标签”,在执行此playbook时通过ansible-playbook命令使用--tags选项能实现仅运行指定的tasks。
playbook还提供了一个特殊的tags为always。作用就是当使用always作为tags的task时,无论执行哪一个tags时,定义有always的tags都会执行。

vim play5.yaml
- name: five playremote_user: roothosts: dbserversgather_facts: truetasks:- name: copy filecopy: src=/etc/hosts dest=/opt/tags:- test- name: touch filefile: path=/opt/myhosts state=touchtags:- onlyansible-playbook play5.yaml --tags="test"   #指定标签,只运行该标签下的任务



被控制节点查看opt目录下是否有hosts文件

vim play5.yaml
- name: five playremote_user: roothosts: dbserversgather_facts: truetasks:- name: copy filecopy: src=/etc/hosts dest=/opt/tags:- test- name: touch filefile: path=/opt/myhosts state=touchtags:- only- alwaysansible-playbook play5.yaml --tags="test"     #当使用always作为tags的task时,无论执行哪一个tags时,定义有always的tags都会执行。

被控制节点查看

实战演练七:Templates 模块

Jinja是基于Python的模板引擎。Template类是Jinja的一个重要组件,可以看作是一个编译过的模板文件,用来产生目标文本,传递Python的变量给模板去替换模板中的标记。

cp /opt/httpd.conf ./httpd.conf.j2   先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变量vim httpd.conf.j2 
Listen {{server_ip}}:{{http_port}}   #42行
ServerName {{host_name}}:{{http_port}}   #95行vim /etc/ansible/hosts
[webservers]
192.168.9.113 server_ip=192.168.9.113 http_port=8080 host_name=www.xy102.com
192.168.9.111 server_ip=192.168.9.111 http_port=8081 host_name=www.xy103.com

vim play1.yaml
- name: first playgather_facts: falsehosts: webserversremote_user: roottasks:- name: disable firewalldservice: name=firewalld state=stopped enabled=no- name: disable selinuxcommand: 'setenforce 0'ignore_errors: true- name: mount cdrommount: src=/dev/sr0 path=/mnt fstype=iso9660 state=mounted- name: install httpdyum: name=httpd state=latest- name: copy config template filetemplate: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.confnotify: "reload httpd"- name: start httpdservice: name=httpd state=started enabled=yeshandlers:- name: reload httpdservice: name=httpd state=reloadedansible-playbook play1.yaml


两个被控制节点查看42、95行是否修改成功

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Mac m1安装 MongoDB 7.0.12
  • 一款好看的某社区/空间/论坛/官方软件下载页源码
  • JDBC(Java访问数据库)
  • 【ESP01开发实例】-驱动OLED SSD1306显示屏
  • Web安全:Web体系架构存在的安全问题和解决方室
  • 视觉巡线小车(STM32+OpenMV)——总结
  • Dify中HTTP请求节点的常见操作
  • 数据url
  • C++中 cin、cin.get()、cin.getline()、getline() 的区别
  • Blender材质-PBR与纹理材质
  • scratch聊天机器人 2024年6月scratch四级 中国电子学会图形化编程 少儿编程等级考试四级真题和答案解析
  • sql server 连接报错error 40
  • 基于内容的音乐推荐网站/基于ssm的音乐推荐系统/基于协同过滤推荐的音乐网站/基于vue的音乐平台
  • 基于Element UI内置的Select下拉和Tree树形组件,组合封装的树状下拉选择器
  • 这一文,关于 Java 泛型的点点滴滴 一(泛型基础、类型擦除)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • ES6 学习笔记(一)let,const和解构赋值
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • PV统计优化设计
  • Python语法速览与机器学习开发环境搭建
  • 二维平面内的碰撞检测【一】
  • 猴子数据域名防封接口降低小说被封的风险
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 如何使用 JavaScript 解析 URL
  • 入手阿里云新服务器的部署NODE
  • 思否第一天
  • Java数据解析之JSON
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • #pragma data_seg 共享数据区(转)
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (pytorch进阶之路)扩散概率模型
  • (二十四)Flask之flask-session组件
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (数据结构)顺序表的定义
  • (四)鸿鹄云架构一服务注册中心
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .md即markdown文件的基本常用编写语法
  • .net 4.0发布后不能正常显示图片问题
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net FrameWork简介,数组,枚举
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • :not(:first-child)和:not(:last-child)的用法
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @Responsebody与@RequestBody
  • [ IO.File ] FileSystemWatcher
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [Android]How to use FFmpeg to decode Android f...
  • [C/C++入门][ifelse]20、闰年判断
  • [DL]深度学习_Feature Pyramid Network