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. 关于Vue.cli 脚手架环境中引入Bootstrap时,table表格样式缺失的解决办法

    Vue+bootstrap不能正常使用table的样式 环境:下载官网的本地bootstrap包,然后在vue 的index.html引入bootstrap的css和js环境 问题描述:1. vue里 ...

  2. 3种方法改变this的指向

    <body>     <div style="width: 200px;height: 200px;hotpink;"></div>     & ...

  3. 面试突击41:notify是随机唤醒吗?

    做 Java 开发的小伙伴,对 wait 方法和 notify 方法应该都比较熟悉,这两个方法在线程通讯中使用的频率非常高,但对于 notify 方法的唤醒顺序,有很多小伙伴的理解都是错误的,有很多人 ...

  4. JDK内置锁深入探究

    一.序言 本文讲述仅针对 JVM 层次的内置锁,不涉及分布式锁. 锁有多种分类形式,比如公平锁与非公平锁.可重入锁与非重入锁.独享锁与共享锁.乐观锁与悲观锁.互斥锁与读写锁.自旋锁.分段锁和偏向锁/轻 ...

  5. JMeter配置Oauth2.0授权接口访问

    本文主要介绍如何使用JMeter配置客户端凭证(client credentials)模式下的请求 OAuth2.0介绍 OAuth 2.0 是一种授权机制,主要用来颁发令牌(token) 客户端凭证 ...

  6. C#常见控件与SQL Sever数据库交互

    C#常见控件与SQL Sever数据库交互 下拉框(ComboBox)与数据库绑定 首先,我们采用DataSet作为临时的数据库,这样会比较好 那么,我们先创建两个成员(对象) string sqlc ...

  7. React ant table 用 XLSX 导出excel文件

    近期做了一个react ant design 的table转换成excel 的功能 总结下 首先我们会自己定义下 antdesign 的table的columns其中有可能有多语言或者是render方 ...

  8. 1.16 Linux该如何学习(新手入门必看)

    本节旨在介绍对于初学者如何学习 Linux 的建议.如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法. 如何去学习 学习大多类似庖丁解牛,对事物的认识一般都是由 ...

  9. 干货 | 一文彻底读懂nginx中的location指令

    一个执着于技术的公众号 Nginx系列导读 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文件详解 一文带你读懂Nginx反向代理 ...

  10. JavaScript 数据结构与算法3(链表)

    学习数据结构的 git 代码地址: https://gitee.com/zhangning187/js-data-structure-study 1.链表 本章学习如何实现和使用链表这种动态的数据结构 ...