参考链接:https://www.cnblogs.com/iois/p/6403761.html

ansible主机组的使用,我们在对一个集群进行管理的时候集群会有很多角色,在执行统一命令操作的时候我们需要对所有组进行批量操作,这个时候就需要我们的主机组了

1)主机组怎么配置呢?

Inventory文件遵循ini文件风格,[]标记分组,方便对机器列表的管理

vim /etc/ansible/hosts文件

#inventory file例子,可在这里添加主机名hostname或者ip地址

#未分组的主机,添加在最前面

122.19.45.201

hostname1

122.19.45.[1:10] #[1:10]表示所有1~10之间的数字,表示一组ip地址45.1、45.2、... #分组管理的主机,以便对不同主机进行不同的管理,同一主机可同时属于不同组

[test0] #组名

122.28.13.100

122.19.61.68:5030 #如果主机ssh端口不是22,可在地址后加:指定

[targets1]

localhost ansible_connection=local 122.28.13.10 ansible_connection=ssh ansible_ssh_user=user #指定连接类型和连接用户名

[targets2] #可配置主机变量

host1 http_port=80 host2 http_port=80 var2=xxx var3=xxx

[targets2:var] #添加关键字var,配置组变量,对属于该组的所有主机都适用

var4=xxx

var5=xxx

[targets3:children] #添加关键字children,把组作为其他组的子成员

targets1

targets2

2)主机组配置后怎么使用呢?

定义好inventory(资产)文件后,通过

1. 命令行: ansible <host-pattern> [options]

2. playbook: - hosts <host-pattern>

其中<host-pattern>部分指定对哪些机器或分组执行任务

ansible targets1 -m shell -a "hostname"

3)主机类别的正则匹配有哪些呢?

ansible支持主机列表的正则匹配

  • 全量: all/*
  • 逻辑或: :
  • 逻辑非: !
  • 逻辑与: &
  • 切片: []
  • 正则匹配: 以~开头

ansible all -m ping #所有默认inventory文件中的机器

ansible "*" -m ping #同上

ansible 121.28.13.* -m ping #所有122.28.13.X机器

ansible web1:web2 -m ping #所有属于组web1或属于web2的机器

ansible web1:!web2 -m ping #属于组web1,但不属于web2的机器

ansible web1&web2 -m ping #属于组web1又属于web2的机器

ansible webserver[0] -m ping #属于组webserver的第1台机器

ansible webserver[0:5] -m ping #属于组webserver的第1到4台机器

ansible "~(beta|web)\.example\.(com|org)" -m ping

ansible资产配置的更多相关文章

  1. Python调用ansible API系列(二)执行adhoc和playbook

    执行adhoc #!/usr/bin/env python # -*- coding: utf-8 -*- import sys from collections import namedtuple ...

  2. 如何利用ansible callback插件对执行结果进行解析

    最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...

  3. 《Ansible权威指南》笔记(2)——Inventory配置

    四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...

  4. useful Ansible commands

    This article includes some useful Ansible commands. I will try to write blogs by English. You may wa ...

  5. 《Ansible权威指南》笔记(4)——Playbook

    七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...

  6. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  7. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  8. 自动化运维工具ansible部署以及使用

    测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...

  9. Ansible Ubuntu 安装部署

    一.安装: $ sudo apt-get install ansible 二.配置: a.基本配置 $ cd /etc/ansible/ $ sudo cp hosts hosts_back 备份一个 ...

随机推荐

  1. 使用 pm2 优雅的部署 node 程序

    使用 pm2 优雅的部署 node 程序 # 启动并监控名字为 XXX 的 npm run start:dev 命令 pm2 start npm --watch --name XXX -- run s ...

  2. Linux环境——MySQL安装及配置(5.7版本)

    数据库安装包下载地址:https://dev.mysql.com/downloads/mysql/ 我的环境是Linux  Red Hat Enterprlse Linux (64位),本次安装的是M ...

  3. 剑指offer 14:链表中倒数第k个节点

    题目描述 输入一个链表,输出该链表中倒数第k个结点. /* public class ListNode { int val; ListNode next = null; ListNode(int va ...

  4. linux运行进程实时监控pidstat详解

  5. P2685 [TJOI2012]桥

    P2685 [TJOI2012]桥 思路: 先求出最短路: d1[u] : u 到 1 的最短路, d2[u] : u 到 n 的最短路 再求出一条从 1 到 n 的最短路链,然后从链上的每一个点出发 ...

  6. CMD命令:不是内部或者外部命令也不是可运行的程序或批处理文件

    [本文转自:https://blog.csdn.net/l_mloveforever/article/details/79513681] 前言:   相信有很多小伙伴都比较喜欢使用Command命令来 ...

  7. java,优先队列的用法

    像C++语言一样,java中,也有包装好的优先队列类PriorityQueue. 用法如下(模板代码): 工作安排问题: 问题描述:设有n件工作分配给n个人,将工作i分配给第j个人所需的费用为cij. ...

  8. 思科模拟器PacketTracer7-----2台PC通过交叉线互连

    实验二—3 实验工具:思科模拟器PacketTracer7(可在思科官网下载,免费) 实验设备: PC两台,交叉线 实验步骤: 一.配置网络拓扑图 二.配置PC0和PC1的IP地址,掩码和网关 四.通 ...

  9. MySQL数据库(1)

    你好,我是Sundy左左,一名初级数据分析师,我在建设一个属于初学者笔记的乐园,在这里我将自己学习的东西分享出来,也许对你有用也许对你没用,但都欢迎您指出我的错误和改进的地方.我是一个初级的数据分析师 ...

  10. HCharts随笔之简单入门

    此处可以对比我的另一个Echars简单入门 直接上源码 <!DOCTYPE html> <html> <head> <meta http-equiv=&quo ...