初始ansible变量及实例配置

目录

1、为什么要使用变量

2、变量分类

3、 变量详解

3.1  vars,vars_files , group_vars

3.1 .1  vars   剧本中定义变量

3.1.2  vars_file  将变量存放到一个文件中,并在剧本中引用

3.1.3   group_vars 创建一个变量文件给某个组使用

实例1-根据不同的主机组创建对应的目录

实例2-使⽤group_vars的all组定义变量

3.1.4 变量基础vars,vars_files , group_vars总结

3.2 ansible-facts变量

3.2.1 常用fact变量

3.2.2实例-系统巡检-获取所有受管主机的基本信息保存到/tmp/主机名命名文件中

3.3 ansible-register变量

4、 变量总结


1、为什么要使用变量

Ansible变量就是一种存储数据的机制,可以在Ansible剧本文件中使用。使用变量可以将一些常量或重复的值提取出来,集中管理,提高代码的可读性和可维护性。同时,变量还可以用于动态生成剧本,根据不同的环境和需求,生成不同的剧本文件。简单来说,使用变量可以让Ansible更加灵活、可维护和可重用。

2、变量分类

变量
命令行临时使用,
变量⽂件vars_files某⼀个主机使⽤,较少⽤.
主机组共⽤的变量⽂件 group_vars应⽤范围⼴泛.
ansible内置变量(facts变量)收集主机的基本信息,ip地址,主机名,系统及版本....
register变量实现命令⾏ $() 或``功能

3、 变量详解

3.1  vars,vars_files , group_vars
3.1 .1  vars   剧本中定义变量

通过剧本paly部分中vars定义变量

3.1.2  vars_file  将变量存放到一个文件中,并在剧本中引用

剧本中play部分vars file指定变量文件

3.1.3   group_vars 创建一个变量文件给某个组使用

通过group vars指定主机组共享变量文件

⽤法:需要创建⼀个group_vars⽬录.  

⽬录下⾯创建以主机组命名的⽬录.  

存放变量⽂件vars.yml

实例1-根据不同的主机组创建对应的目录

使用ansible临时命令测试

实例2-使⽤group_vars的all组定义变量

ansible临时测试!!!

3.1.4 变量基础vars,vars_files , group_vars总结
使用方法具体含义应用场景
变量写在剧本开头:vars简单的较少的可以
变量写在独⽴⽂件中:vars_file:指定变量文件位置了解即可.
变量写在独⽴⽂件中,按照组进⾏ 分类:group_vars/all/vars.yml掌握在all中创建所有主机/分组⽤的变量即可.



3.2 ansible-facts变量

ansible-facts变量说明:ansible-facts是ansible服务内置变量,执行剧本,有个默认的任务(task),搜集每个主机的基本信息。

3.2.1 常用fact变量
ansible_hostname               #主机名 
ansible_memtotal_mb            #内存⼤⼩(总计) 单位mb 
ansible_processor_vcpus        #cpu数量 
ansible_default_ipv4.address   #默认的⽹卡ip eth0
ansible_distribution           #系统发⾏版本名字 CentOS  Ubuntu  Debian ansible_processor_cores        #核⼼总数
ansible_date_time.date         #当前时间 年-⽉-⽇

3.2.2实例-系统巡检-获取所有受管主机的基本信息保存到/tmp/主机名命名文件中

步骤1:

01.创建文件

02.写入内容

遍历所有受控主机,获取每个主机的基础信息,并将其保存到一主机名命名的文件中。其中,inventory_hostname表示当前主机的名称。copy模块用于将主机基础信息保存到文件中。

使用ansible临时命令测试

补充:

如果没有需求的话,可以关闭facts功能,让剧本执行加速,使用gather_facts:no 

3.3 ansible-register变量

Ansible中的register模块用于将任务执行的结果存储到一个变量中,以便在后续的任务中使用。register模块可以将任务执行的结果存储为一个变量,然后可以在后续的任务中使用该变量。以下是register模块的使用方法:

- name: 执行任务并将结果存储到变量中
  command: ls -l
  register: result

- name: 使用存储的变量
  debug:
    var: result.stdout

在上面的例子中,command模块用于执行ls -l命令,并将结果存储到result变量中。然后,debug模块使用result.stdout变量输出任务执行的结果。在register模块中,你可以使用任何变量名来存储结果,例如outputresultresponse等。你可以在后续的任务中使用存储的变量来执行其他操作,例如过滤、比较、格式化等。

4、 变量总结

变量含义和特点应用场景
命令行临时使用
剧本⽂件中vars定义当前这个剧本⽣效,涉及多个剧本不⽅便.
变量⽂件vars_files

所有变量写⼊到⽂件中: key:

value 变量: 值,

在剧本中通过vars_files: 变量⽂件路径./vars.yml

每次使⽤需要⼿动在剧本中加载vars_files: ./vars.yml

主机组共⽤的变量⽂件

group_vars

应⽤范围⼴泛. 根据主机清单⾥⾯的分组创建⽬录,存放vars.yml根据主机所属的主机组,⾃动读取group_vars/组名/vars.yml⽂件. group_vars/all/vars.yml
ansible内置变量(facts变量)收集主机的基本信息,ip地址,主机名,系统及版本....如果想提升ans执⾏速度可以关闭gather_facts: no
register变量(注册变量)实现命令⾏ $() 或``功能

寄存器变量(注册,临时变量): 把命令,模块结果,存放在reg格式变量中,通过变量.stdout 取出对应值.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/550963.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【【相机运动】_Camera_shake镜头晃动动画】

【相机运动】:Camera shake镜头晃动动画 2022-07-20 20:28 评论(0)

压缩感知(ISTA-Net论文)学习笔记

压缩感知(ISTA-Net论文)学习笔记 第一天,主要查找相关视频和笔记,补全预备知识 【nabla算子】与梯度、散度、旋度_哔哩哔哩_bilibili 近端梯度(Proximal Gradient)下降算法的过程以及理解|ISTA算法|LASSO问题_哔哩哔哩_bilibil…

Weakly Supervised Audio-Visual Violence Detection 论文阅读

Weakly Supervised Audio-Visual Violence Detection 论文阅读 摘要III. METHODOLOGYA. Multimodal FusionB. Relation Modeling ModuleC. Training and Inference IV. EXPERIMENTSV. CONCLUSION阅读总结 文章信息: 发表于:IEEE TRANSACTIONS ON MULTIME…

IP定位技术在解决广告恶意点击问题中的应用

随着互联网的迅猛发展,数字广告已成为企业推广产品和服务的重要方式。然而,随之而来的是广告恶意点击的问题,这不仅导致广告主的损失,也影响了广告生态的健康发展。为了解决这一问题,IP定位技术应运而生,成…

算法学习——LeetCode力扣补充篇9(912. 排序数组、21. 合并两个有序链表、33. 搜索旋转排序数组、103. 二叉树的锯齿形层序遍历)

算法学习——LeetCode力扣补充篇9 912. 排序数组 912. 排序数组 - 力扣(LeetCode) 描述 给你一个整数数组 nums,请你将该数组升序排列。 示例 示例 1: 输入:nums [5,2,3,1] 输出:[1,2,3,5] 示例 2&…

转换为elementUI提示方法为uni-app的showToast提示

// 转换为elementUI提示方法为uni-app的showToast提示---------------------------------------- // 一般提示 Vue.prototype.$message function(title) {title && uni.showToast({icon: none,title}); }; // 成功提示 Vue.prototype.$message.success (title) > …

AI智能电销机器人是什么?能给我们带来哪些便利?

科技的飞速发展,让很多“懒人”的幻想变成了现实,越来越多的人工智能产品被发明出来甚至完全替代日常生活中的工作。比如在电销行业,很多企业选择AI智能电销机器人进行外呼。那么你了解多少AI智能电销机器人呢?和小编kelaile520一…

女上司问我:误删除PG百万条数据,可以闪回吗?

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验 擅长主流数据Oracle、MySQL、PG、openGauss运维 备份恢复,安装迁移,性能优化、故障应急处理等可提供技术业务: 1.DB故障处理/疑难杂症远程支援 2.Mysql/PG/Oracl…

机器学习——模型评价

概述 在机器学习中,模型评价是评估和比较不同模型性能的关键步骤之一。它是通过对模型的预测结果与真实标签进行比较,从而量化模型的预测能力、泛化能力和稳定性。模型评价旨在选择最佳的模型,理解模型的行为,并为模型的改进提供…

Android多线程:Handler runOnUiThread 异步消息处理机制

目录 一,Android中的多线程问题 1.模拟耗时工作 2.Android开启子线程 二,在子线程中更新UI 1.异步消息处理机制 Handler 2.使用runOnUiThread更新UI 一,Android中的多线程问题 Android用户界面是与用户交互的接口,对于用户的…

YOLO-World: Real-Time Open-Vocabulary Object Detection 简介+安装+运行+训练(持续更新)

前言 YOLO_WORLD太牛了!!众所周知,传统是视觉目标检测一旦训练好后,如果我们需要增加新的识别目标的话,必须得重新训练模型。在生产中如果经常要新增检测目标,对时效性影响很大,而且随着数据量…

4G/5G布控球/移动执法仪/智能单兵电力巡检远程视频智能监控方案

一、背景与需求 随着科技的不断进步,视频监控技术已成为电力行业不可或缺的一环。电力行业的巡检及建设工作,因施工现场在人迹罕见的野外或山区,地形复杂多变,安全更是重中之重,现场工作的视频图像需实时传回监管中心…

公司电脑可以监控上网记录吗

电脑和网络已成为企业日常运营不可或缺的工具。然而,这也带来了一系列的安全和管理挑战。 特别是在员工上网行为方面,如何确保工作效率、信息安全和合规性成为了企业关注的重要问题。 在这样的背景下,许多企业考虑使用上网行为监控软件来管理…

cesium加载高层级离线影像地图瓦片(天地图、19级Arcgis)

实际加载效果如图: 1、下载离线地图瓦片方式(多种任选其一,个人倾向于Qgis工具): 方式1、采用第三方下载工具如:91卫图、水经注、全能电子地图下载器、bigemap等等。(这些有的下载层级不够&…

C#通用类库封装实战

数据库查询 特性方式获取数据库列的别名 数据库更新 使用简单工厂配置的方式

浅析MySQL 8忘记密码处理方式

对MySQL有研究的读者,可能会发现MySQL更新很快,在安装方式上,MySQL提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净。在操作系统…

YOLOV9目标检测-训练、验证、推理

目录 一、模型介绍 1.1摘要 1.2模型概要 1.2.1Programmable Gradient Information (1)Auxiliary Reversible Branch (2)Multi-level Auxiliary Information 1.2.2Generalized ELAN 二、环境配置 三、数据集准备 四、预训练权重下载 五、训练 六、模型评估 ​七、模…

图论:一文教你读懂常见的图遍历算法

一文教你读懂常见的图遍历算法 深度优先搜索(DFS): 从一个起始节点开始,访问该节点并将其标记为已访问。递归地访问所有与当前节点直接相连且未被访问过的节点。重复上述步骤,直到所有节点都被访问过或没有未访问的节…

【分享 网络墙测试】检测当前网络是否能用于其他平台,速度检测

文章日期:2024.04.17 类型:软件分享 兼容:win10 / win11 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法&#xff09…

为什么科拓停车选择OceanBase来构建智慧停车SaaS应用

本文来自OceanBase的客户——拓客停车的实践分享 科拓停车简介与业务背景 作为智慧停车行业的佼佼者,科拓停车致力于提供全方位的智慧停车解决方案。服务涵盖车场运营管理、互联网智慧停车平台以及停车场增值服务等。通过不断研发创新,打造出了多样化的…