ansible变量引用

  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 }}”
  1. 在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 }}”
  1. 使用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’]}具体输出某个字段的值
    在这里插入图片描述
  1. 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 }}”
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值