当前位置: 首页 > news >正文

【Ansible】管理变量和事实知识点

1.Ansible变量名由什么组成?

答:变量名必须以字母开头,且只能含有字母、数字和下划线。

2.定义变量的方法及变量的优先级?

答:按优先级从低到高排列: 在清单中定义的组变量 <

在清单或playbook所在目录的group_vars子目录中定义的组变量 <

在清单中定义的主机变量 <

在清单或playbook所在目录的host_vars子目录中定义的主机变量 <

在运行时中发现的主机事实 <

 (vars和vars_files)playbook中的play变量 <

 任务变量 <

在命令行中使用--extra-vars或-e选项定义的定义的额外变量

3.如何在Playbook中定义并使用变量?

答:定义变量:一种方式是将变量放在play开头的vars块中,也可以在外部文件中定义playbook变量。此时不使用playbook的play中的vars块,可以改为使用vars_f1les指令,后面跟上相对于playbook位置的外部变量文件名称。

使用变量:将变量名放在双括号且用双引号括住,如”{{变量名}}”

4.什么是Ansible Vault,如何使用?

答:Ansible Vault用来加密任何由Ansible使用的数据文件。这可能包括清单变量、playbook中含有的变量文件、在执行playbook 时作为参数传递的变量文件,或者Ansible角色中定义的变量。若要使用Ansible Vault,可通过一个名为ansible-vauLt的命令行工具创建、编辑、加密、解密和查看文件。

5. Ansible Vault中的常用操作?

答:创建加密的文件:使用ansible-vault create f1lename 命令,可以使用Vault密码文件来存储Vault密码,而不是通过标准输入途径输入Vault密码。您需要使用文件权限和其他方式来严密保护该文件。如ansible-vault create-vault-password-file=vault-pass secret.yml

查看加密的文件:使用ansible-vault view f1lename命令

编辑现有的加密文件:使用ansible-vault edit filename命令

加密现有的文件:使用ansible-vauLt encrypt filename命令

解密现有的文件:使用ansible-vault decrypt filename命令永久解密。在解密单个文件时,可使用--output选项以其他名称保存解密的文件。

更改加密文件的密码:使用ansible-vauLt rekey filename命令更改,需要输入原始密码。

6.什么是Ansible事实?

答:Ansible自动收集的受管主机信息(如 IP 地址、操作系统、硬件配置等),存储在ansible_facts变量中。事实中含有与主机相关的信息,可以像play中的常规变量、条件、循环或依赖于从受管主机收集的值的任何其他语句那样使用。也可以创建自定义事实,借助事实,可以方便地检索受管主机的状态,并根据该状态确定要执行的操作。

7.如何引用和控制事实收集?

答:引用事实:通过{{ ansible_facts['事实名'] }}或之前版本形式{{ ansible_事实名 }},如{{ ansible_hostname }}获取主机名

控制事实收集:若想禁用收集,在 play 中设置gather_facts: no(提升执行效率)。

手动更新事实:使用setup模块(ansible 主机 -m setup)。

8.有哪些常见的魔法变量?

答:魔法变量是用于获取与特定受管主机相关的信息的特殊变量,常见如下

-hostvars:包含受管主机的变量,可以用于获取另一台受管主机的变量的值。如果还没有为受管主机收集事实,则它不会包含该主机的事实。

-group_names:列出当前受管主机所属的所有组。

-groups:列出清单中的所有组和主机。

-inventory_hostname:包含清单中配置的当前受管主机主机名称。这可能因为各种原因而与事实报告的主机名称不同。


文章转载自:

http://G6GUniT4.rqqmd.cn
http://QbdgpjFX.rqqmd.cn
http://anOw6cfY.rqqmd.cn
http://11U2Sx9h.rqqmd.cn
http://WgeNhWZy.rqqmd.cn
http://5VmDbc2n.rqqmd.cn
http://Od2YUQ7e.rqqmd.cn
http://QgSXO7V3.rqqmd.cn
http://a7Lz7Dop.rqqmd.cn
http://d56a8SmR.rqqmd.cn
http://pRwAXYDN.rqqmd.cn
http://LfXfOarI.rqqmd.cn
http://DUPP2orE.rqqmd.cn
http://lwSKuhCO.rqqmd.cn
http://otCBKIFg.rqqmd.cn
http://99Xg2ygg.rqqmd.cn
http://z1pjd3hd.rqqmd.cn
http://y0crqXz0.rqqmd.cn
http://41oBrQVG.rqqmd.cn
http://ocZJvqGc.rqqmd.cn
http://NuhC2Ufi.rqqmd.cn
http://48eAaXyO.rqqmd.cn
http://473sgj2U.rqqmd.cn
http://cOCM2Aa0.rqqmd.cn
http://aK2lynlU.rqqmd.cn
http://TpZpVuM3.rqqmd.cn
http://Mh8PcRfz.rqqmd.cn
http://f1WqN9wq.rqqmd.cn
http://MtWMai8C.rqqmd.cn
http://6QrZzRFN.rqqmd.cn
http://www.dtcms.com/a/375730.html

相关文章:

  • 2025-09-08升级问题记录:app提示“此应用专为旧版Android打造..”或“此应用与最新版 Android 不兼容”
  • 网络通信的“地址”与“门牌”:详解IP地址与端口号的关系
  • 基于Python的旅游数据分析可视化系统【2026最新】
  • Nginx 优化与防盗链全解析:从性能调优到资源保护
  • 【AI】Tensorflow在jupyterlab中运行要注意的问题
  • (论文速读)从语言模型到通用智能体
  • 3-9〔OSCP ◈ 研记〕❘ WEB应用攻击▸利用REST API提权
  • Kafka面试精讲 Day 15:跨数据中心复制与灾备
  • 数据库之间如何同步
  • YOLO学习笔记
  • 3.Python高级数据结构与文本处理
  • LeetCode热题 42.接雨水
  • diffusion model(0.2) DDPM
  • 广州物业管理宣传片拍摄:以专业服务传递城市温度
  • 4、Python面向对象编程与模块化设计
  • 服务注册发现高可用设计:从三次典型雪崩事故到故障免疫体系
  • 功率放大器选型指南:从热耗散角度理解交直流电流限制
  • 基于野火F407开发板实现电源管理-睡眠模式
  • 【数组】长度最小的子数组
  • 从生日悖论看哈希函数的冲突问题
  • UDS诊断详解(二)27服务安全访问流程
  • 如何解决Ubuntu下vi编辑器方向键变字母的问题?
  • [硬件电路-172]:浮空、单点接地、多点接地的比较
  • DNS协议
  • 网络编程---UDP
  • 深入了解linux系统—— 线程同步
  • 基于Mysql+SpringBoot+vue框架-桂林旅游景点导游平台源码
  • 案例二:登高千古第一绝句
  • 将「本地仓库」推送(关联)到「远程仓库」 远程仓库的修改 Pull 到关联的本地仓库
  • 玄机--IIS日志分析