ansible中的变量及加密

1.变量命名

只能包含数字,字母和下划线

只能用下划线或字母开头


2.变量级别

全局变量:从命令行或配置文件中设定

play变量:在play和相关结构中设定的

主机变量:由清单,事实收集或注册的任务

变量优先级设定:

狭窄范围有限与广域范围


3.变量设定和使用方式

1)在playbook中直接定义变量

2)在文件中定义变量

3)使用变量

4)设定主机变量和清单变量

在定义主机变量和清单变量时使用

vim inventory

5)目录设定变量

vim inventory

清单变量

目录中的文件名称与主机清单名称一致

主机变量

目录中的文件名称与主机名称一致

rm -rf groups_vars

目录名称建立错误

mv hosts_vars host_vars

6)用命令覆盖变量

用-e的方式指定变量

7)使用数组设定变量

vim user.yml

vim show_user.yml

vim user.yml

vim show_user.yml

8)注册变量

register把模块输出注册到指定字符串中

变量应用实例项目

需求:

建立用户user1,uid=8888,密码为user1123

建立用户user2,uid=9999,密码为user2123

vim user_list.yml

vim create_users.yml

建立成功

9)事实变量

事实变量是ansible在受控主机中自动检测出的变量

事实变量中还有与主机相关的信息

当需要使用主机相关信息时不需要采集赋值,直接调用即可

因为变量信息为系统信息所以不能随意设定仅为采集信息,故被称为事实变量

ansible all -m setup | less

#查看事实变量

vim westos.yml

gather_facts: no

#在playbook中关闭事实变量收集

逐层书写

10)魔法变量

hostvars

#ansible软件的内部信息

ansible all -m debug -a "var=hostvars"

若想采集详细信息,逐层书写即可

group_names

#当前受控主机所在组

ansible all -m debug -a "var=group_names"

groups

#列出清单中所有的组和主机

ansible all -m debug -a "var=groups"

inventory_hostname

#包含清单中配置的当前受管主机的名称

ansible all -m debug -m "var=inventory_hostname"


4.jinja2模板的书写及使用规则

介绍

Jinja2是Python下一个被广泛应用的模板引擎

他的设计思想来源于Django的模板引擎

并扩展了其语法和一系列强大的功能

其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能

书写规则

vim test.j2

vim j2.yml

for循环

vim j2.yml

vim test.j2

loop.index

#循环迭代记数从1开始

loop.index0

#循环迭代记数从0开始

vim j2.yml

if判定

vim test.j2

vim test.j2

vim j2.yml

jinja2模板实例

在受控主机中生成/mnt/hosts

内容为:

ip       主机名

vim hosts.j2

vim j2.yml


5.ansible中对文件加密

加密现有文件

ansible-vault encrypt file

查看加密文件

ansible-vault view file

ansible-vault view --vault-password-file=passfile user.yml

#将密码记录在passfile文件里

编辑加密文件

ansible-vault edit file

ansible-vault edit --vault-password-file=passfile user.yml

#将密码记录在passfile文件,直接编辑

更改密码

ansible-vault rekey user.yml

ansible-vault rekey user.yml --new-vault-password-file=key1

解密文件

ansible-vault decrypt user.yml --output=user1.yml

#文件解密保存为user1.yml

ansible-vault decrypt user.yml

#永久解密文件

创建加密文件

ansible-vault create westosfile

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值