文章目录

  • 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管理变量、机密和事实相关推荐

  1. Ansible的管理变量、机密和事实

    文章目录 管理变量.机密和事实 1.管理变量 1.1Ansible变量简介 1.1.1 命令变量 1.12 定义变量 1.2 playbook中的变量 1.2.1在Playbook中定义变量 1.2. ...

  2. ansible的变量和机密

    1. ansible的变量 ​ 在ansible中使用变量,能让我们的工作变得更加灵活,在ansible中,变量的使用方式有很多种我们下面一一介绍. 1.1 变量的命名 ​ 变量名应该由字母.数字.下 ...

  3. ansible之机密、事实、循环

    ansible之机密.事实.循环 1. 机密管理 1.1 创建加密文件 1.2 查看加密文件 1.3 编辑加密文件 1.4 加密现有的文件 1.5解密现有的文件 1.6 更改加密文件的密码 1.7 加 ...

  4. ansible管理界面_Ansible和Google日历集成,用于变更管理

    ansible管理界面 Is anytime a good time to execute your automation workflow? The answer is probably no, f ...

  5. Ansible Playbook 变量与 register 详解

    ansible 定义变量方式与[多层]变量引用,以及 register 详解 主机规划 主机名称 操作系统版本 内网IP 外网IP(模拟) 安装软件 ansi-manager CentOS7.5 17 ...

  6. 使用 Ansible 管理 MySQL 复制

    Ansible 是一个新兴的 IT 自动化工具.本文将介绍如何通过 Ansible 配置及管理 MySQL 主.从复制环境,实现部署过程自动化,体验 Ansible 简单快速带来的快感. 简介: An ...

  7. Ansible 剧本变量 -01

    Ansible 剧本变量 一.变量的介绍 1.概述 变量提供了便捷的方式来管理Ansible playbook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使 ...

  8. Ansible 使用变量

    使用变量 虽然自动化的存在是为了更容易使事情可重复,但并非所有系统都完全相同.有些可能需要与其他配置略有不同的配置.在某些情况下,观察到的一个系统的行为或状态可能会影响您配置其他系统的方式.例如,您可 ...

  9. Ansible进阶变量

    Ansible变量 1.Ansible变量最常见的是以下四种: 1.1.ansible变量可以用命令行(不推荐) 1.2.在剧本中vars定义一个变量 1.3.在配置文件中做变量(推荐多个剧本都可使用 ...

  10. python内存管理 变量无需事先声明_python 内存管理

    内存管理 包括: 变量无须事先声明 变量无须指定类型 不用关心内存管理 变量名会被"回收" del 语句能够直接释放资源 变量定义 python中, 变量在第一次被赋值时自动声明, ...

最新文章

  1. iOS App Launch Option
  2. Android O 前期预研之一:Android Treble 计划
  3. 计算机组成原理 第三章【存储系统】课后作业解析【MOOC答案】
  4. linux操作系统进程间通信IPC之共享存储映射
  5. 安卓文件共享服务器,安卓文件共享云服务器
  6. php __FILE__,__CLASS__等魔术变量,及实例
  7. python脚本怎么打印日志_python 接口测试1 --如何创建和打印日志文件
  8. 详解如何在ubuntu上安装node.js
  9. poj 3026 BorgMaze 最小生成树Kruskal、Prim(Prim VS报错待解决
  10. mysql命令 show_mysql show 相关命令
  11. 配置企业管理系统,什么样的工作流才有用
  12. 在 Microsoft Windows Server 2008 R2 上安装 IE 11
  13. yocto的hello world
  14. 【关于NAT64的实现】
  15. word文档如何在方框内打钩
  16. div+css视频教程大全免费下载更有html5教程
  17. CTF 关于linux 7z解压的一点trick
  18. Android studio2.0在app中设置背景图片及添加图片资源
  19. mac数字键盘错乱_苹果电脑键盘打不出数字解决办法
  20. 高仿精仿微信客户端源码完整版

热门文章

  1. HTML_body中常用的标签部分
  2. ElasticSearch 7.X的基础教程二(Es安装教程)
  3. V2X方案之OBU介绍
  4. 计算机显示器的分辨率可以调节吗,电脑分辨率何如调?电脑无法调整屏幕分辨率怎么办?...
  5. 1148:连续出现的字符
  6. Android异常篇 Cannot access com.***...***.class
  7. convert bitset descriptor - cv::Mat
  8. 基因表达矩阵中排除表达量低的样本和基因
  9. 如何保证战略落地_如何真正让企业战略规划体系落地
  10. Python开源项目合集(网页框架)