zoukankan      html  css  js  c++  java
  • 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 }}"
    
    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 }}"
    

     

  • 相关阅读:
    PHP——文件操作
    PHP——注册页面,审核页面,登录页面:加Session和Cookie
    ajax——优化0126(增删改查:添加查看详情,返回结果类型为JSON型,在窗口显示)
    ajax——三级联动下拉列表框的优化(简化页面,用jquery插件代替原来页面代码,返回处理数据类型为"TEXT")
    ajax——实现三级联动下拉列表
    通过view实现字段的只读、隐藏操作【转】
    OpenERP how to set the tree view limit
    OpenERP 疑问之一
    Django 安装
    OpenERP 中国财务模块 调整
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/11980225.html
Copyright © 2011-2022 走看看