当前位置: 首页 > 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行是否修改成功

http://www.lryc.cn/news/408573.html

相关文章:

  • Mysql开启远程控制简化版,亲测有效
  • 【MQTT协议与IoT通信】MQTT协议的使用和管理
  • 根据题意写出完整的css,html和js代码【购物车模块页面及功能实现】
  • AWS免费层之后:了解和管理您的云服务成本
  • Linux定时同步系统时间到硬件时间
  • 网络编程——wireshark抓包、tcp粘包
  • el-table合计行更新问题
  • ChatGPT:数据库不符合第二范式示例
  • 27、美国国家冰雪中心(NSIDC)海冰密集度月数据下载与处理
  • vite环境下使用bootstrap
  • Laravel视图渲染封装
  • C++学习补充2:MySQL select 查询
  • uni-app声生命周期
  • 排序算法--堆排序
  • iPhone 在 App Store 中推出的 PC 模拟器 UTM SE
  • FastAPI删除mongodb重复数据(数据清洗)
  • 移动UI:排行榜单页面如何设计,从这五点入手,附示例。
  • 如何解决 uni-app 项目中 “文件查找失败:‘crypto-js‘“ 的问题
  • Apache DolphinScheduler 3.2.2 版本正式发布!
  • 汇川CodeSysPLC教程03-2-6 ModBus TCP
  • 【Python机器学习】决策树的构造——划分数据集
  • Pip换源使用帮助
  • 力扣1089复写0
  • 10 VUE Element
  • 独立游戏《星尘异变》UE5 C++程序开发日志8——实现敏感词过滤功能(AC自动机)
  • 使用 Swagger 在 Golang 中进行 API 文档生成
  • Pip换源实战指南:加速你的Python开发
  • 【数据结构】常用数据结构的介绍:理解与应用
  • 【优秀python系统毕设】基于Python flask的气象数据可视化系统设计与实现,有LSTM算法预测气温
  • 【康复学习--LeetCode每日一题】2951. 找出峰值