ansible变量

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中已有此处定义的变量,则会被覆盖?)


原文地址:https://www.cnblogs.com/iois/p/6216939.html