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

Ansible之playbook剧本编写(二)

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"   #指定标签,只运行该标签下的任务

 

Templates 模块

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

案例:通过Templates模块进行差异化处理,不同的主机上的htttpd监听不同的端口和地址

第一步:先准备一个以 .j2 为后缀的template模板文件,设置引用的变量

第二步:每个组成员都设置各自的组变量

第三步:配置yaml文件

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

第四步:到对应节点验证 

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

相关文章:

  • 力扣第二十九题——两数相除
  • 解析三款热门的文献翻译工具:优势与使用指南
  • git 过滤LFS文件下载
  • 内存泄漏详解
  • 多角度解析高防CDN防御DDOS及CC攻击
  • (7) cmake 编译C++程序(二)
  • C语言系统调用linux文件系统
  • LeetCode142 环形链表 II
  • 逆向案例二十八——某高考志愿网异步请求头参数加密,以及webpack
  • WebKit的文本装饰艺术:CSS Text Decoration全解析
  • 【linux】Shell脚本三剑客之sed命令的详细用法攻略
  • 解析class字节码文件获取魔数和版本号
  • 技术文档总结----思维导图
  • 【iOS】—— retain\release实现原理和属性关键字
  • 这一文,关于Java泛型的点点滴滴 一
  • 微信小程序之调查问卷
  • 基于Qt的视频剪辑
  • electron 网页TodoList工具打包成win桌面应用exe
  • 数据结构之判断二叉树是否为搜索树(C/C++实现)
  • golang长连接的误用
  • Springboot @Validate @Valid 基于复杂嵌套对象的参数校验示例
  • 算力共享下的,分级路由转发报文协议与通告
  • 滚动数组详解
  • C 语言动态链表
  • 【Leetcode】二十、记忆化搜索:零钱兑换
  • json数据格式 继续学习
  • gradle 构建项目添加版本信息
  • vue3 学习笔记17 -- 基于el-menu封装菜单
  • 使用 Redis 实现验证码、token 的存储,用自定义拦截器完成用户认证、并使用双重拦截器解决 token 刷新的问题
  • 反转链表 - 力扣(LeetCode)C语言