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

相关推荐
笑锝没心没肺6 小时前
fail2ban工具安装配置及使用
linux·运维·服务器
zt1985q7 小时前
本地部署开源智能家居集成平台 ioBroker 并实现外部访问( Windows 版本)
运维·服务器·智能家居
大卡片7 小时前
linux内核驱动开发
linux·运维·驱动开发
心心喵8 小时前
[linux] nohup和pm2的区别 进程保活
linux·运维·服务器
醉熏的石头10 小时前
Ubuntu 中的编程语言(中)
linux·ubuntu·scala
dddwjzx13 小时前
嵌入式Linux C应用编程入门——信号
linux·嵌入式
范什么特西13 小时前
网络代理问题
java·linux·服务器
utf8mb4安全女神14 小时前
【Redis数据库】哨兵集群/redis集群/安装配置/主从复制/数据持久化操作/数据结构/安全限制/PHP redis/
linux·服务器·数据结构·数据库·redis·缓存
Zk.Sun14 小时前
Linux设置触屏双击距离容差
linux·运维·数据库
Let's Chat Coding14 小时前
对称密钥认证:主机和设备共享同一把密钥
运维·服务器·网络