---
- host: appsrvs
remote_user: root tasks:
- name: install package
yum: name={{ pkname }}
- name: start service
service: name={{ pkname }} state=started enabled=yes

在执行命令时定义变量:ansible-playbook -e 'pkname=vsftpd' app.yml

- host: appsrvs
remote_user: root
vars:
- pkname1: httpd
- pkname2: vsftp
tasks:
- name: install package
yum: name={{ pkname1 }}
- name: install package
yum: name={{ pkname2 }}

直接在剧本中定义变量:ansible-playbook app.yml

########################################################################

主机清单
[websrvs]
192.168.30.101 http_port=81
192.168.30.102 http_port=82

[websrvs:vars]
nodename=www
domainname=com

- host: appsrvs
remote_user: root tasks:
- name: set hostname
hostname: name={{ nodename }}.{{ http_port }}.{{ domainname }}

在主机清单中设置变量,在yml中直接调用通用变量及定制变量,关于定义变量的优先级:命令定义>定制定义>通用/公共定义

#########################################################################

为了更方便起见,可以直接建立新的专门定义变量的文件

定义变量文件及变量:
新建定义变量的文件vars.yml,在文件中添加以下两个变量:
var1: httpd
var2: vsftpd

---
- hosts: websrvs
remote_user: root
vars_files:
- vars.yml #变量文件名称 tasks:
- name: install package
yum: name={{ var1 }} #var1已经在变量文件中定义好 - name: create file
file: name=/data/{{ var2 }}.log state=touch #var2也已经在变量文件中定义好

ansible-play变量的基本应用的更多相关文章

  1. ansible 列表变量、字典变量

    ansible的变量不仅可以是单个的值,也可以为列表. - hosts: localhost gather_facts: no vars: - list: [1,2,3] tasks: - name: ...

  2. Ansible Playbook 变量与 register 详解

    ansible 定义变量方式与[多层]变量引用,以及 register 详解 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录 ...

  3. Ansible Facts 变量详解

    Ansible Facts 变量详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: 3. ...

  4. 006.Ansible自定义变量

    ansible支持变量,用于存储会在整个项目中重复使用到的一些值.以简化项目的创建与维护,降低出错的机率. 变量的定义: 变量名应该由字母.数字下划数组成 变量名必须以字母开头 ansible内置关键 ...

  5. ansible基础-变量

    一 变量的命名规范 变量的命名应该符如下合两个规范: 变量应该由字母.数字.下划线组成 变量应该以字母开头 例如:host_port.HOST_PORT.var5是符合命名规范的,foo-port. ...

  6. ansible playbook 变量

    变量优先级 在命令中定义的变量(-e参数指定的) 在inventory中定义的变量(ansible_ssh_user等) 其他变量(role中.play中) 系统通过father_facts定义的变量 ...

  7. ansible之变量

    一.常用系统变量 1. loop   #表示循环,去读循环体里的变量固定使用{{item}},item是个字典对象item.key=value,例如如下playbook内容: --- - name: ...

  8. 【Ansible】记一次技术博客害死人的经历——ansible模板变量注入探究

    风和日丽,夏天的北京湿热并举,睁不开的眼睛里,横竖都看着是“吃人”. 带薪学习的日子不好过,要在几天内迅速掌握导师下发要求学习的技能,看着以前一起蹲IT坑的同事人来人往,用隔壁同性黄同学的话来说,就是 ...

  9. ansible 魔法变量

    hostvars 可以让你调用其他host的变量和facts,  即使你没有在这个机器上执行过playbook, 你仍然可以访问变量, 但是不能访问facts. 例如: {{ hostvars['te ...

  10. 部署etcd中使用ansible进行变量初始化

    ansible-playbook 要进行默认变量的生产,可以依靠jinja 的模板渲染功能 看几个官方给出的例子 调用setup 中的变量 例如 setup 中的变量层级为 ansible_eth0_ ...

随机推荐

  1. 获取占用fd最大的前20个进程

    for x in `ps -eF| awk '{ print $2 }'`;do echo `ls /proc/$x/fd 2> /dev/null | wc -l` $x `cat /proc ...

  2. Unity3D|-使用ScriptableObject脚本化对象来制作一个简单的对象池

    ScriptableObject是一个用于生成单独Asset的结构.同时,它也能被称为是Unity中用于处理序列化的结构. 可以作为我们存储资源数据的有效方案.同时此资源可以作为我们AB包的有效资源! ...

  3. 使用http服务提供yum源

    1.安装httpd yum -y install httpd systemctl start httpd systemctl enable httpd 2.镜像资源目录拷贝至http的网站根目录 /v ...

  4. cryptoJS

    CryptoJS通俗的来讲是为了安全性,将前端传递到后端的参数加密 加密/解密方法(对称加密算法) AES 高级加密标准,是下一代的加密算法标准,速度快,安全级别高 DES 数据加密标准,适用于大量数 ...

  5. 基于gensim的LDA主题模型实现 一键式函数打包

    def genlda(textlist,n): ticks = str(time.time()).replace('.','')[-6:-1] nn=str(n) dictionary = corpo ...

  6. jqGrid选择列控件向右拖拽超出边界处理

    jqGrid选择列控件向右拖拽超出边界处理 $("#tb_DeviceInfo").jqGrid('navButtonAdd', '#jqGridPager', {         ...

  7. VS2015+VisualSVN+TortoiseSVN安装及使用

    1. SVN 是什么 SVN 是 Apache Subversion 的缩写,是一个开放源代码的版本控制系.这些数据放置在一个中央资料档案库(repository) 中. 这个档案库很像一个普通的文件 ...

  8. orace如何创建函数并调用

    我们来定义一个oracle的函数 create or replace function 方法名(参数名1 参数类型,参数名2 参数类型,参数名3 参数类型)return 返回类型 is num_C n ...

  9. lumion实例渲染6.2

    放置一些树 打开室外材质库,选择一个·别墅 放车 “景观”“描绘系统”笔刷调大刷出地面, 人群安置一些墙 改变方向,增大数量,墙就连在一起, 放一些树篱在墙上. 拍照模式添加特效,太阳 添加特效,天气 ...

  10. python 对象存储OSS 阿里云

    SDK参考 ->python->上传文件->简单上传 #  -*- coding: utf-8 -*- import oss2 auth=oss2.Auth('<yourAcc ...