Ansible变量 机密 事实

news/2024/11/19 7:28:42/

ansible
1.是基于python开发的运维自动化工具
2.基于模块运行,本身没有批量部署的能力,只提供批量部署的框架
3.使用ssh网络协议与受管节点通信
4.架构是无代理

简述

章2 ansible清单
1.清单概念
清单内容是:ansible管理的主机
清单有静态清单和动态清单文件
静态清单是自己写的,根据INI格式或yaml格式
动态清单是应用程序或脚本自动生成的
2.默认的清单文件 /etc/ansible/hosts 你也可以在配置文件中为清单文件自定义个位置
3.清单中定义变量
通常不在清单文件中定义变量,可以在清单中定义playbook中要使用的变量,这些变量仅仅应用在特定的主机或主机组中。
一般定义变量在特殊目录中定义
ansible配置文件
运行临时命令
章3 playbook
playbook以yaml格式编写的文本文件
章4 变量 机密 事实

变量
1.变量就是用来存储值的,这些值可以是创建的用户,要删除的软件包,或进行某种操作的服务
2.变量可以引用在特定的主机,主机组,单独的play,全局中
变量的优先级:全局范围定义的(命令行)>playbook定义的>特定主机(清单文件定义的)
3.加密变量 ansible valut

变量的作用域:
①全局范围(在命令行或配置文件写)
ansible-playbook xx.yml -e “变量名=值”
②playbook
定义在vars 或 vars_files块中
引用的时候用{{}},若引用的变量作为第一个值要带“”
③主机主机组(清单文件/特定目录下)
定义在清单文件中的变量
[server]
servera.com.xxx   变量名=值
[server:vars]
变量名=值
定义在两个特殊目录下的变量
在与清单文件同级的目录下创建两个目录分别为group_vars host_vars这两个目录。若要为主机组server定义变量,要在group_vars目录下创建server这个文件,其中的内容为--变量名:值


两种特殊用法
1.定义数组变量
普通变量定义:
lily_home:nx
lily_school:cq
lisa_home:tg
lisa_school:hg
使用数组定义变量
user:
  lily:
    home:nx
    school:cq
  lisa:
    home:tg
    school:hg
引用变量的方式
user.lily.home  或  user[lily][home]
注意[]里面的字段有单引号引起
2.register语句
使用register语句捕获命令输出并将输出存储在变量中

管理机密
1.使用ansible-vault可以加密或解密任何由ansible使用的结构化数据文件
2.
创建加密文件 ansible-vault create xx.yml
查看加密文件ansible-vault  view  xx.yml
编辑现有文件ansible-vault  edit  xx.yml
加密  ansible-vault  encrypt  xx.yml
解密  ansible-vault  decrypt  xx.yml
更改文件密码  ansible-vault rekey xx.yml
3.
运行playbook 
ansible-playbook  --vault-id @prompt xx.yml

管理事实
1.事实就是在受管主机上自动检测的变量,就是受管主机的真实数据,也可以自定义事实。比如说运行一个playbook时,他会在运行第一个任务前自动运行setup模块去收集事实。
2.在playbook中以json格式显示ansible_facts内容;
ansible事实的例子: 
短主机名 ansible_facts['hostname']
完全限定域名 ansible_facts['fqdn']
3.playbook中使用事实
{{  ansible_facts.hostname  }}
4.ansible事实作为变量注入
①ansible事实作为以ansible_为前缀的单个变量注入
②ansible事实作为ansible_facts变量的一部分导入
5.关闭事实收集  gather_facts:no
6.创建自定义事实
静态事实文件  INI格式或json格式
动态事实文件  生成json格式输出
默认情况下,setup模块通过加载受管主机下/etc/ansible/facts.d目录下的文件和脚本来加载自定义事实,目录下的文件和脚本都是以.fact结尾
自定义事实由setup模块存储在ansible_facts.ansible_local变量中
7.魔法变量


http://www.ppmy.cn/news/75806.html

相关文章

linux 安装 maven 3.8 版本

文章目录 1:maven 仓库官网 2、下载安装包 3、使用:Xftp 上传到你想放的目录 4、解压文件 ​编辑 5、配置环境变量 ​编辑 6、刷新 /etc/profile 文件 7、查看maven 版本 1:maven 仓库官网 Maven – Download Apache Mavenhttps://mave…

做亚马逊会遇到哪些坑?

第一个坑,不要迷信可以无脑铺货 不要听服务商告诉你的,只有店铺产品足够了,才会有订单,才能爆单。这种人是不懂的。因为在亚马逊自己送货实际上比联邦快,难多了。首先,大规模的铺货容易侵权,还…

【c语言】二进制文件的读写操作

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c语言系列专栏&#xff1a;c语言之路重点知识整合 &#x…

C语言备忘录一

一、声明是未赋值&#xff0c;定义是赋值 二、UL 无符号长整形 三、数组 int arr[5] {1, 2, 3, 4, 5}&#x1f62d;数组【】中的数字大小是从一开始数&#xff0c;{}中的大小是从零开始数) 四、extern extern extern表明变量或者函数是定义在其他其他文件中的 int a 5与…

【Java校招面试】实战面经(三)

目录 前言一、简历中项目的难点及解决方案二、讲讲分布式锁的实现三、AQS(Abstract Queued Synchronizer)的原理四、ConcurrentHashMap的原理五、MySQL InnoDB存储引擎中的MVCC解决了什么问题,MVCC的实现原理六、平时怎么创建线程?为什么用线程池,线程池有什么好处?七、创建…

2023年Q1 区块链领域融资大事记

1. DeFi领域融资情况 DeFi领域融资情况有&#xff1a; 1&#xff09;Ether.Fi&#xff1a;融资530万美金。由North Island Ventures, Chapter One, Node Capital领投&#xff0c;投资者有Arrington Capital, Maelstrom, Version One Ventures, Purpose Investments。 为以太坊…

数值计算 - 利用机器计算的基本方式

离散化方法 设f(x)是定义在[a,b]上的连续函数&#xff0c;当它们的表达式很复杂&#xff0c;甚至写不出来时&#xff0c;我们可以选择若干个离散点 求出f(x)在这些点处的函数值或函数值的近似值 从而得到一个如下的函数值列表&#xff1a; ⚠️提示&#xff1a;对于一个实际的…

springboot基于Java的校园二手物品交易平台jspm9qw4i

本基于Java的校园二手物品交易平台采用Java语言和Jsp技术&#xff0c;框架采用SPRINGBOOT&#xff0c;搭配Mysql数据库&#xff0c;运行在Idea里。本系统针对校园二手商品的交易而开发&#xff0c;提供管理员、学生、学生二手三种角色的服务。总的功能包括商品的查询、商品的购…