一、主机变量和主机组变量的演示

1、主机变量和主机组变量的基本语法和规则

请访问https://www.cnblogs.com/itwangqiang/p/13592362.html

2、首先在/etc/ansible/下创建清单文件

[root@localhost ~]# cat /etc/ansible/inventory
[test]
client.example.com

3、实例一:针对特定主机定义变量

1️⃣:首先在/etc/ansible目录下创建host_vars目录(注意:目录名必须是host_vars;且与清单文件所在目录相同)

[root@localhost ansible]# mkdir host_vars
[root@localhost ansible]# ls
ansible.cfg hosts host_vars inventory playbook.yaml roles

2️⃣:在host_vars创建与主机同名的文件(如果主机是IP地址,则文件名必须是IP地址)

[root@localhost ansible]# cd host_vars/
[root@localhost host_vars]# vim client.example.com
[root@localhost host_vars]# cat client.example.com
user: lisi
[root@localhost host_vars]# cat ../inventory
[test]
client.example.com
//文件名必须与主机的名字一样

3️⃣:编写playbook文件

[root@localhost ansible]# cat playbook.yaml
---
- hosts: client.example.com
tasks:
- name: create user
user:
name: "{{ user }}"
create_home: no
state: present

4️⃣:测试是否可执行

[root@localhost ansible]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg
├── hosts
├── host_vars
│   └── client.example.com
├── inventory
├── playbook.yaml
└── roles [root@localhost ansible]# ansible-playbook -C playbook.yaml PLAY [client.example.com] ************************************************************************************************************************************************* TASK [Gathering Facts] ****************************************************************************************************************************************************
ok: [client.example.com] TASK [create user] ********************************************************************************************************************************************************
changed: [client.example.com] PLAY RECAP ****************************************************************************************************************************************************************
client.example.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
//测试成功

4、实例二:针对主机组定义变量

(接着上面的操作) 

1️⃣:创建主机组清单文件

[root@localhost ansible]# cat inventory
[example]
client.example.com

2️⃣:在/etc/ansible文件在创建group_vars目录(注意:目录名必须是group_vars;且与清单文件所在目录相同)

[root@localhost ansible]# mkdir group_vars
[root@localhost ansible]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg
├── group_vars
├── hosts
├── inventory
├── playbook.yaml
└── roles

3️⃣:在group_vars目录下创建与主机组名称相同的文件

[root@localhost ansible]# cd group_vars/
[root@localhost group_vars]# vim example
[root@localhost group_vars]# cat example
user: lisi

4️⃣:测试是否可执行

[root@localhost ansible]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg
├── group_vars
│   └── example
├── hosts
├── inventory
├── playbook.yaml
└── roles [root@localhost ansible]# ansible-playbook -C playbook.yaml PLAY [client.example.com] ************************************************************************************************************************************************* TASK [Gathering Facts] ****************************************************************************************************************************************************
ok: [client.example.com] TASK [create user] ********************************************************************************************************************************************************
changed: [client.example.com] PLAY RECAP ****************************************************************************************************************************************************************
client.example.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
//测试成功

  

Ansible_主机变量和主机组变量的演示的更多相关文章

  1. zabbix 创建主机、主机群组、监控第一台服务器

    前面介绍了zabbix服务器和zabbix agent的安装配置,今天使用zabbix监控第一台服务器. 1. 安装zabbix agent 在被监控的服务器上安装zabbix agent . 参考& ...

  2. Ansible系列(六):各种变量定义方式和变量引用

    本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...

  3. Ansible系列(五):各种变量定义方式和变量引用

    Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.1 ansible facts facts组件是用来收集被管理节点信息的 ...

  4. 007.Ansible变量Fact,魔法变量和lookup生成变量

    一 fact变量 1.1  fact简介 ansible有一个模块叫setup,用于获取远程主机的相关信息,并可以将这些信息作为变量在playbook里进行调用.而setup模块获取这些信息的方法就是 ...

  5. 通过lua获取nginx的内置变量,通过这些变量做些逻辑的处理

    Nginx提供了很多内置的变量,如: $arg_PARAMETER 这个变量包含在查询字符串时GET请求PARAMETER的值. $args 这个变量等于请求行中的参数. $binary_remote ...

  6. 【环境变量】Linux 下三种方式设置环境变量与获取环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  7. 【转】nginx的模块变量(HTTP核心模块变量)

    nginx的HTTP核心模块引入了大量的变量,可以在指定范围内使用这些变量的值,可以分为三类:一是客户请求头中发送的变量.二是服务器端响应头中的变量,第三是nginx产生的各种变量,我们可以使用$变量 ...

  8. Linux设置环境变量小结:设置永久变量&临时变量 全局变量&局部变量

    1.总结背景 在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容.如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁 ...

  9. JavaScript | 新手村(一)变量,运算和变量方法

    资料来自:JavaScript 第一步 1. 向 html 页面添加 JavaScript 1.1 内部 JavaScript 在 html 文件中的 </body> 标签前插入代码: & ...

随机推荐

  1. JProfiler使用说明及常用案例分析

    1 配置远程连接 (1)启动JProfiler,选择Attach to a running JVM (2)选择Quick Attach,然后选择On another computer,然后选择Edit ...

  2. ubuntu16.04 安装opencv3.4.0

    参考 https://www.cnblogs.com/arkenstone/p/6490017.html https://blog.csdn.net/u013180339/article/detail ...

  3. Linux下屏幕亮度的调节

    1 概述 Linux下的屏幕调节可以通过图形界面或者命令行进行调节,图形界面的话主要就是在设置中进行调节,如果设置中没有相应的选项可以进行手动调节. 2 手动调节 2.1 手动屏幕调节 亮度由ACPI ...

  4. 004-Java中的运算符

    @ 目录 一.运算符 一.分类 二.算数运算符 三.关系运算符 四.逻辑运算符 五.赋值运算符 六.条件运算符(三目运算符) 七.+运算符 一.运算符 一.分类 二.算数运算符 加  $+$ 减  $ ...

  5. OO第四单元与全课程总结

    OO第四单元与全课程总结 一.作业代码架构设计 1.第一次作业 作业类图如下: 具体架构设计: 第一次作业的全部查询工作都是和类图有关,需要解决的主要问题就是如何解析原有UML类图数据的结构,并形成自 ...

  6. 1-web 服务器 框架。

    1.静态网页与动态网页 1.静态网页:无法与服务器进行交互的网页. 2.动态网页:能够与服务器进行交互的网页. 2.web与服务器 1.web:网页(HTML,CSS,JS) 2.服务器:能够给用户提 ...

  7. php和mysql数据库防SQL注入的有效解决办法

    <?php$mysqli = new mysqli("localhost", "my_user", "my_password", &q ...

  8. hdu 3062 基础的2sat

    题意: Party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. 路由协议之RIP

    目录 RIP协议 RIP的路由汇总和过滤 RIP的认证 RIP的防环机制 华为/思科中的配置 RIP协议 RIP协议是一种内部网关协议(IGP),底层是贝尔曼福特算法,是一种动态路由选择协议,用于自治 ...

  10. php、jsp、asp和aspx的区别

    目录 PHP JSP ASP ASP.NET PHP PHP是一种跨平台的服务器端的嵌入式脚本语言.它大量地借用C.Java 和 Perl 语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地 ...