6.Ansible.变量vaiables

6.Ansible.变量vaiables

使用固定的字符串,表示一个不固定的值
变量提供了便捷的方式来管理ansible中的动态值,比如nginx-1.12,后期可能会反复使用到这个版本的值,
如果将此值设置成变量,后续使用和修改起来会很方便,简化了项目的维护。写死就没有意义了。

例如:
这里用变量的方式来替代nginx的版本,当后期nginx的版本有变化时候,直接修改变量值即可,不用挨个去修改模块内的nginx版本信息

vars:
  nginx_name: nginx-1.12
-install: 
  wget: "{{ nginx_name }}".tar.gz
-unzip
  tar xfv "{{ nginx_name }}".tar.gz

几种定义变量的方法:

1.外置传参的方法定义

外置传参:-e参数传递变量,在playbook中创建变量名,然后在命令行中用-e参数,给变量传递变量值

1.1先在剧本文件中写好变量名
在这里插入图片描述
1.2在命令行执行剧本文件的时候,用-e参数,给变量传递变量值
在这里插入图片描述
在这里插入图片描述

2.playbook中定义vars,然后引用

在这里插入图片描述

3.在外部创建的vars-files文件中定义变量,然后在playbook中引用vars-files,然后再引用变量

3.1.先创建vars-files,在里面定义变量,供后期引用
在这里插入图片描述
3.2.在剧本文件里先调用vars-files,然后在模块中引用变量
在这里插入图片描述
在这里插入图片描述

4.inventory中定义
  在/etc/ansible/hosts文件中为主机定义变量

4.1在hosts文件中为主机组定义变量
在这里插入图片描述
4.2准备配置文件
在这里插入图片描述
4.3下发配置文件到不同的主机,得到的效果应该是不同的
在这里插入图片描述
4.4可以看出两个主机的配置文件内容是不一样的,按照之前的变量进行配置的
在这里插入图片描述
在这里插入图片描述
这种方式适合部署zookeeper和kafka这类的应用

变量引用的优先级

这些方法定义了相同的变量,优先级依次递减
在这里插入图片描述

变量注册ansible register

变量注册:(获取任务的结果,将结果存储到变量中。)
1.netstat -lntp —》输出的结果存储到一个变量中 net_system_status
2.我们可以通过debug模块,将变量的值打印出来。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值