Ansible---inventory 主机清单

一、inventory 主机清单

1.1、inventory介绍

hosts配置文件位置:/etc/ansible/hosts

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

1.2、inventory中的变量

Inventory变量名 含义
ansible_host ansible连接节点时的IP地址
ansible_port 连接对方的端口号,ssh连接时默认为22
ansible_user 连接对方主机时使用的主机名。不指定时,将使用执行ansible或ansible-playbook命令的用户
ansible_password 连接时的用户的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.3、主机变量

css 复制代码
写法1:
[james23]
192.168.10.101 ansible_port=22 ansible_user=root ansible_password=123
192.168.10.102 ansible_port=22 ansible_user=root ansible_password=123
#james23组中被控制端192.168.10.101的端口号为22登录时用户是root密码为123
 
写法2:
[james23]
192.168.10.10[1:2] ansible_port=22 ansible_user=root ansible_password=123
#如果是名称类似的主机,可以使用列表的方式标识各个主机
 
#不建立将密码直接写入配置,不安全
 
写法3:
[james23]
192.168.10.101:22
192.168.10.102:22
#默认ssh管理时的端口为22,若不是22则直接在被管理ip后加冒号和对应端口号

方法一:修改端口

css 复制代码
[james23]
192.168.10.101
192.168.10.102:1212

方法二

1.4、组变量

css 复制代码
[james23:vars]  #表示为webservers组内所有主机自定义变量
ansible_user=root
ansible_password=123
#表示webservers 组内所有主机定义变量控制时使用root账户密码为abc123

[all:vars]          #表示为所有组内的所有主机自定义变量
ansible_port=22
#表示为所有组的所有主机定义变量使用ssh远程管理时都是22端口

修改被控制端口为1212

检测

1.5、嵌套组

css 复制代码
[james23]
192.168.10.101
192.168.10.102

[kobe24]
192.168.10.10[3:4]

[webs:children]  #表示为webs主机组中包含了nginx和tomcat组内所有主机
james23
kobe24
#表示web组的成员即children的直译'孩子'包括nginx和httpd组

检测

总结

(1)Ansible其中一个比较鲜明的特性Agentless,即无Agent的存在,只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。

(2)Ansible的另一个比较鲜明的特性是它的绝大多数模块都具备幂等性(idempotence)。所谓幂等性,指的是多次操作或多次执行对系统资源的影响是一致的。

相关推荐
StarsGreen10 分钟前
libva在intel平台上的前端流程简介
linux
坤坤子吖3 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
青瓦梦滋3 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
沫璃染墨4 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven5 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
LabVIEW开发5 小时前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序
莫晓燚5 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器
咋的啥名都用不了呢~5 小时前
Linux项目部署5(安装Nginx的插件)
linux
CodeYp20195 小时前
第11讲:应用层协议 HTTP
linux·http
爱和冰阔落5 小时前
【Linux网络】JsonCpp 怎么实现序列化?从 Request/Response 到网络计算器消息设计
linux·运维·网络·php