转自:http://www.cnblogs.com/lemon-le/p/6862788.html
先看看debug模块的使用:
msg:输出调试信息
var:将某个任务执行的输出作为变量传给debug模块,debug模块将其打印输出
verbosity:debug的任务级别
 
1:在playbook中直接使用      
---
- hosts: db
vars:
vvv: china tasks:
- name: test var
debug: msg="The variable ‘vvv‘ is {{ vvv }}"
输出结果:

 
2:在文件中定义
---
- hosts: db vars_files:
- vars.yml tasks:
- name: test var in file
debug: msg="The variable ‘kk‘ is {{ kk }}"
变量文件:
---
kk: lile
执行结果:

 
3:在hosts文件中定义 
/etc/ansible/hosts  中定义组变量或者单个主机的变量
[db]
10.0.0.147 pp=ppppppp [db:vars]
mm=heiheihei
---
- hosts: db tasks:
- name: test hosts group var
debug: msg="The Variable ‘mm‘ is {{ mm }}"
- name: test singer var
debug: msg="The Variable ‘pp‘ is {{ pp }}"
执行结果:

 
4:在/etc/ansible目录下创建group_vars与hosts_vars
      mkdir /etc/ansible/group_vars
      mkdir /etc/ansible/hosts_vars
 
想定义组变量时,以组的名字命名创建一个文件,然后把变量写在里面
如:定义db组的变量  在/etc/ansible/group_vars这里创建db文件 vim db           
    ---
tt: yyyyyyyyyyyyy

然后就可以使用了

---
- hosts: db tasks:
- name: test /etc/ansible/group_vars
debug: msg="The variable ‘tt‘ is {{ tt }}"
执行结果:

 
5:在host_vars中是同样的,只有一需要定义变量的那台主机命名就可以。
 
6:hostvars从一台远程主机获取另一台远程主机的变量 
 
方式一:
---
- hosts: db tasks:
- debug: msg="Variable ‘tt‘ is set to {{ hostvars[‘10.0.0.146‘][‘ttt‘] }}"
输出结果:

 
方式二:
---
- hosts: db tasks:
- name: test hostvars
debug: var=hostvars[‘10.0.0.146‘][‘ttt‘]
输出结果:

 
 
 
 
      
 

Ansible中playbook的变量的更多相关文章

  1. 二、Ansible中playbook的变量

    先看看debug模块的使用: msg:输出调试信息 var:将某个任务执行的输出作为变量传给debug模块,debug模块将其打印输出 verbosity:debug的任务级别   1:在playbo ...

  2. ansible中playbook使用

    palybook使用 ####yaml语法ansible中使用的yaml基础元素:变量Inventory条件测试迭代 playbook的组成结构InventoryModulesAd Hoc Comma ...

  3. ansible官方文档翻译之变量

    Ansible变量 在使用ansible变量的时候,主要是因为各个系统的不同,从而需要使用不同的变量来进行设置,例如在设置一些配置文件的时候,有大部分内容是相同的,但是一部分内容是和主机的ip地址或者 ...

  4. Ansible之playbook的使用总结 - 运维笔记

    之前详细介绍了Ansible的安装, 配置, 以及Ansible常用模块的使用. 下面对Ansible的playbook用法做一小结. 为什么引入playbook?一般运维人员完成一个任务, 比如安装 ...

  5. ansible中的playbook详解

    首先简单说明一下playbook,playbook是什么呢?根本上说playbook和shell脚本没有任何的区别,playbook就像shell一样,也是把一堆的命令组合起来,然后加入对应条件判断等 ...

  6. ansible中定义变量的若干方法

    Ansible支持十几种定义变量的方式 根据优先级排序的定义方式: Inventory变量 Host Facts变量 Playbook变量 Playbook提示变量 变量文件 命令行变量 1.Inve ...

  7. Ansible进阶--playbook的使用

    一.什么是playbooksplaybooks是ansible的脚本.如同shell脚本一样,它是控制远程主机的一系列命令的集合,通过YAML语言编写.执行一些简单的任务,我们可以使用ad-hoc命令 ...

  8. Ansible之Playbook详解、案例

    什么是playbook playbooks是一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活.简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的 ...

  9. devops工具-Ansible进阶playbook&roles

    一.playbook介绍     playbook 是 Ansible 管理配置.部署应用的核心所在,一个playbook由有多“play组成”,而一个play实际就是一个task,每个task是由多 ...

随机推荐

  1. (动态规划)matrix -- hdu -- 5569

    http://acm.hdu.edu.cn/showproblem.php?pid=5569 matrix Time Limit: 6000/3000 MS (Java/Others)    Memo ...

  2. Codeforces Round #540 (Div. 3)--1118D2 - Coffee and Coursework (Hard Version)

    https://codeforces.com/contest/1118/problem/D2 和easy version的主要区别是,数据增加了. easy version采用的是线性查找,效率低 在 ...

  3. IOS绘图详解

    http://blog.163.com/wkyuyang_001/blog/static/10802122820133190545227/

  4. QT中的线程与事件循环理解(1)

    1.需要使用多线程管理的例子 一个进程可以有一个或更多线程同时运行.线程可以看做是“轻量级进程”,进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理.Qt 使用QThread 来管 ...

  5. sdut 3916

    这道题就是二分枚举加贪心,小蓝书上一开始就讲的,但是我给忘了,很难受 #include <iostream> #include <cstdio> #include <cs ...

  6. shell 命令之 crontab

    crontab是shell命令中的定时任务: crontab -e 进入当前定时任务的vim页面 每行是一个独立的定时脚本,使用和vim的语法部署定时任务 如下图: 脚本执行周期设置 可以用下面的网页 ...

  7. linux 查看、关闭 ssh pts/n登录的用户

    1.查看登录用户: [root@TiaoBan- bin]# w :: up days, :, users, load average: 1.90, 1.75, 1.84 USER TTY FROM ...

  8. 所有网卡常用信息获取集中展示(CentOS6 &CentOS7)

    查看所有网卡,状态.光电类型.ip.广播地址.掩码 1.命令如下 ( string='|%-3s|%-18s|%-10s|%-10s|%-10s|%-16s|%-16s|%-16s|'; br=&qu ...

  9. [NewCode 4] 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 最直接的方式, ...

  10. Spring Webservices(转)

    17.5. Web Services Spring为标准Java web服务API提供了全面的支持: 使用JAX-RPC暴露web服务 使用JAX-RPC访问web服务 使用JAX-WS暴露web服务 ...