栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

ansible基础(一)-Inventory基础

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ansible基础(一)-Inventory基础

概述

        库存的默认位置是/etc/ansible/hosts。您还可以同时使用多个库存文件,或从动态源、云源不同格式(YAML、ini 等)中提取库存。使用ansible命令行时,可以使用-i 参数指定多个库存文件。

本文主要介绍清单文件的INI格式

INI格式 基础格式

这种格式比较少见,一般建议将机器进行分组。

192.168.1.100
192.168.1.101
192.168.1.102

分组格式

定义了两个分组lqgroup1、lqgroup2。单台机器可以出现在多个主机组中。

182.168.1.100

[lqgroup1]
192.168.1.1
182.168.1.2

[lqgroup2]
192.168.1.11
182.168.1.12

嵌套组

想将多个组中的机器合成一个组来使用。不需要把多个组中的机器再重新写道一个新组里。可以使用嵌套组来形成新的组。

格式 [组名:children]

[mastergroup:children]
lqgroup1
lqgroup2

[lqgroup1]
192.168.1.1
182.168.1.2

[lqgroup2]
192.168.1.11
182.168.1.12
  • 任何属于子组成员的主机都会自动成为父组的成员。

  • 组可以有多个父母和孩子,但不能有循环关系。

默认组

ansible有两个默认组:all、ungrouped

all                包含inventory中的所有机器

ungrouped  包含inventory中所有未被分组的机器

主机定义 添加主机组范围

可以将多台连续的主机添加为一个范围,而不是单独列出每个主机名。并且可以定义范围的步长:

[lqgroup1]
192.168.1[01:50]
www[01:50].example.com

[lqgroup2]
192.168.1[51:99:2]
www[51:99:2].example.com

主机变量 常用系统参数

ansible_ssh_user                        指定ssh用户

ansible_ssh_host                        指定ssh的主机

ansible_ssh_port                         指定ssh的端口

ansble_ssh_private_key_file       指定ssh key文件

host_key_checking=False           当第一次链接远程主机时,会提示yes/no。忽略跳过。

[my-etcd]
172.24.31.22 ansible_ssh_user=root ansible_ssh_private_key_file=/xx.pem ansible_become=true ansible_become_user=root
172.24.31.24 ansible_ssh_user=root ansible_ssh_private_key_file=/xx.pem ansible_become=true ansible_become_user=root
172.24.31.25 ansible_ssh_user=root ansible_ssh_private_key_file=/xx.pem ansible_become=true ansible_become_user=root

更多变量:How to build your inventory — Ansible Documentation

自定义变量
[atlanta]
host1 http_port=80 maxRequestsPerChild=808
host2 http_port=303 maxRequestsPerChild=909

分组变量

可以使用:vars定义主机组的变量

格式 [组名:vars]

[lqgroup1]
192.168.1.1
182.168.1.2

[lqgroup1:vars]
host_type=nginx
host_port=8888
  • 子组的变量将具有更高的优先级(覆盖)父组的变量。

变量如何合并?(优先级)

优先级从低到高:

  • all group (because it is the ‘parent’ of all other groups)

  • parent group

  • child group

  • host

        当要合并变量的组处于同一级时,默认情况下按ASCII顺序合并,后合并的分组会覆盖前面分组的变量。

        可以通过设置分组变量ansible_group_priority修改分组优先级。优先级越大时,分组合并发生越晚。默认优先级为1。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838014.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号