在 Linux 系统中,要将新开的机器自动加入 Ansible 主机列表,可以使用以下方法:
在 Ansible 配置文件中,可以设置 host_discovery
选项为 True
,并指定一个或多个子网,以便自动发现子网中的主机。
[defaults]
host_discovery = True
[discovery]
subnets = 192.168.1.0/24, 192.168.2.0/24
这样,Ansible 会自动发现指定子网中的主机,并将它们添加到主机列表中。
可以使用脚本或程序来生成动态清单,以便将新开的机器自动添加到主机列表中。
例如,可以使用以下 Python 脚本来生成动态清单:
import os
# 获取所有主机名
hosts = os.popen('ls /etc/ansible/hosts/').read().strip().split('\n')
# 生成动态清单
inventory = {}
for host in hosts:
inventory[host] = {'hosts': [host]}
print(inventory)
这个脚本会读取 /etc/ansible/hosts/
目录下的所有主机名,并将它们添加到动态清单中。
可以使用外部脚本来将新开的机器自动添加到主机列表中。
例如,可以使用以下 Python 脚本来将新开的机器添加到主机列表中:
import os
# 获取新开的机器名
new_host = os.popen('ls /etc/ansible/hosts/').read().strip().split('\n')[-1]
# 将新开的机器添加到主机列表中
with open('/etc/ansible/hosts', 'a') as f:
f.write(new_host + '\n')
这个脚本会读取 /etc/ansible/hosts/
目录下的最新主机名,并将它添加到主机列表中。
总之,要将新开的机器自动加入 Ansible 主机列表,可以使用 Ansible 的自动发现功能、动态清单功能或外部脚本功能。这些方法可以帮助自动化管理和维护 Ansible 主机列表,提高工作效率和准确性。
领取专属 10元无门槛券
手把手带您无忧上云