ansible变量

(部分内容摘自互联网,非官方,描述不一定正确)

变量种类:

  • 内置变量facts:

  • 自定义变量:

    • 命令行传递的变量
    • roles传递的变量
    • 主机变量
    • 组变量

内置变量facts:

由远程主机发回的主机属性信息,这些信息被保存在ansible变量当中

ansible xx.xx.xx.xx -m setup 获取远程主机上的属性信息,这些属性信息保存在facts中。

setup 返回的json格式主机信息,facts变量组成:

"ansible_facts": {
"ansible_all_ipv4_addresses": [
"192.168.69.129"
],
"ansible_distribution": "Ubuntu",
"ansible_distribution_version": "16.10",
......
"ansible_dns": {
"nameservers": ["127.0.1.1"],
"search": ["localdomain"]
},
}

自定义变量

主机变量

定义在inventory配置文件中,如/etc/ansible/hosts中;添加在主机后面。

[group1]
host2 http_port=303 maxRequestsPerChild=909

主机变量是单独分配给对应主机的。

组变量

定义在inventory配置文件中,如/etc/ansible/hosts中。

[group_name:vars]

var1=value

var2=value

[group1]
host1
host2 [group1:vars] # 组变量
ntp_server=ntp.atlanta.example.com
proxy=proxy.atlanta.example.com

组变量分配给对应的组中的所以主机。

命令行传递的变量

通过命令行传递:

ansible-playbook test.yml --extra-vars “host=www user=tom“

(如果playbook中已有此处定义的变量,则会被覆盖?)


ansible变量的更多相关文章

  1. Ansible--03 ansible 变量

    目录 Ansible 变量 变量概述 定义变量的方式 如何定义变量 Ansible变量优先级测试 变量注册 ansibl e层级定义变量 facts缓存 Ansible 变量 变量概述 变量提供了便捷 ...

  2. 第二十七章 ansible变量介绍

    一.ansible变量介绍 1.概念 变量提供了便捷的方式来管理Ansible playbook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使用,那么如果讲 ...

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

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

  4. Ansible 变量

    1. 变量来源 inventoryfile中定义 playbook中定义 include文件和角色中定义变量 系统facts  ansible hostname -m setup local fact ...

  5. ansible 变量详解

    定义变量的方法 1. 主机变量,在hosts文件中设置变量, [atlanta] host1 http_port= maxRequestsPerChild= host2 http_port= maxR ...

  6. ansible变量定义

    一./etc/ansible/hosts [webServers] 192.168.2.200 http_port=8009 [web]web1web2 [db]db1db2 [app:childre ...

  7. Ansible变量嵌套解析

    有时候需要用到ansible的变量的嵌套解析,就是“变量中嵌套变量”.例子如下: 假设有一个外部传递的变量,system_code = CRM,而我们同时有一系列类似的变量,如: ABS_port=1 ...

  8. ansible变量引用

    1. 在/etc/ansible/hosts默认文件中定义变量 [test] 192.168.163.130 #[test:vars] #key=ansible 或者 192.168.163.130 ...

  9. ansible 变量定义和引用

    cat /etc/ansible/hosts [nodes]10.2.1.232 key=23210.2.1.43 key=43 cat debug.yaml ---- name: test how ...

随机推荐

  1. 【转】几个常用的Oracle存储过程

    http://blog.bossma.cn/database/some-oracle-storing-process/ 几个常用的Oracle存储过程 发布时间:2008年1月6日 / 分类:Data ...

  2. BaaS with Kinvey and Delphi 10.1 Berlin

    In this article I will show you how to connect yourdesktop and mobile applications to a mobile backe ...

  3. 简单测试运行时类信息(RTTI),附详细例子

    新建一个单元文件,填写如下代码,然后保存为 ClassInfoUnit.pas,这里定义了一个结构,用来读取指定类的信息. unit ClassInfoUnit; interface uses Cla ...

  4. java selenium webdriver实战 页面元素定位

    自动化测试实施过程中,测试程序中常用的页面操作有三个步骤 1.定位网页上的页面元素,并存储到一个变量中 2.对变量中存储的页面元素进行操作,单击,下拉或者输入文字等 3.设定页面元素的操作值,比如,选 ...

  5. hdoj 5319 Painter(模拟题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5319 思路分析:假设颜色R表示为1,颜色B表示为2,颜色G表示为3,因为数据量较小,采用暴力解法即可, ...

  6. java 基本语法元素

    单行注释:  // 多行注释: /*         */   java文档: /**JAVA文档      *注释      */   : :  类似于中文的句号.   语句块:语句块也叫做复合语句 ...

  7. Junk-Mail Filter(并差集删点)

    Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  8. 深入理解 IE haslayout

    转载自Bubblings Blog 原文地址:http://riny.net/2013/haslayout/ 1.什么是haslayout layout是windows IE的一个私有概念,它决定了元 ...

  9. 如何分割(split)string字符串

    使用String#split()方法 如下所示: String string = "004-034556"; String[] parts = string.split(" ...

  10. BZOJ 1003: [ZJOI2006]物流运输trans(最短路+dp)

    1A,爽! cost[i][j]表示从第i天到第j天不改路线所需的最小花费,这个可以用最短路预处理出.然后dp(i)=cost[j][i]+dp(j-1)+c. c为该路线的花费. --------- ...