Ansible中的inventory主机清单(预祝你我有数不尽的鲜花和浪漫)

简介: Ansible中的inventory主机清单(预祝你我有数不尽的鲜花和浪漫)

前言


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


一、inventory 主机清单



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


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

vim /etc/ansible/hosts
[dbservers]
192.168.109.131:2222  #冒号后定义远程连接端口,默认是ssh的22端口
192.168.109.13[1:3]   #范围是:192.168.109.131到192.168.109.133
[root@ansible ansible]# ansible dbservers -a 'date'
192.168.109.133 | CHANGED | rc=0 >>
2022年 07月 06日 星期三 14:43:18 CST
192.168.109.132 | CHANGED | rc=0 >>
2022年 07月 06日 星期三 14:43:18 CST
192.168.109.131 | CHANGED | rc=0 >>
2022年 07月 06日 星期三 14:43:18 CST
[dbservers]
db-[a:f].example.org  #支持主机名匹配 a~f



1.1 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 提升为指定用户权限时的密码

1.2 主机变量

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




1.3 组变量

#删除客户端已有的免密登录密钥文件
#客户端配置
cd
cd .ssh/
rm -rf authorized_keys
#ansible控制端配置
vim /etc/ansible/hosts
[webservers]
192.168.109.131
192.168.109.132
192.168.109.133
[webservers:vars]    
#表示为 webservers 组内所有主机定义变量
ansible_user=root
ansible_password=123456
[root@ansible ansible]# ansible webservers -a 'date'
192.168.109.132 | CHANGED | rc=0 >>
2022年 07月 06日 星期三 17:34:46 CST
192.168.109.134 | CHANGED | rc=0 >>
2022年 07月 06日 星期三 17:34:46 CST
192.168.109.133 | CHANGED | rc=0 >>
2022年 07月 06日 星期三 17:34:46 CST
192.168.109.131 | CHANGED | rc=0 >>
2022年 07月 06日 星期三 17:34:46 CST



1.4 组嵌套

vim /etc/ansible/hosts
[webservers]
192.168.239.20
192.168.239.30
192.168.239.40
[webservers:vars]
ansible_user=root
ansible_password=1999612
[dbservers]
192.168.239.50:2222 ansible_user=root ansible_password=1999612
[webservers1:children]
webservers
dbserers
#表示为 webservers1 主机组中包含了webservers组和dbservers组内的所有主机


目录
相关文章
|
运维 Kubernetes 网络安全
Ansible自动化运维工具之主机管理与自定义配置文件(2)
Ansible自动化运维工具之主机管理与自定义配置文件(2)
147 0
|
7月前
|
关系型数据库 MySQL 网络安全
ansible 深入介绍之 主机清单与playbook
ansible 深入介绍之 主机清单与playbook
|
7月前
|
运维 关系型数据库 MySQL
Ansible自动化运维工具主机清单配置
Ansible自动化运维工具主机清单配置
179 0
|
7月前
|
网络协议 Shell
Ansible 学习笔记 - 定位主机和组的模式
Ansible 学习笔记 - 定位主机和组的模式
|
运维 监控
【运维知识进阶篇】Zabbix5.0稳定版详解10(Zabbix自动注册+Ansible自动部署,实现一条命令监控任意主机)
【运维知识进阶篇】Zabbix5.0稳定版详解10(Zabbix自动注册+Ansible自动部署,实现一条命令监控任意主机)
185 0
|
运维 Ubuntu 应用服务中间件
【运维知识进阶篇】Ansible自动化运维-Ansible安装与主机列表
【运维知识进阶篇】Ansible自动化运维-Ansible安装与主机列表
222 0
|
存储 JSON 安全
Ansible之 AWX 管理清单和凭据的一些笔记
写在前面 分享一些 AWX 创建清单和凭据的笔记 博文内容涉及: 创建静态清单,清单角色,变量的配置 创建凭据,凭据类型,角色等配置 使用创建清单和凭据运行 ad-hoc 的 Demo 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
291 0
Ansible之 AWX 管理清单和凭据的一些笔记
头疼:ansible坑之拷贝目录不报错,远程主机没有目录
头疼:ansible坑之拷贝目录不报错,远程主机没有目录
255 0
|
运维 项目管理
金鱼哥戏说RHCE认证:部署ansible--构建ansible主机清单
第二章 部署ansible--构建ansible主机清单
156 0
金鱼哥戏说RHCE认证:部署ansible--构建ansible主机清单
|
24天前
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。