ansible管理变量、机密和事实
文章目录
- 1.管理变量
- 1.1Ansible概述
- 1.2变量命名
- 1.3变量定义
- 1.4 playbook中的变量
- 1.5主机变量和主机组变量
- 1.6从命令行覆盖变量
- 1.7使用已注册变量捕获命令输出
- 2.管理变量
- 2.1ansible vault创建加密文件
- 2.2查看加密文件里内容
- 2.3编辑现有加密文件内容
- 2.4加密现有的文件
- 2.5解密现有的加密文件
- 2.6更改加密文件的密码
- 2.7playbook和ansible vault联系
- 3.管理事实
- 3.1描述ansible事实
- 3.2ansible事实作为变量注入
- 3.3关闭事实收集
- 3.4创建自定义事实
- 3.5魔法变量使用
1.管理变量
1.1Ansible概述
Ansible支持利用变量来存储值,并在Ansible项目的所有文件中重复使用这些值。这可以简化项目的创建和维护,并减少错误的数量。
通过变量,可以轻松地在Ansible项目中管理给定环境的动态值。例如,变量可能包含下面这些值:
① 要创建的用户
② 要安装的软件包
③ 要重新启动的服务
④ 要删除的文件
⑤ 要从互联网检索的存档
1.2变量命名
变量的名称必须以字母开头,并且只能包含字母、数字和下划线。
无效和有效的Ansible变量名称示例:
无效的变量名称 | 有效的变量名称 |
---|---|
web server | web_server |
remote.file | remote_file |
1st file | file_1 / file1 |
remoteserver$1 | remote_server_1 / remote_server1 |
1.3变量定义
可以在Ansible项目中的多个位置定义变量。不过,这些变量大致可简化为三个范围级别:
全局范围:从命令行或Ansible配置设置的变量
Play范围:在play和相关结构中设置的变量
主机范围:由清单、事实收集或注册的任务,在主机组和个别主机上设置的变量
如果在多个xeklh定义了相同名称的变量,则采用优先级别最高的变量。
优先级:全局范围 > play范围 > 主机范围(主机或主机组) 由清单定义的变量将被playbook定义的变量覆盖,playbook定义的变量将被命令行中定义的变量覆盖。
1.4 playbook中的变量
变量在Ansible Playbook中发挥着重要作用,因为它们可以简化playbook中变量数据的管理。
在Playbook中定义并使用变量
编写playbook时,可以定义自己的变量,然后在任务中调用这些值。例如,名为web_package的变量可以使用值httpd来定义。然后,任务可以使用yum模块调用该变量来安装httpd软件包。
Playbook变量可以通过多种方式定义。一种常见的方式是将变量放在playbook开头的vars块中:
---
- hosts: 192.168.120.130vars: //vars块下定义变量package_name: httpd //变量为httpd,变量命名为package_name(可自由命名)tasks:- name: install httpdyum:name: "{{ package_name }}" //此处双引号里两个大括号里写给变量的命名,并且变量前后都要空一格state: present
:wq!
...检查语法和测试执行过程是否成功
ansible管理变量、机密和事实相关推荐
- Ansible的管理变量、机密和事实
文章目录 管理变量.机密和事实 1.管理变量 1.1Ansible变量简介 1.1.1 命令变量 1.12 定义变量 1.2 playbook中的变量 1.2.1在Playbook中定义变量 1.2. ...
- ansible的变量和机密
1. ansible的变量 在ansible中使用变量,能让我们的工作变得更加灵活,在ansible中,变量的使用方式有很多种我们下面一一介绍. 1.1 变量的命名 变量名应该由字母.数字.下 ...
- ansible之机密、事实、循环
ansible之机密.事实.循环 1. 机密管理 1.1 创建加密文件 1.2 查看加密文件 1.3 编辑加密文件 1.4 加密现有的文件 1.5解密现有的文件 1.6 更改加密文件的密码 1.7 加 ...
- ansible管理界面_Ansible和Google日历集成,用于变更管理
ansible管理界面 Is anytime a good time to execute your automation workflow? The answer is probably no, f ...
- Ansible Playbook 变量与 register 详解
ansible 定义变量方式与[多层]变量引用,以及 register 详解 主机规划 主机名称 操作系统版本 内网IP 外网IP(模拟) 安装软件 ansi-manager CentOS7.5 17 ...
- 使用 Ansible 管理 MySQL 复制
Ansible 是一个新兴的 IT 自动化工具.本文将介绍如何通过 Ansible 配置及管理 MySQL 主.从复制环境,实现部署过程自动化,体验 Ansible 简单快速带来的快感. 简介: An ...
- Ansible 剧本变量 -01
Ansible 剧本变量 一.变量的介绍 1.概述 变量提供了便捷的方式来管理Ansible playbook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使 ...
- Ansible 使用变量
使用变量 虽然自动化的存在是为了更容易使事情可重复,但并非所有系统都完全相同.有些可能需要与其他配置略有不同的配置.在某些情况下,观察到的一个系统的行为或状态可能会影响您配置其他系统的方式.例如,您可 ...
- Ansible进阶变量
Ansible变量 1.Ansible变量最常见的是以下四种: 1.1.ansible变量可以用命令行(不推荐) 1.2.在剧本中vars定义一个变量 1.3.在配置文件中做变量(推荐多个剧本都可使用 ...
- python内存管理 变量无需事先声明_python 内存管理
内存管理 包括: 变量无须事先声明 变量无须指定类型 不用关心内存管理 变量名会被"回收" del 语句能够直接释放资源 变量定义 python中, 变量在第一次被赋值时自动声明, ...
最新文章
- iOS App Launch Option
- Android O 前期预研之一:Android Treble 计划
- 计算机组成原理 第三章【存储系统】课后作业解析【MOOC答案】
- linux操作系统进程间通信IPC之共享存储映射
- 安卓文件共享服务器,安卓文件共享云服务器
- php __FILE__,__CLASS__等魔术变量,及实例
- python脚本怎么打印日志_python 接口测试1 --如何创建和打印日志文件
- 详解如何在ubuntu上安装node.js
- poj 3026 BorgMaze 最小生成树Kruskal、Prim(Prim VS报错待解决
- mysql命令 show_mysql show 相关命令
- 配置企业管理系统,什么样的工作流才有用
- 在 Microsoft Windows Server 2008 R2 上安装 IE 11
- yocto的hello world
- 【关于NAT64的实现】
- word文档如何在方框内打钩
- div+css视频教程大全免费下载更有html5教程
- CTF 关于linux 7z解压的一点trick
- Android studio2.0在app中设置背景图片及添加图片资源
- mac数字键盘错乱_苹果电脑键盘打不出数字解决办法
- 高仿精仿微信客户端源码完整版
热门文章
- HTML_body中常用的标签部分
- ElasticSearch 7.X的基础教程二(Es安装教程)
- V2X方案之OBU介绍
- 计算机显示器的分辨率可以调节吗,电脑分辨率何如调?电脑无法调整屏幕分辨率怎么办?...
- 1148:连续出现的字符
- Android异常篇 Cannot access com.***...***.class
- convert bitset descriptor - cv::Mat
- 基因表达矩阵中排除表达量低的样本和基因
- 如何保证战略落地_如何真正让企业战略规划体系落地
- Python开源项目合集(网页框架)