ansible inventory配置
Ansible 使用称为清单的列表或列表组同时针对基础设施中的多个托管节点或“主机”进行工作。 定义清单后,您可以使用模式来选择您希望 Ansible 运行的主机或组。
清单的默认位置是一个名为 /etc/ansible/hosts 的文件。 您可以使用 -i <path> 选项在命令行指定不同的清单文件。 您还可以同时使用多个清单文件,和/或从动态或云源或不同格式(YAML、ini 等)提取清单,如使用动态清单中所述。 Ansible 在 2.4 版本中引入了 Inventory 插件,使其变得灵活且可定制。
基础hosts
192.168.32.75
[local] # 组名,该组包含以下主机
192.168.32.166
[web]
192.168.32.136
[lb]
192.168.32.[180:195] # 定义主机的数字范围
192.168.32.[20:30:2] # 定义主机的数字范围时指定步长(序列号之间的增量)
[db]
192.168.32.146
有两个默认组:
all和ungrouped。 all 组包含每个主机。 ungrouped的组包含除所有主机之外没有其他组的所有主机。 每个主机将始终属于至少 2 个组(all和ungrouped或all和group_names)。 尽管 all 和 ungrouped 始终存在,但它们可以是隐式的,不会出现在组列表中
配置子组
[mysql]
192.168.32.146
[redis]
192.168.32.147
# db组里面子组有mysql和redis
[db:children]
mysql
redis
组的变量
连接主机的相关参数说明,不建议直接使用密码方式,明文记录密码不安全。后面使用 authorized_key 批量分发密钥
| 参数名称 | 含义 |
|---|---|
| ansible_port | 连接端口 |
| ansible_user | ansible连接用户 |
| ansible_password | ansible连接用户的密码 |
| ansible_become | 相当于ansible_sudo或ansible_su,允许强制提权权限。yes, true, no, false |
| ansible_become_method | 提升权限类型。如 sudo, su, pfexec, doas, pbrun, dzdo, ksu, runas, machinectl,默认提升 sudo 权限 |
| ansible_become_user | 相当于ansible_sudo_user或ansible_su_user,允许设置您通过权限升级成为的用户,默认是 root 用户 |
| ansible_become_password | 相当于ansible_sudo_user或ansible_su_user,允许设置提权密码 |
注意:
ansible_become_method没有指定或指定为sudo, 需要ansible_user用户有sudo权限- 提升权限使用
su的话,ansible_become_password就填ansible_become_user对应用户密码;
提升权限使用sudo的话,ansible_become_password就填ansible_user对应用户密码
主机上设置连接方式
[local]
192.168.32.166 ansible_port=22 ansible_user=test ansible_password=test ansible_become=yes ansible_become_method=su ansible_become_user=ops ansible_become_password=ops
整个组都可以使用以下变量
[local:vars]
ansible_port=22
ansible_user=test
ansible_password=test
ansible_become=yes
ansible_become_method=su
ansible_become_user=ops
ansible_become_password=ops
官网文档:https://docs.ansible.com/ansible/2.10/user_guide/intro_inventory.html#

浙公网安备 33010602011771号