【Ansible】之inventory主机清单

前言

本篇博客主要解释Ansible主机清单的相关配置知识

一、inventory 主机清单

Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。

如果是名称类似的主机,可以使用列表的方式表示各个主机。

复制代码
vim /etc/ansible/hosts
[dbservers]
192.168.166.12:2222	    	#冒号后定义远程连接端口,默认是ssh的22端口
192.168.166.1[1:3]			#范围是:192.168.109.131到192.168.109.133

[root@localhost ansible]# ansible all -a 'date'
192.168.166.13 | CHANGED | rc=0 >>
2025年 05月 09日 星期五 15:22:44 CST
192.168.166.12 | CHANGED | rc=0 >>
2025年 05月 09日 星期五 15:22:44 CST


[dbservers]
db-[a:f].example.org		#支持主机名匹配 a~f

二、inventory中的变量

|------------------------------|-------------------------------------------------------|
| Inventory变量名 | 含义 |
| ansible_host | ansible连接节点时的IP地址 |
| ansible_port | 连接对方的端口号,ssh连 接时默认为22 |
| ansible_user | 连接对方主机时使用的主机名。 不指定时,使用执行ansible或ansible-playbook命令的用户 |
| ansible_passwd | 连接时的用户的ssh密码,仅在未使用密钥对验证的情况下有效 |
| ansible_ssh_private_key_file | 指定密钥认证ssh连接时的私钥文件 |
| ansible_ssh_common_args | 提供给ssh、sftp、 scp命 令的额外参数 |
| ansible_become | 允许进行权限提升 |
| ansible_become_method | 指定提升权限的方式,例如可使用sudo/su/runas等方式 |
| ansible_become_user | 提升为哪个用户的权限,默认提升为root |
| ansible_become_password | 提升为指定用户权限时的密码 |

三、主机变量

Matlab 复制代码
#修改被管理客户端192.168.166.14 ssh配置文件17行修改端口号
systemctl stop firewalld.service
setenforce 0
vim /etc/ssh/sshd_config
Port 2222
systemctl restart sshd
#这台客户端我没有配置免密登录
#修改Ansible管理服务器主机清单配置文件
vim /etc/ansible/hosts
[zyz]
192.168.166.14 ansible_port=2222 ansible_user=root ansible_password=123
#不建立将密码直接写入配置,不安全
ansible zyz -a 'date'

四、组变量

Matlab 复制代码
#删除客户端已有的免密登录密钥文件
#客户端配置
cd
cd .ssh/
rm -rf authorized_keys
#ansible控制端配置
vim /etc/ansible/hosts
[webservers]
192.168.166.12
192.168.109.13
192.168.109.14
[webservers:vars]				
#表示为 webservers 组内所有主机定义变量
ansible_user=root
ansible_port=22
ansible_password=123

[root@localhost .ssh]# ansible webservers -a 'date'
192.168.166.14 | CHANGED | rc=0 >>
2025年 05月 12日 星期一 16:11:30 CST
192.168.166.12 | CHANGED | rc=0 >>
2025年 05月 12日 星期一 16:11:30 CST
192.168.166.13 | CHANGED | rc=0 >>
2025年 05月 12日 星期一 16:11:30 CST
[root@localhost .ssh]# 

五、组嵌套

Matlab 复制代码
vim /etc/ansible/hosts
[webservers]
192.168.166.11
192.168.166.12
192.168.166.13
[dbservers]
192.168.166.14 ansible_user=root ansible_password=123
[webservers:vars]
ansible_port=22
ansible_user=root
ansible_password=123
[groups:children]
webservers
dbservers

#表示为 webservers1 主机组中包含了webservers组和dbservers组内的所有主机

相关推荐
CALL158119098456 小时前
SVHC 247项与附录XVII限制物质,REACH测试项目有哪些?
运维·安全·安全性测试
flytalei6 小时前
Ubuntu 24.04 单节点 K3s 部署实践:从环境评估到故障排查与验收
linux·运维·ubuntu
CableTech_SQH6 小时前
行业运维新标杆:百盛3D全场景运维系统
运维·数据库·信息与通信·综合布线
程序猿老A7 小时前
云服务器ECS怎么配置多IP?
运维·服务器·tcp/ip
Canmag 兴隆磁性7 小时前
磁材包装产线自动化实践:自动定量装袋设备的原理、结构与选型思路
运维·自动化·永磁材料·包装
IDCPDU7 小时前
PDU 采集断网就丢数据?加一层本地缓存和补传逻辑
运维
云飞云共享云桌面7 小时前
钣金精密机械工厂:多工程师共享图形服务器,SolidWorks/UG 三维设计兼顾成本与数据安全
运维·服务器·人工智能·自动化·制造
行者-全栈开发8 小时前
【容器/虚拟化】CVE-2026-53359:Linux KVM Januscape 虚拟机逃逸漏洞修复指南(潜伏16年的云安全噩梦)
linux·运维·服务器·多租户隔离·cve-2026-53359·kvm虚拟机逃逸·shadow mmu
虎头金猫8 小时前
从上传PPT到观众远程打开互动页面:Claper在CentOS 7上的Docker部署、互动组件设置与固定访问地址实战
linux·运维·网络·人工智能·docker·centos·powerpoint
AI备忘录9 小时前
(二十五)华为华三锐捷迈普思科 ERPS 环网保护配置命令(G.8032 五厂商对照)
运维·服务器·网络·网络协议·华为