ansible自动化运维,jinjia2模板(五)
时间:2021-08-19
本文章向大家介绍ansible自动化运维,jinjia2模板(五),主要包括ansible自动化运维,jinjia2模板(五)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- jinjia2模板 模板
应用场景
-
批量分发配置的时候,同时修改配置里面内容
-
ip,主机名,内存大小,进程数量。。。
-
需要根据不同机器,根据每个机器的配置,动态调整配置文件
-
如果喜欢配置动态变化(fact变量),使用template模块 。
-
如果只是希望配置固定不变,使用copy模块即可。
#01 案例01 修改/etc/motd 批量分发文件
主机名
ip地址
内存
cpu数量
[root@m01 playbook]# cat 14-jinjia-template-motd.yml
- hosts: all
tasks:
- name: fenfa motd
template:
src: motd.j2
dest: /etc/motd
backup: yes
[root@m01 playbook]# cat motd.j2
hostname: {{ ansible_hostname }}
interface_name: {{ ansible_default_ipv4.alias }}
ip_addr: {{ ansible_default_ipv4.address }}
memory_size_total: {{ ansible_memtotal_mb }}
memory_size_avaiable: {{ ansible_memfree_mb }}
#memory_size_avaiable: {{ ansible_memory_mb.real.free }}
vcpus: {{ ansible_processor_vcpus }}
- ansible总结:
- 变量
用户自定义变量(剧本中,存放在指定的文件中(分组) ) ※※※※※
gourp_vars 创建分组、共享变量。 适用于指定全局信息 代码目录 站点目录 配置文件
注册变量 ※※
register 配合着debug(调试)或when(判断)
fact变量 ※
内置变量,一般与jinjia2模板使用(分发配置), when一起使用(判断)
- 判断,循环,触发器
判断:when ※※※
循环:with_items ※※※※ 单个变量 多个变量※※
触发器: notify+handlers ※※※※ 监控模块是否发生变化(配置文件)
- roles、jinjia2模板
- jinjia2模板 分发动态的配置文件。一般与fact变量一起使用。
原文地址:https://www.cnblogs.com/tanghe/p/15163443.html
- mysql中创建表实例全析及查询基本操作
- Spring Boot - Profile不同环境配置
- $.each()与$(selector).each()区别详解
- javascript typeof
- php中json_encode
- Java高级进阶:自定义ClassLoader
- 字符串拼接+和concat的区别
- Spring Boot Runner启动器
- Spring Boot自动配置原理、实战
- Spring Aware容器感知技术
- 深入探究frame和bounds的区别以及setbounds使用
- 如何生成二维码过程详解
- hashCode和identityHashCode的区别你知道吗?
- SpringCloud注册中心高可用搭建
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP实现一个限制实例化次数的类示例
- AndroidStudio中重载方法@Override的使用详解
- mysqli扩展无法在PHP7下升级问题的解决
- PHP通过文件保存和更新信息的方法分析
- PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
- PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
- android之json数据过长打印不全问题的解决
- PHP实现时间日期友好显示实现代码
- AndroidStudio插件GsonFormat之Json快速转换JavaBean教程
- android studio错误: 常量字符串过长的解决方式
- Android Shader着色器/渲染器的用法解析
- PHP实现的文件浏览器功能简单示例
- Laravel中正确地返回HTTP状态码方法示例
- Android 实现抖音头像底部弹框效果的实例代码
- Android Studio修改Log信息颜色的实现