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)。所谓幂等性,指的是多次操作或多次执行对系统资源的影响是一致的。

相关推荐
远游客07131 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<1 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟1 小时前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
LIKEYYLL3 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3214 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3214 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
cominglately4 小时前
centos单机部署seata
linux·运维·centos
魏 无羡4 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse4 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos