当前位置:网站首页>Ansible中的变量及加密
Ansible中的变量及加密
2022-07-29 06:29:00 【野124】
目录
1.变量命名
和大多数编程语言一样,包含数字,下划线,字母 ,只能用下划线或字母开头 ansible内置的关键字不能作为变量名
2.变量级别
全局: 从命令行或配置文件中设定的
paly: 在play和相关结构中设定的
主机: 由清单,事实收集或注册的任务
变量优先级设定: 狭窄范围有限与广域范围
3.变量设定和使用方式
1.在playbook中直接定义变量

2.在文件中定义变量
编辑westos.yml文件,指定变量linuxfile,在编辑test.yml文件,如下

运行后即可在/mnt/中创建linuxfile
3.使用变量
- name: tesk play
hosts: westos
tasks:
- name: create filef
file:
path: "{ { file }}"
state: touch
4.设定主机变量和清单变量
在定义主机变量和清单变量时使用
编辑inventory如下,编辑test.yml如下,运行test.yml即可在受控主机中创建filewestoslinux

5.目录设定变量
group_vars 清单变量,目录中的文件名称与主机清单名称一致
host_vars 主机变量,目录中的文件名称与主机名称一致
测试如下
vim inventory
添加主机IP
[list]
192.168.43.204
vim test.yml

接着需写:group_vars清单变量,host_vars 主机变量
内容如下:

测试如下:
运行test.yml:执行成功。并查看受控机192.168.43.204中的用户user1如下:删除用户成功!

6.用命令覆盖变量
ansible-playbook westos.yml -e "name=linux"

7.使用数组设定变量

8.注册变量

9.事实变量
事实变量是ansible在受控主机中自动检测出的变量,事实变量中还有与主机相关的信息
当需要使用主机相关信息时不需要采集赋值,直接调用即可
因为变量信息为系统信息所以不能随意设定仅为采集信息,故被成为事实变量
我们不知道系统参数的时候,可以直接去查看系统中的参数
ansible westos all –m, setup | less

例如:查看主机名(ansible_fqdn)

10.魔法便变量
hostvars: ansible软件的内部信息
eg:ansible westost -m debug -a "var=hostvars"

group_names: 当前受管主机所在组
eg: ansible westos -m debug -a "var=group_names"

groups: 列出清单中所有的组和主机
eg: ansible localhost -m debug -a "var=groups"

inventory_hostname: 包含清单中配置的当前授管主机的名称
eg: ansible westos -m debug -a "var=inventory_hostname"

JINJA2模板
介绍 Jinja2是Python下一个被广泛应用的模版引擎 他的设计思想来源于Django的模板引擎, 并扩展了其语法和一系列强大的功能。 其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能
j2模板书写规则
编写循环内容
vim number.yml
NUMBER:
- 1
- 2
- 3
for循环和if判断
vim test.j2
{% for N in NUMBER %}
{%if N == 2%}
luck
{%endfor%}
{%if not N == 2%}
{ {N}}
{%end%}
{%endfor%}
loop.index 循环迭代记数从1开始
loop.index0 循环迭代计数从0开始
vim testj2.yml
- name: test j2
hosts: westos
vars_files: number.yml
tasks:
- name: create /mnt/file
template:
src: test.j2
dest: /mnt/file

Ansible的加密控制
1.创建加密文件
1. ansible-vault create linux 创建加密文件linux

2. vim key创建密钥
westos
ansible-vault create linuxfile --vault-password-file=key
对新建文件linuxfile进行加密(linuxfile文件密码为key文件中的内容westos)

3.加密现有文件
ansible-vault encrypt vsftpd.yml 对已经存在的vsftp.yml文件进行加密

ansible-vault encrypt linuxfile --vault-password-file=key
对现有文件linuxfile文件进行加密,并指定密钥为key文件

4.查看加密文件
ansible-vault view vsftpd.yml 查看加密文件vsftpd.yml

ansible-vault view linuxfile --vault-password-file=key
查看已经加密的文件Linuxfile,密钥为key文件

5.编辑加密文件
ansible-vault edit linux 编辑加密文件linux
ansible-vault edit linuxfile --vault-password-file=key
编辑加密的文件linuxfile,密钥为key文件
6.解密文件
ansible-vault decrypt linux linux文件永久解密
ansible-vault decrypt linuxfile --output=linuxfile
linuxfile文件解密保存为linuxfile

7.更改密码
ansible-vault rekey linux 对linux文件进行更改密码
ansible-vault rekey linuxfile --new-vault-password-file=key1
对linuxfile文件进行更改密码,更改后的密码为key1文件

边栏推荐
- 二次元卡通渲染——进阶技巧
- 微信小程序的反编译
- MVFuseNet:Improving End-to-End Object Detection and Motion Forecasting through Multi-View Fusion of
- 1172. 餐盘栈 有序列表+栈
- Flink实时仓库-DWD层(处理复杂数据-流和表的装换处理)模板代码
- 1172. The plate stack has a sequence table + stack
- 模拟卷Leetcode【普通】093. 复原 IP 地址
- Unity exploration plot access design analysis & process + code specific implementation
- 数据库系统概述
- 个人博客系统(附源码)
猜你喜欢

上采样之反卷积操作

Revolution of game assets

2D cartoon rendering - advanced skills

buck电路boot和ph引脚实测

做开发4年13K,想转行自动化测试,薪资还能涨吗···

MySQL 高级(进阶) SQL 语句 (一)

Thread synchronization - producers and consumers, tortoise and rabbit race, dual thread printing

CAN&CANFD综合测试分析软件LKMaster与PCAN-Explorer 6分析软件的优势对比

CVPR2021| 基于自监督学习的多视图立体匹配 (CVPR2021)

Flink实时仓库-DWD层(交易域-加购维度退化处理)模板代码
随机推荐
spark学习笔记(七)——sparkcore核心编程-RDD序列化/依赖关系/持久化/分区器/累加器/广播变量
Redis基础篇
Overview of database system
Vscode remote debugging PHP solution through remotessh and Xdebug
HJ37 统计每个月兔子的总数 斐波那契数列
gin 参数验证
Flink real time warehouse DWD layer (traffic domain) template code
Flink real-time warehouse DWD layer (processing complex data - installation and replacement of streams and tables) template code
buck电路boot和ph引脚实测
Teacher Wu Enda's machine learning course notes 03 review of linear algebra
基于C语言实现图书借阅管理系统
MySQL 高级(进阶) SQL 语句 (一)
Cvpr2022oral special series (I): low light enhancement
【C语言刷LeetCode】67. 二进制求和(E)
Revolution of game assets
[CF1054H] Epic Convolution——数论,卷积,任意模数NTT
pytest合集(7)— 参数化
Relative date used by filter in salesforce
Windows 上 php 7.4 连接 oracle 配置
Teacher wangshuyao's notes on operations research 05 linear programming and simplex method (concept, modeling, standard type)