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

相关推荐
☼←安于亥时→❦42 分钟前
Linux 系统日志‘/var/log/syslog‘ 和 ‘/var/log/messages‘ 详解
linux
袁气满满~_~43 分钟前
Ubuntu下配置PyTorch
linux·pytorch·ubuntu
倦王1 小时前
Linux看ip,改用户名字加权限,在单独用户下设置miniconda
linux·服务器·tcp/ip
少废话h1 小时前
Flume Kafka源与汇的topic覆盖问题解决
java·linux·kafka·flume
qq_2153978971 小时前
docker 管理工具 Portainer安装
运维·服务器·docker
凤凰战士芭比Q2 小时前
Docker安装与常用命令
linux·运维·docker·容器
华哥啊.2 小时前
服务器安装node_exporter监测cpu以及内存相关情况
运维·服务器
ASKED_20192 小时前
常用 Linux 命令大全(文件、网络、时间、进程、数据库、工具全覆盖)
linux·网络·数据库
yuejich2 小时前
命名规范snake_case
服务器·前端·数据库
消失的旧时光-19433 小时前
Kotlinx.serialization 对多态对象(sealed class )支持更好用
java·服务器·前端