Ansible Inventory 基础配置介绍

Ansible Inventory 介绍

目录

  • Ansible Inventory 介绍
    • 什么是Inventory?
    • 静态inventory配置
      • 环境配置介绍
        • 1. /etc/hosts 配置
        • 2. ssh免密配置
        • 3. /etc/ansible/hosts 配置

什么是Inventory?

Inventory 翻译过来就是库存, 清单, 商品清单的含义,如有你对Linux /etc/hosts比较熟悉,那么就可以把ansible的inventory(默认位置/etc/ansible/hosts)理解为主机名称的配置,只不过它比单纯的hosts文件有更丰富的语法支持。如果你对脚本或者某类编程语言比较数量,那你可以理解为变量名称=变量值的含义,变量名称的含义不就是为了更好记吗,inventory也是如此。

静态inventory配置

环境配置介绍

此处我们有三台虚拟机作为介绍的例子,账号使用root,操作系统为Centos7

主机名称 地址 作用
mn0 172.168.0.1/24 管理节点,可ssh无密登陆到其余两个节点1
node0 172.168.0.2/24 普通节点,mn0可直接ssh访问
node1 127.168.0.3/24 普通节点,mn0可直接ssh访问

1. /etc/hosts 配置

作为本地dns解析,这样我们就无须使用dns

# 管理
172.168.0.1 mn0
# 普通
172.168.0.2 node0
172.168.0.3 node1

此时通过ping命令判断自定义主机名称是否生效

	ping node0
	ping node1

2. ssh免密配置

	# mn0 生成公钥及私钥,若已经生成,则无须执行
	ssh-keygen
	# 将公钥拷贝到 node0及node1,此处要输入密码
	ssh-copy-id node0
	ssh-copy-id node1

3. /etc/ansible/hosts 配置

我们只有两台自服务器,此处将介绍其配置文件中提供的3种方式进行配置

	# 1. 直接使用我们在/etc/hosts中定义的主机名称/或直接使用ip地址
	node0
	node1
	172.168.0.2
	172.168.0.3
	# 2. 使用主机组进行配置
	[node] # 主机组名称
	node0
	node1
	# 3. 使用主机组加集合的方式配置
	[node_list]
	node[0:1] # 此处可以理解为一个数组,展开为node0,node1
	# 若为node[num1:num2] 则将会把主机名为node num1 到num2的所有数值包含在内,即将会有 num2-num1+1个主机名字

使用ansible ping命令操作测试

	ansible node0 -m ping # 单节点测试
	ansible node -m ping # 主机组测试
	ansible node_list -m ping # 主机组测试
  • 单节点node0 ssh服务正常且网络通畅的测试结果
node0 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
  • 主机组node[0-1] ssh服务正常且网络通畅的测试结果
node0 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

  1. 表示主机、虚拟服务器、服务器等 ↩︎

你可能感兴趣的:(运维)