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

ansible管理变量

ansible变量简介

变量用于存储值,便于重复使用,可以简化项目的创建和维护。

变量命令规则

ansible变量的名称必须以字母开头,平且只能包含字母、数字和下划线,不允许有其他特殊字符。

变量范围

全局范围:从命令行或ansile配置中设置的变量

play范围:在play和相关结构中设置的变量

主机范围:由清单、事实收集或注册的任务,在主机和主机组上设置的变量

playbook定义变量的两种方式

在playbook开头的vars块中定义变量:

  hosts: all

  vars:

      key1: value1

在外部文件中定义playbook变量,使用vars_files块:

  hosts: all

  vars_files:

       - file.yml

file.yml文件中定义变量

key1: value1

在playbook中使用变量

引用已声明的变量要将变量名称放入{{}}内,例{{ key1 }}

当变量用作开始的一个值的第一个元素时,必须使用引号。

主机变量和组变量

在清单文件中设置:

主机变量

[host]

host1.example.com    key=value

组变量

[hostgroup]

hosthost1

hosthost2

[hostgroup:vars]

key=value

目录填充主机变量和组变量

在host_vars和group_vars目录下创建主机名或主机组名文件定义主机变量和组变量

从命令行覆盖变量

ansible-playbook playbook.yml -e "key=value"

变量引用优先级

命令行 -> vars_file -> vars -> host_vars/主机名文件 -> 主机清单中主机变量 -> group_vars/主机组名文件 -> group_vars/all文件 ->主机清单组变量

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

相关文章:

  • 一种轻量级日志采集解决方案
  • 【源码】Spring Cloud Gateway 是在哪里匹配路由的?
  • BAT批处理基本命令
  • Python数组仿射变换
  • “==“和equals方法究竟有什么区别?
  • 蓝桥杯15单片机--超声波模块
  • 【学习笔记】ARC159
  • 2023/4/16总结
  • 【剑指offer】常用的数据增强的方法
  • /lib/lsb/init-functions文件解析
  • 【ChatGPT】ChatGPT-5 强到什么地步?
  • [ARM+Linux] 基于全志h616外设开发笔记
  • 如何实现24小时客户服务
  • 查询数据库空间(mysql和oracle)
  • 为什么 SQLite 一定要用 C 语言来开发?
  • TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11
  • 你的GPT跟ChatGPT可能只差了一个DPU
  • springboot服务端接口外网远程调试,并实现HTTP服务监听 - 内网穿透
  • NumPy的应用-1
  • k8s的yaml文件中kind类型详解
  • 第三天:C语言控制结构
  • 访问若依vue版后端api接口
  • 另一种迁移xxl-job任务的方法,适合不满足数据迁移条件
  • Redis缓存穿透、击穿、雪崩面试题详解
  • 【网络安全】本地提权漏洞分析
  • 电脑端(PC)按键精灵——3.其他命令
  • Hudi集成Flink-写入方式
  • 深度探索list
  • QQuick-自绘
  • 【算法】【算法杂谈】已知[1,m]的等概率函数,求[1,n]的等概率函数