ansible中变量与事实

管理变量

ansible 变量简介

变量可能包含下面这些值:

  • 要创建的用户、
  • 要安装的软件包、
  • 要重启的服务、
  • 要删除的文件、
  • 要从互联网检索的文档

命名变量

变量名称必须以字母开头,并且只能含有字母、数字和下划线
错误 正确
web server web_server
westos.file remote_file
1st file file1

定义变量

三个范围级别:
全局范围: 从命令行或 ansible 配置设置的变量
play 范围: 在 play 和相关结构中设置的变量
主机范围: 由清单、事实收集或注册的任务,在主机组和个别主机上设置的变量
如果多个级别上定义了相同名称的变量,优先采用级别最高的变量,窄范围优先于广范围

在play开头定义变量

在这里插入图片描述

文件方式定义变量

在这里插入图片描述
在这里插入图片描述

实例

在这里插入图片描述

测试

在这里插入图片描述

主机变量与组变量

清单变量分为主机变量和组变量
主机变量:应用于特定主机
组变量: 应用于一个主机组或一组主机组中的所有主机

定义主机变量和组变量

方法1:
在inventory中定义(不推荐因为会把清单弄得很乱)
在这里插入图片描述

使用目录填充主机和组变量

定义主机和主机组变量的首选做法时与清单文件或目录相同的工作目录中,创建 group_vars 和 host_vars 两个目录,这两个目录分别包含用于定义组变量和主机变量的文件
在这里插入图片描述
在这里插入图片描述

管理机密

在编写 playbook时,可能会涉及到一些感的数据,比如密码,当这些感数据以明文的方式存储在 playbooks中时,可能是不能波接受的,那么我们该怎么办呢? ansible官方已经考成到了这种情况,当我们的 Playbook中含有不能明文展示的文本时,我们可以使用’ ansible-vault"命令,对敏感数据进行加密,我们可以对整个文件加密,也可以对某个字符串加密(也就是变量加密)

对文件加密

ansible-vault encrypt test.yml

在这里插入图片描述
此时需要ansible-playbook --ask-vault-pass playbook/test.yml来输入密码执行
在这里插入图片描述

解密

在这里插入图片描述

更改密码

在这里插入图片描述

查看

在这里插入图片描述

编辑

在这里插入图片描述

使用文件加密

在这里插入图片描述
在这里插入图片描述
这样,我们就不用在加密和解密时手动的输入密码了

管理事实

事实包括:主机名称、内核版本、网络借口、IP 地址等
查看主机信息:
在这里插入图片描述
在这里插入图片描述
显示其中一部分

在这里插入图片描述
关闭事实收集,提高运行速度
在这里插入图片描述
在这里插入图片描述

自定义事实

如果自定义事实文件保存在/etc/ansible/facts.d目录中,ansible可以找到该事实
文件的扩展名必须为.fact ,采用INI或JSON格式的纯文本文件
在INI事实文件中,首先是定义事实的顶级分类:[packages],后跟预定义事实的键值对
在这里插入图片描述
json格式
在这里插入图片描述
建议使用json格式
测试:
在这里插入图片描述
使用变量形式打印自定义事实
在这里插入图片描述
在这里插入图片描述

魔法变量

常用的有四个:

hostvars	#包含受管主机的变量,可以用于获取另一台受管主机的变量的值
group_names	#列出 当前受管主机 所属的所有组
groups	#列出清单中的 所有组和主机
inventory_hostname	#包含 清单中配置的 当前受管主机的主机名称

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值