1. 在/etc/ansible/hosts默认文件中定义变量
[test]
192.168.163.130
#[test:vars]
#key=ansible
或者
192.168.163.130 key=ansible
[test]
192.168.163.130
2. 编写var.yaml文件
- hosts: test
gather_facts: False
tasks:
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ key }}" ansible-playbook var.yaml #检查yaml文件语法

3. 在/etc/ansible下新建目录host_vars
写入变量文件名要以主机ip或者绑定的host命名
cat host_vars/192.168.163.130
key: 192.168.163.130
ansible-playbook var.yaml

4. 针对主机组设置变量
在/etc/ansible下新建group_vars
变量文件以主机组命名
cat group_vars/test && rm -rf host_vars
key: abcdefg

5. 手动传入变量,可传入多个变量
ansible-playbook var.yaml -e "key=JSON" 6.支持文件传入变量
变量文件支持YAML和JSON两种格式
cat vars.yaml
key: KEY-YAML
cat var.json
{"key": "KEY_JSON"}
ansible-playbook var.yaml -e "@var.json"
7. 在playbook文件内使用vars
- hosts: test
gather_facts: False
vars:
key: Ansible-KEY
tasks:
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ key }}" 8. 在playbook文件使用vars_files
- hosts: test
gather_facts: False
vars_files:
- vars.yaml 或者group_vars/test
tasks:
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ key }}"
9. 使用register内的变量
cat var.yaml
- hosts: test
gather_facts: False
tasks:
- name: register variable
shell: hostname
register: aaaaa  #输出结果为python字典
- name: display Host Variable from hostfile
debug: msg="The {{ inventory_hostname }} Vaule is {{ aaaaa }}" #{aaaaa['stdout']}具体输出某个字段的值

10. vars_prompt传入参数
cat var.yaml
- hosts: test
gather_facts: False
vars_prompt:
- name: "aaa"
prompt: "please input aaa value"
default: '123'
private: no
- name: "bbb"
prompt: "please input bbb value"
default: '456'
private: yes
tasks:
- name: display aaa value
debug: msg="aaa value is {{ aaa }}"
- name: display bbb value
debug: msg="bbb value is {{ bbb }}"

 

ansible变量引用的更多相关文章

  1. Ansible系列(六):各种变量定义方式和变量引用

    本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...

  2. Ansible系列(五):各种变量定义方式和变量引用

    Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.1 ansible facts facts组件是用来收集被管理节点信息的 ...

  3. 007.Ansible变量Fact,魔法变量和lookup生成变量

    一 fact变量 1.1  fact简介 ansible有一个模块叫setup,用于获取远程主机的相关信息,并可以将这些信息作为变量在playbook里进行调用.而setup模块获取这些信息的方法就是 ...

  4. 编译器开发系列--Ocelot语言2.变量引用的消解

    "变量引用的消解"是指确定具体指向哪个变量.例如变量"i"可能是全局变量i,也可能是静态变量i,还可能是局部变量i.通过这个过程来消除这样的不确定性,确定所引用 ...

  5. MyBatis mapper文件中的变量引用方式#{}与${}的差别

    MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...

  6. C++ primer(八)--内联函数 引用变量 引用传递函数参数 函数重载/模板/模板具体化

    一.内联函数     常规函数和内联函数的区别在于C++编译器如何将他们组合到程序中.编译过程的最终产品是可执行程序--由一组机器语言指令组成.运行程序时,操作系统将这些指令载入到计算机内存中,因此每 ...

  7. c语言函数定义、函数声明、函数调用以及extern跨文件的变量引用

    1.如果没有定义,只有声明和调用:编译时会报连接错误.undefined reference to `func_in_a'2.如果没有声明,只有定义和调用:编译时一般会报警告,极少数情况下不会报警告. ...

  8. php引用计数与变量引用

    每个php5.5变量都存储在一个叫做zval的变量容器中. 一个zval变量容器,除了包含变量的类型与值外,还包含两个字节的额外信息: 1.第一个是“is_ref”,是个bool型,用来标识这个变量是 ...

  9. ansible变量

    ansible变量 (部分内容摘自互联网,非官方,描述不一定正确) 变量种类: 内置变量facts: 自定义变量: 命令行传递的变量 roles传递的变量 主机变量 组变量 内置变量facts: 由远 ...

随机推荐

  1. 安卓记账本开发学习day7之完成进度

    支持长按删除记录,与根据备注搜索相关的收入或支出情况

  2. html显示与隐藏元素的几种方式

    html显示与隐藏元素的几种方式 1.display none : 无 隐藏元素 block : 显示 转换为块级元素   不占位:当隐藏的时候元素就完全没有了.不能看见和操作该元素. 优点:为其他元 ...

  3. AngularJS性能优化心得,自己踩过的抗,及一些别人的经验(转哦)

    脏数据检查 != 轮询检查更新 谈起angular的脏检查机制(dirty-checking), 常见的误解就是认为: ng是定时轮询去检查model是否变更.其实,ng只有在指定事件触发后,才进入$ ...

  4. what 的页面制作

    1. html结构 <!-- section: what we do --> <section id="what" class="bg-light py ...

  5. JavaWeb和WebGIS学习笔记(六)——使用ArcGIS for Server发布地图服务

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  6. 阿里云IoT流转到postgresql数据库方案

    之前写过一篇如使用阿里云上部署.NET 3.1自定义运行时的文章,吐槽一下,虽然现在已经2022年了,但是阿里云函数计算的支持依然停留在.NET Core 2.1,更新缓慢,由于程序解包大小的限制,也 ...

  7. LeetCode数组刷题——448、48、240、769

    1.[LeetCode448]:448. 找到所有数组中消失的数字 题目分析: 1-n之间有重复的,有没出现的,有出现一次.使用hashmap,空间复杂度为O(n) 方法一:哈希表,但是空间复杂度超过 ...

  8. 从OC角度思考OKR的底层逻辑

    原创不易,求分享.求一键三连 扩展阅读:什么是OKR OC:Organization Cultrue即组织文化,标题用OC纯粹为了装逼... ​自从接受公司文化建设工作后,思维发生了很大的变化,文化, ...

  9. 初始C语言作业一

    1.下面哪个不是C语言内置的数据类型:( ) A.char B.double C.struct Stu D.short 解析: C语言中内置类型包括 char //字符数据类型 short //短整型 ...

  10. vivo 万台规模 HDFS 集群升级 HDFS 3.x 实践

    vivo 互联网大数据团队-Lv Jia Hadoop 3.x的第一个稳定版本在2017年底就已经发布了,有很多重大的改进. 在HDFS方面,支持了Erasure Coding.More than 2 ...